2008-09-07 | Paul Boddie | raw annotate files changeset graph | Tidied up the exception code generation to ensure that referenced exceptions are obtained. Fixed the exception handling in the RSVP implementation to test exceptions using the isinstance-like testing employed by the CheckSelf instruction. Introduced additional stacks to ensure that frames and return addresses are properly discarded. Added an "isinstance" flag to the object header details in order to support CheckFrame - this would be efficiently encoded, perhaps in the classcode field, in any low-level implementation. |
1 #!/usr/bin/env python 2 3 x = 123 4 5 def f(a, b, c=4): 6 pass 7 8 f(1, 2, 3) 9 f(1, b=2, c=3) 10 f(c=3, b=2, a=1) 11 f(1, 2) 12 13 g = f 14 g(1, c=3, b=2) 15 g(1, 2) 16 17 def g(a, c, b=5): 18 pass 19 20 g(1, c=3, b=2) 21 g(1, 3) 22 23 def h(a, b, c=f(1, 2, 3)): 24 pass 25 26 h(1, 2, 3) 27 h(1, 2) 28 29 # vim: tabstop=4 expandtab shiftwidth=4