2017-01-21 | Paul Boddie | file changeset files shortlog | Made class and function instance __name__ attributes leafnames, introducing a separate __mname__ attribute on classes and function instances to help support the reproduction of the full path of those objects. Updated the visitor example to use the __name__ attributes of node classes instead of special name attributes. |
paul@2 | 1 | a = 4 |
paul@2 | 2 | |
paul@2 | 3 | def f(x): |
paul@2 | 4 | if not x: |
paul@2 | 5 | def g(y): |
paul@2 | 6 | return x, y, a |
paul@2 | 7 | return g # UnboundLocalError: not defined if x is true |
paul@2 | 8 | |
paul@2 | 9 | result = f(1)(2) |
paul@2 | 10 | assert result == (1, 2, 4) |