Lichen

tests/nested_mixed_names.py

71:701a83e828a0
2016-09-29 Paul Boddie Record assignment accesses to produce appropriate operations in the plan.
     1 class C:     2     def c(self):     3         return 1     4      5 class D:     6     def d(self):     7         return 3     8      9 a = 4    10     11 def f(x):    12     x.c()    13     def g(y, x=x): # x must be introduced as default here    14         if y:    15             x = D()    16         return x.d(), y, a # UnboundLocalError in Python (if y is a false value)    17     return g    18     19 result = f(C())(2)    20 assert result == (3, 2, 4)