annotate test/classes5.d @ 127:facc562f5674 trunk

[svn r131] Fixed #11 All associative array properties now work as they should. Fixed problems with some cases of array.length and array.ptr. Fixed some problems with array properties. Fixed 'in' contracts.
author lindquist
date Fri, 30 Nov 2007 12:56:52 +0100
parents 5e69b77a5c51
children d9d5d59873d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
1 module classes5;
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
2
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
3 struct S
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
4 {
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
5 long l;
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
6 }
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
7
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
8 class C
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
9 {
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
10 C c;
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
11 S s;
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
12 }
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
13
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
14 void main()
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
15 {
8
5e69b77a5c51 [svn r12] fixed accessing aggregate fields of aggregates
lindquist
parents: 6
diff changeset
16 C c = new C;
5e69b77a5c51 [svn r12] fixed accessing aggregate fields of aggregates
lindquist
parents: 6
diff changeset
17 long* lp = void;
5e69b77a5c51 [svn r12] fixed accessing aggregate fields of aggregates
lindquist
parents: 6
diff changeset
18 {c.s.l = 64;}
5e69b77a5c51 [svn r12] fixed accessing aggregate fields of aggregates
lindquist
parents: 6
diff changeset
19 {assert(c.s.l == 64);}
5e69b77a5c51 [svn r12] fixed accessing aggregate fields of aggregates
lindquist
parents: 6
diff changeset
20 {lp = &c.s.l;}
5e69b77a5c51 [svn r12] fixed accessing aggregate fields of aggregates
lindquist
parents: 6
diff changeset
21 {assert(*lp == 64);}
5e69b77a5c51 [svn r12] fixed accessing aggregate fields of aggregates
lindquist
parents: 6
diff changeset
22 printf("classes5 success\n");
6
35d93ce68cf4 [svn r10] Updated for LLVM rev. 20070913
lindquist
parents:
diff changeset
23 }