annotate tests/mini/interface8.d @ 1138:4c8bb03e4fbc

Update DtoConstFP() to be correct after LLVM r67562, which changed the way the APFloat constructor expects its i80 APInts to be formatted. (They're now actually consistent with the x87 format)
author Frits van Bommel <fvbommel wxs.nl>
date Tue, 24 Mar 2009 15:24:59 +0100
parents d92acb81a583
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
807
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
1 interface InputStream
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
2 {
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
3 void foo();
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
4 }
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
5
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
6 interface OutputStream
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
7 {
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
8 void bar();
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
9 }
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
10
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
11 interface IConduit : InputStream, OutputStream
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
12 {
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
13 abstract uint bufferSize();
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
14 }
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
15
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
16 class Conduit : IConduit
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
17 {
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
18 abstract uint bufferSize();
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
19 abstract void foo();
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
20 abstract void bar();
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
21 }
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
22
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
23 interface Selectable
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
24 {
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
25 void car();
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
26 }
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
27
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
28 class DeviceConduit : Conduit, Selectable
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
29 {
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
30 override uint bufferSize ()
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
31 {
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
32 return 1024 * 16;
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
33 }
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
34 override void foo() {}
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
35 override void bar() {}
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
36 override void car() {}
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
37 int handle;
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
38 }
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
39
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
40 class ConsoleConduit : DeviceConduit
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
41 {
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
42 override void foo() {}
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
43 bool redirected;
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
44 }
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
45
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
46 class OtherConduit : Conduit
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
47 {
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
48 abstract uint bufferSize();
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
49 override void foo() {}
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
50 override void bar() {}
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
51 }
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
52
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
53 void main()
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
54 {
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
55 auto c = new ConsoleConduit;
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
56 IConduit ci = c;
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
57 assert(c.bufferSize == ci.bufferSize);
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
58 }
d92acb81a583 Add interface minitest, rework s.d.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
59