annotate tests/mini/nested6a.d @ 370:051ab876fe11 trunk

[svn r391] Fix classes nested inside functions for real.
author ChristianK
date Tue, 15 Jul 2008 10:23:50 +0200
parents
children 45a67b6f1310
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
370
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
1 module nested6a;
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
2 extern(C) int printf(char*, ...);
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
3
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
4 void main()
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
5 {
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
6 int i = 42;
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
7
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
8 printf("main() %d\n", i++);
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
9
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
10 class C
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
11 {
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
12 int j;
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
13 void func()
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
14 {
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
15 int k;
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
16 printf("C.func() %d\n", i++);
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
17
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
18 class C2
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
19 {
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
20 int l;
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
21 void func2()
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
22 {
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
23 printf("C2.func2() %d\n", i++);
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
24 }
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
25 int m;
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
26 }
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
27
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
28 {
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
29 scope c2 = new C2;
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
30 c2.func2();
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
31 }
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
32 int n;
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
33 }
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
34 int o;
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
35 }
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
36
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
37 scope c = new C;
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
38 c.func();
051ab876fe11 [svn r391] Fix classes nested inside functions for real.
ChristianK
parents:
diff changeset
39 }