2008-06-28 | Paul Boddie | raw annotate files changeset graph | Added exception handler variable definition support to the inspection process. Introduced frame position tracking in order to more accurately track and assign stack element usage, employing special methods to be used around function invocation code generation. Added some support for raise statement code generation. Simplified the remove_op_using_stack method and made more use of the actual stack element information found in StackLoad operations. Introduced a LoadResult instruction. Added a test of simple exception raising and handling. |
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