2010-06-16 | Paul Boddie | raw annotate files changeset graph | Attempted to introduce a more conservative approach to visiting program units and collecting attributes. Moved the declaration of StopIteration into the inspection method for the "for" statement. Added module registration so that attribute collection successfully visits imported modules. |
1 #!/usr/bin/env python 2 3 class A: 4 def a(self): 5 return self.x # x not defined in this class, provided in subclasses 6 7 class B(A): 8 x = 123 # x provided here 9 10 class C(A): 11 def __init__(self, x): 12 self.x = x # x provided here 13 14 b = B() 15 c = C(456) 16 17 p = b.a() 18 q = c.a() 19 20 result_123 = p 21 result_456 = q 22 23 # vim: tabstop=4 expandtab shiftwidth=4