2008-07-19 | Paul Boddie | raw annotate files changeset graph | Made methods to handle assignment expression values. Changed constant storage optimisations to consider sources. Introduced distinctions between some storage operations which use the current value (StoreTemp, StoreFrame, StoreResult) and others which use a source defined in a full assignment operation. Made class attribute assignment via self forbidden (removing StoreAddressContext). Added an unused results optimisation. Fixed attribute_load_instructions references. Improved instruction string representations to show source details where no inputs are defined. Made a failure version of the attributes test. |
1 #!/usr/bin/env python 2 3 class A: 4 def __init__(self, x): 5 self.x = x 6 7 def a(self): 8 pass 9 10 class B(A): 11 def b(self): 12 pass 13 14 class C(A, B): 15 def a(self): 16 pass 17 18 def b(self): 19 pass 20 21 def __init__(self, x, y): 22 self.x = x 23 self.y = y 24 25 class D: 26 def __init__(self, y): 27 self.y = y 28 29 class E(C, D): 30 pass 31 32 class F(A, D): 33 pass 34 35 # vim: tabstop=4 expandtab shiftwidth=4