2013-10-08 | Paul Boddie | file changeset files shortlog | Supported relative imports in report output; made get_module_name a common function. | syspython-as-target |
paul@539 | 1 | #!/usr/bin/env python |
paul@539 | 2 | |
paul@539 | 3 | class C: |
paul@539 | 4 | def __init__(self): |
paul@539 | 5 | self.visitor = self |
paul@539 | 6 | |
paul@539 | 7 | def default(self, node): |
paul@539 | 8 | return 123 |
paul@539 | 9 | |
paul@539 | 10 | def dispatch(self, node): |
paul@539 | 11 | try: |
paul@539 | 12 | return node.visit(self.visitor) |
paul@539 | 13 | except AttributeError: |
paul@539 | 14 | return self.visitor.default(node) |
paul@539 | 15 | |
paul@539 | 16 | class N: |
paul@539 | 17 | def visit(self, visitor): |
paul@539 | 18 | return 456 |
paul@539 | 19 | |
paul@539 | 20 | c = C() |
paul@539 | 21 | n = N() |
paul@539 | 22 | result_456 = c.dispatch(n) |
paul@539 | 23 | |
paul@539 | 24 | # vim: tabstop=4 expandtab shiftwidth=4 |