annotate tests/mini/s.d @ 984:4c0df37d0421

Removing ldc.conf. (IMPORTANT: run 'cmake .' after pull) Added it to .hgignore. This gets rid of spurious differences caused by CMake regenerating it differently. Just run 'cmake .' to get it back in your local checkout.
author Frits van Bommel <fvbommel wxs.nl>
date Thu, 19 Feb 2009 13:50:05 +0100
parents d92acb81a583
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
138
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
1 module s;
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
2
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
3 interface Inter
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
4 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
5 void inter();
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
6 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
7
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
8 interface Inter2
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
9 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
10 void inter2();
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
11 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
12
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
13 interface InterOne : Inter
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
14 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
15 void interOne();
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
16 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
17
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
18 abstract class ClassAbstract : InterOne
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
19 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
20 abstract void inter();
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
21 abstract void interOne();
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
22 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
23
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
24 class TheClassOne : ClassAbstract
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
25 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
26 void inter()
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
27 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
28 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
29 void interOne()
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
30 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
31 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
32 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
33
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
34 class TheClassTwo : TheClassOne, Inter2
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
35 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
36 long l;
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
37 double d;
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
38
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
39 void inter2()
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
40 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
41 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
42 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
43
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
44 extern(C) int printf(char*, ...);
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
45
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
46 void main()
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
47 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
48 printf("classinfo test\n");
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
49 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
50 auto c = new TheClassOne;
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
51 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
52 auto ci = c.classinfo;
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
53 printf("ci = %.*s\n", ci.name.length, ci.name.ptr);
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
54 printf("ci.interfaces.length = %lu\n", ci.interfaces.length);
807
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents: 341
diff changeset
55 foreach (i, iface; ci.interfaces)
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents: 341
diff changeset
56 printf("i[%d] = %.*s\n", i, iface.classinfo.name.length, iface.classinfo.name.ptr);
138
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
57 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
58 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
59 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
60 auto c = new TheClassTwo;
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
61 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
62 auto ci = c.classinfo;
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
63 printf("ci = %.*s\n", ci.name.length, ci.name.ptr);
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
64 printf("ci.interfaces.length = %lu\n", ci.interfaces.length);
807
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents: 341
diff changeset
65 foreach (i, iface; ci.interfaces)
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents: 341
diff changeset
66 printf("i[%d] = %.*s\n", i, iface.classinfo.name.length, iface.classinfo.name.ptr);
138
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
67 }
807
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents: 341
diff changeset
68 InterOne i = c;
138
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
69 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
70 auto ci = i.classinfo;
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
71 printf("ci = %.*s\n", ci.name.length, ci.name.ptr);
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
72 }
807
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents: 341
diff changeset
73 auto i2 = cast(Inter2)c;
138
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
74 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
75 auto ci = i2.classinfo;
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
76 printf("ci = %.*s\n", ci.name.length, ci.name.ptr);
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
77 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
78 auto o = cast(Object)i2;
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
79 {
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
80 auto ci = o.classinfo;
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
81 printf("ci = %.*s\n", ci.name.length, ci.name.ptr);
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
82 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
83 }
aeddd4d533b3 [svn r142] minor fix to dynamic casts.
lindquist
parents:
diff changeset
84 }