1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/tests/attribute_access_type_restriction_new.py Mon Feb 08 01:05:23 2010 +0100
1.3 @@ -0,0 +1,37 @@
1.4 +#!/usr/bin/env python
1.5 +
1.6 +class C:
1.7 + def f(self):
1.8 + return 1
1.9 +
1.10 +class D:
1.11 + def f(self):
1.12 + return 2
1.13 +
1.14 + def g(self):
1.15 + return 3
1.16 +
1.17 +class E:
1.18 + def f(self):
1.19 + return 4
1.20 +
1.21 + def h(self): # unused
1.22 + return 5
1.23 +
1.24 +def test_new(obj, obj2):
1.25 + # obj: C, D, E (f)
1.26 + # obj2:
1.27 + if obj.f(): # C, D, E (f)
1.28 + obj = obj2 # obj: D (g)
1.29 + obj.g() # D (g)
1.30 + # else:
1.31 + # ... # obj: C, D, E (f)
1.32 + # # (g) ^ (f)
1.33 + return obj.f() # C, D, E (f)
1.34 +
1.35 +c = C()
1.36 +d = D()
1.37 +e = E()
1.38 +result2_2 = test_new(c, d)
1.39 +
1.40 +# vim: tabstop=4 expandtab shiftwidth=4