Mercurial > projects > ldc
comparison tests/mini/s.d @ 807:d92acb81a583
Add interface minitest, rework s.d.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 30 Nov 2008 11:54:18 +0100 |
parents | 1bb99290e03a |
children |
comparison
equal
deleted
inserted
replaced
806:96b404ba7eb0 | 807:d92acb81a583 |
---|---|
50 auto c = new TheClassOne; | 50 auto c = new TheClassOne; |
51 { | 51 { |
52 auto ci = c.classinfo; | 52 auto ci = c.classinfo; |
53 printf("ci = %.*s\n", ci.name.length, ci.name.ptr); | 53 printf("ci = %.*s\n", ci.name.length, ci.name.ptr); |
54 printf("ci.interfaces.length = %lu\n", ci.interfaces.length); | 54 printf("ci.interfaces.length = %lu\n", ci.interfaces.length); |
55 printf("i[0] = %.*s\n", ci.interfaces[0].classinfo.name.length, ci.interfaces[0].classinfo.name.ptr); | 55 foreach (i, iface; ci.interfaces) |
56 printf("i[1] = %.*s\n", ci.interfaces[1].classinfo.name.length, ci.interfaces[1].classinfo.name.ptr); | 56 printf("i[%d] = %.*s\n", i, iface.classinfo.name.length, iface.classinfo.name.ptr); |
57 } | 57 } |
58 } | 58 } |
59 { | 59 { |
60 auto c = new TheClassTwo; | 60 auto c = new TheClassTwo; |
61 { | 61 { |
62 auto ci = c.classinfo; | 62 auto ci = c.classinfo; |
63 printf("ci = %.*s\n", ci.name.length, ci.name.ptr); | 63 printf("ci = %.*s\n", ci.name.length, ci.name.ptr); |
64 printf("ci.interfaces.length = %lu\n", ci.interfaces.length); | 64 printf("ci.interfaces.length = %lu\n", ci.interfaces.length); |
65 printf("i[0] = %.*s\n", ci.interfaces[0].classinfo.name.length, ci.interfaces[0].classinfo.name.ptr); | 65 foreach (i, iface; ci.interfaces) |
66 printf("i[1] = %.*s\n", ci.interfaces[1].classinfo.name.length, ci.interfaces[1].classinfo.name.ptr); | 66 printf("i[%d] = %.*s\n", i, iface.classinfo.name.length, iface.classinfo.name.ptr); |
67 printf("i[2] = %.*s\n", ci.interfaces[2].classinfo.name.length, ci.interfaces[2].classinfo.name.ptr); | |
68 } | 67 } |
69 auto i = cast(InterOne)c; | 68 InterOne i = c; |
70 { | 69 { |
71 auto ci = i.classinfo; | 70 auto ci = i.classinfo; |
72 printf("ci = %.*s\n", ci.name.length, ci.name.ptr); | 71 printf("ci = %.*s\n", ci.name.length, ci.name.ptr); |
73 } | 72 } |
74 auto i2 = cast(Inter2)i; | 73 auto i2 = cast(Inter2)c; |
75 { | 74 { |
76 auto ci = i2.classinfo; | 75 auto ci = i2.classinfo; |
77 printf("ci = %.*s\n", ci.name.length, ci.name.ptr); | 76 printf("ci = %.*s\n", ci.name.length, ci.name.ptr); |
78 } | 77 } |
79 auto o = cast(Object)i2; | 78 auto o = cast(Object)i2; |