Collapse else: if: ... into elif:
diff --git a/Demo/parser/unparse.py b/Demo/parser/unparse.py
index 6e4ef63..03dd9e1 100644
--- a/Demo/parser/unparse.py
+++ b/Demo/parser/unparse.py
@@ -256,9 +256,18 @@
self.fill("if ")
self.dispatch(t.test)
self.enter()
- # XXX elif?
self.dispatch(t.body)
self.leave()
+ # collapse nested ifs into equivalent elifs.
+ while (t.orelse and len(t.orelse) == 1 and
+ isinstance(t.orelse[0], ast.If)):
+ t = t.orelse[0]
+ self.fill("elif ")
+ self.dispatch(t.test)
+ self.enter()
+ self.dispatch(t.body)
+ self.leave()
+ # final else
if t.orelse:
self.fill("else")
self.enter()