2009-01-26 | Paul Boddie | raw annotate files changeset graph | Fixed the output representation of Block instances. Added support for some native methods, changing the invocation mechanism to use a special dictionary for mapping method names to method implementations. Moved run-time constant initialisation into the RSVPMachine class. Fixed the CheckException instruction, made _CheckInstance return a value, added a _MakeObject method. Added notes about the current solution for instance/class compatibility testing. |
1 #!/usr/bin/env python 2 3 import imported 4 5 imported.attr # cannot assign to this 6 7 m = imported 8 imported.a # cannot assign to this 9 m.a # cannot assign to this (m is known) 10 11 class C: # hack: make an attribute called y known to the system 12 y = None # hack: this prevents compilation errors with the statements 13 # hack: below 14 15 n = None 16 n = imported 17 n.a = 1 # not detected due to reassignment of n 18 n.y = 2 # not detected due to reassignment of n 19 n.y = 3 # not detected due to reassignment of n 20 21 # vim: tabstop=4 expandtab shiftwidth=4