blob: f3d973630fdabab133a254de7dcae16812c926c6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
from director_nested import *
class A(FooBar_int):
def do_step(self):
return "A::do_step;"
def get_value(self):
return "A::get_value"
pass
a = A()
if a.step() != "Bar::step;Foo::advance;Bar::do_advance;A::do_step;":
raise RuntimeError, "Bad A virtual resolution"
class B(FooBar_int):
def do_advance(self):
return "B::do_advance;" + self.do_step()
def do_step(self):
return "B::do_step;"
def get_value(self):
return 1
pass
b = B()
if b.step() != "Bar::step;Foo::advance;B::do_advance;B::do_step;":
raise RuntimeError, "Bad B virtual resolution"
class C(FooBar_int):
def do_advance(self):
return "C::do_advance;" + FooBar_int.do_advance(self)
def do_step(self):
return "C::do_step;"
def get_value(self):
return 2
def get_name(self):
return FooBar_int.get_name(self) + " hello"
pass
cc = C()
c = FooBar_int_get_self(cc)
c.advance()
if c.get_name() != "FooBar::get_name hello":
raise RuntimeError
if c.name() != "FooBar::get_name hello":
raise RuntimeError
|