annotate run/i/interface_23_C.d @ 1319:81222734adf3

sed'ed replacement of new:...http.d.puremagic.co... with http://d.puremagic.com/issues/show_bug.cgi?...
author thomask
date Sun, 31 Dec 2006 19:58:06 +0000
parents 47ef91337f5f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
931
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
1 // $HeadURL$
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
2 // $Date$
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
3 // $Author$
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
4
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
5 // @author@ <smjg@iname.com>
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
6 // @date@ 2006-03-22
1319
81222734adf3 sed'ed replacement of new:...http.d.puremagic.co... with http://d.puremagic.com/issues/show_bug.cgi?...
thomask
parents: 931
diff changeset
7 // @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=65
931
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
8
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
9 module dstress.run.i.interface_23_C;
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
10
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
11 int status;
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
12
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
13 interface I {
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
14 int showData();
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
15 }
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
16
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
17 class Parent {
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
18 I test() {
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
19 status += 7;
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
20 return new Child(42);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
21 }
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
22 }
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
23
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
24 class Child : Parent, I {
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
25 int data;
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
26
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
27 this(int d) {
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
28 data = d;
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
29 }
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
30
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
31 Child test() {
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
32 status += 1;
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
33 return new Child(69);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
34 }
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
35
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
36 int showData(){
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
37 return data;
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
38 }
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
39 }
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
40
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
41 int main() {
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
42 Child a = new Child(105);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
43 assert(a);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
44 assert(status == 0);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
45 assert(a.data == 105);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
46
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
47 Parent p = a;
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
48 assert(a);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
49 assert(status == 0);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
50
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
51 a.test();
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
52 assert(status == 1);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
53
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
54 I i = p.test();
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
55 assert(i);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
56 assert(status == 2);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
57
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
58 assert(a.data == 105);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
59 assert(a.showData() == 105);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
60 assert(i.showData() == 69);
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
61
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
62 return 0;
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
63 }
47ef91337f5f <smjg@iname.com>
thomask
parents:
diff changeset
64