2017-02-21 | Paul Boddie | raw annotate files changeset graph | Only copy changed template files and only generate updated program files, removing the "make clean" invocation and permitting incremental builds. Changed constant labelling to employ content digests so that constant names remain stable and do not confuse already-generated code. | method-wrapper-for-context |
1 class C: 2 def f(self, x, y, z): 3 return z 4 5 class D: 6 def f(self, a, b, c): 7 return c 8 9 def xyz(obj): 10 return obj.f(1, 2, z=3) 11 12 def abc(obj): 13 return obj.f(4, 5, c=6) 14 15 c = C() 16 d = D() 17 18 print xyz(c) # 3 19 print abc(d) # 6 20 21 try: 22 print xyz(d) # should raise an exception 23 except TypeError: 24 print "xyz(d): argument cannot be used"