| 490 | self.traverse(node.orelse) |
| 491 | |
| 492 | def visit_If(self, node): |
| 493 | self.fill("if ", allow_semicolon=False) |
| 494 | self.traverse(node.test) |
| 495 | with self.block(): |
| 496 | self.traverse(node.body) |
| 497 | # collapse nested ifs into equivalent elifs. |
| 498 | while node.orelse and len(node.orelse) == 1 and isinstance(node.orelse[0], If): |
| 499 | node = node.orelse[0] |
| 500 | self.fill("elif ", allow_semicolon=False) |
| 501 | self.traverse(node.test) |
| 502 | with self.block(): |
| 503 | self.traverse(node.body) |
| 504 | # final else |
| 505 | if node.orelse: |
| 506 | self.fill("else", allow_semicolon=False) |
| 507 | with self.block(): |
| 508 | self.traverse(node.orelse) |
| 509 | |
| 510 | def visit_While(self, node): |
| 511 | self.fill("while ", allow_semicolon=False) |