2009-06-01 | Paul Boddie | raw annotate files changeset graph | Moved context verification back into the invocation code, as opposed to residing in the function body code. This is required because keyword arguments need to operate on adjusted frames, and such adjustments must therefore occur because keyword arguments are stored in their invocation frames. Renamed CheckClassContext to the more general CheckClass instruction. Made AdjustFrame operate on invocation frames again. Introduced explicit tests for class invocation since instantiators require an extra slot for each new instance. Fixed the "if" statement to employ conversion of expression results to boolean values. Split and improved test programs. |
1 #!/usr/bin/env python 2 3 class C: 4 pass 5 6 class D: 7 def __init__(self): 8 pass 9 10 class E: 11 def __init__(self, x): 12 pass 13 14 class F: 15 def __init__(self, x=1): 16 pass 17 18 c = C() 19 X = C 20 x = X() 21 d = D() 22 e = E(1) 23 f = F() 24 f = F(2) 25 X = F 26 x = X() 27 28 # vim: tabstop=4 expandtab shiftwidth=4