2010-06-11 | Paul Boddie | raw annotate files changeset graph | Replaced the native mechanism for list initialisation with a Python-based list.__init__ method and a simplified native method for initialising the initial list fragment. Introduced automatic namespace traversal of __init__ attributes for any namespace providing such attributes. Unfortunately, this inflates the program size substantially and needs to be reviewed. Enabled proper testing of xrange instances using the updated support for list initialisation. |
1 #!/usr/bin/env python 2 3 class B: 4 def __init__(self, y): 5 self.y = y 6 def m(self, x): 7 return x 8 9 class A: 10 m1 = B.m 11 def __init__(self, b): 12 self.m2 = B.m 13 self.m3 = b.m 14 15 b = B(789) 16 a = A(b) 17 result_123 = A.m1(b, 123) # A.m1 is unbound 18 result_234 = a.m1(b, 234) # a.m1 is unbound 19 result_345 = a.m2(b, 345) # a.m2 is unbound 20 result_456 = a.m3(456) # a.m3 is bound to b 21 22 # vim: tabstop=4 expandtab shiftwidth=4