2009-06-07 | Paul Boddie | raw annotate files changeset graph | Changed the code body location initialisation in the code generation activity to set either a specific location or a symbolic reference to a native function or class (employing an instantiator). Fixed the "for" loop iterator storage and exception handling. Made xrange raise a StopIteration instance, short of adding class detection into RaiseException. Made code generation produce instantiators for StopIteration and BaseException, with the latter also providing attribute/size information in the builtins module. Added more integer operations in the RSVP implementation. |
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