Move IL verifier test to the right folder.
[mono.git] / mono / tests / metadata-verifier / badrt-recursive-struct.il
1 .assembly extern mscorlib
2 {
3   .ver 2:0:0:0
4   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
5 }
6 .assembly 'test'
7 {
8   .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() =  (
9                 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78   // ....T..WrapNonEx
10                 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01       ) // ceptionThrows.
11
12   .hash algorithm 0x00008004
13   .ver  0:0:0:0
14 }
15 .module test.exe // GUID = {732E02C2-108F-4B9D-BF92-FF55756E2922}
16
17
18   .class private sequential ansi sealed beforefieldinit Bar
19         extends [mscorlib]System.ValueType
20   {
21     .field  private  int32 x
22
23   } // end of class Bar
24
25   .class private sequential ansi sealed beforefieldinit Foo
26         extends [mscorlib]System.ValueType
27   {
28     .field  private  valuetype Foo x
29
30   } // end of class Foo
31
32   .class private sequential ansi sealed beforefieldinit Mutual0
33         extends [mscorlib]System.ValueType
34   {
35     .field  private  valuetype Mutual1 x
36
37   } // end of class Mutual0
38
39   .class private sequential ansi sealed beforefieldinit Mutual1
40         extends [mscorlib]System.ValueType
41   {
42     .field  private  valuetype Mutual0 x
43
44   } // end of class Mutual1
45
46   .class public auto ansi beforefieldinit Driver
47         extends [mscorlib]System.Object
48   {
49
50     // method line 1
51     .method public hidebysig  specialname  rtspecialname 
52            instance default void '.ctor' ()  cil managed 
53     {
54         // Method begins at RVA 0x20ec
55         // Code size 7 (0x7)
56         .maxstack 8
57         IL_0000:  ldarg.0 
58         IL_0001:  call instance void object::'.ctor'()
59         IL_0006:  ret 
60     } // end of method Driver::.ctor
61
62     // method line 2
63     .method private static  hidebysig 
64            default int32 Test0 ()  cil managed 
65     {
66         // Method begins at RVA 0x20f4
67         // Code size 29 (0x1d)
68         .maxstack 2
69         .locals init (
70                 valuetype Foo   V_0,
71                 object  V_1)
72         IL_0000:  ldloca.s 0
73         IL_0002:  initobj Foo
74         IL_0008:  ldloc.0 
75         IL_0009:  box Foo
76         IL_000e:  stloc.1 
77         IL_000f:  ldloc.1 
78         IL_0010:  brfalse IL_001b
79
80         IL_0015:  ldc.i4.1 
81         IL_0016:  br IL_001c
82
83         IL_001b:  ldc.i4.0 
84         IL_001c:  ret 
85     } // end of method Driver::Test0
86
87     // method line 3
88     .method private static  hidebysig 
89            default int32 Test1 ()  cil managed 
90     {
91         // Method begins at RVA 0x2120
92         // Code size 29 (0x1d)
93         .maxstack 2
94         .locals init (
95                 valuetype Mutual0       V_0,
96                 object  V_1)
97         IL_0000:  ldloca.s 0
98         IL_0002:  initobj Mutual0
99         IL_0008:  ldloc.0 
100         IL_0009:  box Mutual0
101         IL_000e:  stloc.1 
102         IL_000f:  ldloc.1 
103         IL_0010:  brfalse IL_001b
104
105         IL_0015:  ldc.i4.1 
106         IL_0016:  br IL_001c
107
108         IL_001b:  ldc.i4.0 
109         IL_001c:  ret 
110     } // end of method Driver::Test1
111
112     // method line 4
113     .method private static  hidebysig 
114            default int32 Test2 ()  cil managed 
115     {
116         // Method begins at RVA 0x214c
117         // Code size 29 (0x1d)
118         .maxstack 2
119         .locals init (
120                 valuetype Mutual1       V_0,
121                 object  V_1)
122         IL_0000:  ldloca.s 0
123         IL_0002:  initobj Mutual1
124         IL_0008:  ldloc.0 
125         IL_0009:  box Mutual1
126         IL_000e:  stloc.1 
127         IL_000f:  ldloc.1 
128         IL_0010:  brfalse IL_001b
129
130         IL_0015:  ldc.i4.1 
131         IL_0016:  br IL_001c
132
133         IL_001b:  ldc.i4.0 
134         IL_001c:  ret 
135     } // end of method Driver::Test2
136
137     // method line 5
138     .method private static  hidebysig 
139            default int32 Main ()  cil managed 
140     {
141         // Method begins at RVA 0x2178
142         .entrypoint
143         // Code size 76 (0x4c)
144         .maxstack 5
145         .locals init (
146                 int32   V_0)
147         .try { // 2
148           IL_0000:  call int32 class Driver::Test0()
149           IL_0005:  pop 
150           IL_0006:  ldc.i4.1 
151           IL_0007:  stloc.0 
152           IL_0008:  leave IL_004a
153
154           IL_000d:  leave IL_0018
155
156         } // end .try 2
157         catch class [mscorlib]System.TypeLoadException { // 2
158           IL_0012:  pop 
159           IL_0013:  leave IL_0018
160
161         } // end handler 2
162         .try { // 1
163           IL_0018:  call int32 class Driver::Test1()
164           IL_001d:  pop 
165           IL_001e:  ldc.i4.2 
166           IL_001f:  stloc.0 
167           IL_0020:  leave IL_004a
168
169           IL_0025:  leave IL_0030
170
171         } // end .try 1
172         catch class [mscorlib]System.TypeLoadException { // 1
173           IL_002a:  pop 
174           IL_002b:  leave IL_0030
175
176         } // end handler 1
177         .try { // 0
178           IL_0030:  call int32 class Driver::Test2()
179           IL_0035:  pop 
180           IL_0036:  ldc.i4.3 
181           IL_0037:  stloc.0 
182           IL_0038:  leave IL_004a
183
184           IL_003d:  leave IL_0048
185
186         } // end .try 0
187         catch class [mscorlib]System.TypeLoadException { // 0
188           IL_0042:  pop 
189           IL_0043:  leave IL_0048
190
191         } // end handler 0
192         IL_0048:  ldc.i4.0 
193         IL_0049:  ret 
194         IL_004a:  ldloc.0 
195         IL_004b:  ret 
196     } // end of method Driver::Main
197
198   } // end of class Driver
199