2012-07-01 | Paul Boddie | raw annotate files changeset graph | Added support for value assignments in general attribute name declarations. Changed the handling of globals in functions to use general attribute name declarations (the assertion of a name being used in isolation) instead of attribute usage observations (where combinations of names are used to deduce more specific types). |
1 #!/usr/bin/env python 2 3 class C: 4 clsattr = 123 5 clsattr2 = 456 6 7 class D: 8 clsattr = 321 9 10 def f(cls, x): 11 cls.clsattr = 789 12 if x: 13 cls.clsattr2 = 234 14 15 f(C, 1) 16 f(D, 0) # prevent AttributeError 17 18 result1_789 = C.clsattr 19 result1_234 = C.clsattr2 20 result2_789 = D.clsattr 21 22 # vim: tabstop=4 expandtab shiftwidth=4