Lichen

tests/nested_mixed_names.py

118:900d641f42d6
2016-10-20 Paul Boddie Added some more support for generating invocation code, distinguishing between static invocation targets that are identified and whose functions can be obtained directly and other kinds of targets whose functions must be obtained via the special attribute.
     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)