2013-05-01 | Paul Boddie | file changeset files shortlog | Added a missing dispatch to attribute access expression nodes. | syspython-as-target |
paul@46 | 1 | #!/usr/bin/env python |
paul@46 | 2 | |
paul@46 | 3 | class A: |
paul@46 | 4 | def __init__(self, x): |
paul@46 | 5 | self.x = x |
paul@46 | 6 | |
paul@46 | 7 | def a(self): |
paul@394 | 8 | return self.x |
paul@46 | 9 | |
paul@46 | 10 | class B(A): |
paul@46 | 11 | def b(self): |
paul@394 | 12 | return 2 |
paul@46 | 13 | |
paul@46 | 14 | class C(A, B): |
paul@49 | 15 | def a(self): |
paul@394 | 16 | return self.y |
paul@49 | 17 | |
paul@49 | 18 | def b(self): |
paul@394 | 19 | return self.a() |
paul@394 | 20 | |
paul@394 | 21 | def c(self): |
paul@394 | 22 | return A.a(self) |
paul@49 | 23 | |
paul@46 | 24 | def __init__(self, x, y): |
paul@46 | 25 | self.x = x |
paul@46 | 26 | self.y = y |
paul@46 | 27 | |
paul@46 | 28 | class D: |
paul@46 | 29 | def __init__(self, y): |
paul@394 | 30 | self.z = y |
paul@394 | 31 | |
paul@394 | 32 | def a(self): |
paul@394 | 33 | return self.z |
paul@46 | 34 | |
paul@46 | 35 | class E(C, D): |
paul@46 | 36 | pass |
paul@46 | 37 | |
paul@46 | 38 | class F(A, D): |
paul@46 | 39 | pass |
paul@46 | 40 | |
paul@394 | 41 | a = A(1) |
paul@394 | 42 | b = B(1) |
paul@394 | 43 | c = C(1, 2) |
paul@394 | 44 | d = D(3) |
paul@394 | 45 | e = E(3, 4) |
paul@394 | 46 | f = F(5) |
paul@394 | 47 | |
paul@394 | 48 | result1_1 = a.a() |
paul@394 | 49 | result1_2 = b.b() |
paul@394 | 50 | result2_2 = c.a() |
paul@394 | 51 | result3_2 = c.b() |
paul@394 | 52 | result2_1 = c.c() |
paul@394 | 53 | result_3 = d.a() |
paul@394 | 54 | result_4 = e.a() |
paul@394 | 55 | result_5 = f.a() |
paul@394 | 56 | |
paul@46 | 57 | # vim: tabstop=4 expandtab shiftwidth=4 |