Merge pull request #3563 from lewurm/interpreter
[mono.git] / mcs / tests / test-60.cs
1 //
2 // Really lame test, but it should be fine for now
3 //
4 #define TEST
5
6 #region "dunno"
7 #endregion
8
9 #if FALSE
10         #region Fields
11                 #if B
12                         int a;
13                 #else
14                         bool a;
15                 #endif
16         #endregion
17 #endif
18
19 #if FLAG_FALSE
20         #pragma foo
21         namespace ns1
22 #else
23         #if FLAG_FALSE
24                         #if FLAG_FALSE
25                                 #error No error
26                                 namespace ns2
27                         #else
28                                 #line aa
29                                 namespace ns3
30                         #endif
31         #else
32                 #if FLAG_TRUE
33                         namespace ns4
34                 #elif FLAG_FALSE
35                         namespace ns41
36                 #else
37                         namespace ns5
38                 #endif
39         #endif
40 #endif
41 {
42         public class Y
43         {
44                 public Y()
45                 {
46                 }
47
48                 public void Run () {}
49         }
50 }
51
52 #if (X)
53 #endif
54
55 #if YY
56 //#errro this should not be printed // It used to compile under 1.x csc, but never under 2.x csc.
57 #if X
58 #elif Y
59 #else
60 #endif
61 #else
62 class X {
63         public static int Main ()
64         {
65 #if (TEST)
66                 ns5.Y y = new ns5.Y ();
67
68                 y.Run ();
69                 return 0;
70 #endif
71         }
72 }
73 #endif
74