New test.
[mono.git] / mono / tests / load-missing.il
1 //\r
2 // load-missing.il: Helper class used by load-exceptions.cs\r
3 //\r
4 \r
5 .assembly extern mscorlib\r
6 {\r
7   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )\r
8   .ver 2:0:0:0\r
9 }\r
10 .assembly extern t\r
11 {\r
12   .ver 0:0:0:0\r
13 }\r
14 \r
15 .assembly 'load-missing'\r
16 {\r
17   .hash algorithm 0x00008004\r
18   .ver 0:0:0:0\r
19 }\r
20 .custom instance void [mscorlib]System.Security.UnverifiableCodeAttribute::.ctor() = ( 01 00 00 00 ) \r
21 .imagebase 0x00400000\r
22 .file alignment 0x00000200\r
23 .subsystem 0x0003       // WINDOWS_CUI\r
24 .corflags 0x00000001    //  ILONLY\r
25 // Image base: 0x03310000\r
26 \r
27   .class auto ansi sealed public EmptyDelegate\r
28          extends [mscorlib]System.MulticastDelegate\r
29   {\r
30     .method public hidebysig specialname rtspecialname \r
31             instance void  .ctor(object 'object',\r
32                                  native int 'method') runtime managed\r
33     {\r
34     }\r
35 \r
36     .method public hidebysig newslot virtual \r
37             instance void  Invoke() runtime managed\r
38     {\r
39     }\r
40 \r
41     .method public hidebysig newslot virtual \r
42             instance class [mscorlib]System.IAsyncResult \r
43             BeginInvoke(class [mscorlib]System.AsyncCallback callback,\r
44                         object 'object') runtime managed\r
45     {\r
46     }\r
47 \r
48     .method public hidebysig newslot virtual \r
49             instance void  EndInvoke(class [mscorlib]System.IAsyncResult result) runtime managed\r
50     {\r
51     }\r
52 \r
53   }\r
54 \r
55 .class public auto ansi beforefieldinit LoadMissing\r
56        extends [mscorlib]System.Object\r
57 {\r
58 \r
59   .method public hidebysig static void  missing_class() cil managed\r
60   {\r
61    \r
62     .maxstack  1\r
63     .locals init (class [t]Missing.Foo1 V_0)\r
64     IL_0000:  nop\r
65     IL_0001:  newobj     instance void [t]Missing.Foo1::.ctor()\r
66     IL_0006:  stloc.0\r
67     IL_0007:  ret\r
68   }\r
69 \r
70   .method public hidebysig static void  missing_method() cil managed\r
71   {\r
72    \r
73     .maxstack  1\r
74     .locals init (class [t]Missing.Foo2 V_0)\r
75     IL_0000:  nop\r
76     IL_0001:  newobj     instance void [t]Missing.Foo2::.ctor()\r
77     IL_0006:  stloc.0\r
78     IL_0007:  ldloc.0\r
79     IL_0008:  callvirt   instance void [t]Missing.Foo2::missing()\r
80     IL_000d:  nop\r
81     IL_000e:  ret\r
82   }\r
83 \r
84   .method public hidebysig static void  missing_ctor() cil managed\r
85   {\r
86    \r
87     .maxstack  2\r
88     .locals init (class [t]Missing.Foo2 V_0)\r
89     IL_0000:  nop\r
90     IL_0001:  ldc.i4.5\r
91     IL_0002:  newobj     instance void [t]Missing.Foo2::.ctor(int32)\r
92     IL_0007:  stloc.0\r
93     IL_0008:  ret\r
94   }\r
95 \r
96   .method public hidebysig static void  missing_call() cil managed\r
97   {\r
98    \r
99     .maxstack  1\r
100     .locals init (class [t]Missing.Foo2 V_0)\r
101     IL_0000:  nop\r
102     IL_0001:  newobj     instance void [t]Missing.Foo2::.ctor()\r
103     IL_0006:  stloc.0\r
104     IL_0007:  ldloc.0\r
105     IL_0008:  callvirt   instance void [t]Missing.Foo2::missing()\r
106     IL_000d:  nop\r
107     IL_000e:  ret\r
108   }\r
109 \r
110   .method public hidebysig static void  missing_jmp() cil managed\r
111   {\r
112    \r
113     .maxstack  1\r
114     .locals init (class [t]Missing.Foo2 V_0)\r
115 \r
116         jmp void [t]Missing.Foo2::static_missing ()\r
117   }\r
118 \r
119   .method public hidebysig static void  missing_ldftn() cil managed\r
120   {\r
121    \r
122     .maxstack  3\r
123     .locals init (class [t]Missing.Foo2 V_0,\r
124              class EmptyDelegate V_1)\r
125     IL_0000:  nop\r
126     IL_0001:  newobj     instance void [t]Missing.Foo2::.ctor()\r
127     IL_0006:  stloc.0\r
128     IL_0007:  ldloc.0\r
129     IL_0008:  ldftn      instance void [t]Missing.Foo2::missing()\r
130     IL_000e:  newobj     instance void EmptyDelegate::.ctor(object,\r
131                                                             native int)\r
132     IL_0013:  stloc.1\r
133     IL_0014:  ret\r
134   }\r
135 \r
136   .method public hidebysig static void  missing_callvirt() cil managed\r
137   {\r
138    \r
139     .maxstack  1\r
140     .locals init (class [t]Missing.Foo5 V_0)\r
141     IL_0000:  nop\r
142     IL_0001:  newobj     instance void [t]Missing.Foo5::.ctor()\r
143     IL_0006:  stloc.0\r
144     IL_0007:  ldloc.0\r
145     IL_0008:  callvirt   instance void [t]Missing.Foo5::missing_virtual()\r
146     IL_000d:  nop\r
147     IL_000e:  ret\r
148   }\r
149 \r
150   .method public hidebysig static object \r
151           missing_castclass_helper(object o) cil managed\r
152   {\r
153    \r
154     .maxstack  1\r
155     .locals init (object V_0)\r
156     IL_0000:  nop\r
157     IL_0001:  ldarg.0\r
158     IL_0002:  castclass  [t]Missing.Foo1\r
159     IL_0007:  stloc.0\r
160     IL_0008:  br.s       IL_000a\r
161 \r
162     IL_000a:  ldloc.0\r
163     IL_000b:  ret\r
164   }\r
165 \r
166   .method public hidebysig static void\r
167           missing_castclass() cil managed\r
168   {\r
169    \r
170     .maxstack  1\r
171     .locals init (object V_0)\r
172 \r
173                 ldnull\r
174         call       object LoadMissing::missing_castclass_helper(object)\r
175                 pop\r
176                 ret\r
177   }\r
178 \r
179         .method public hidebysig static void\r
180                                         missing_cpobj () cil managed\r
181         {\r
182                 .maxstack 8\r
183                 .locals init (object v_0, object v_1)\r
184 \r
185                 ldloca v_0\r
186                 ldloca v_1\r
187                 cpobj [t]Missing.Foo1\r
188                 ret\r
189         }\r
190 \r
191         .method public hidebysig static void\r
192                                         missing_initobj () cil managed\r
193         {\r
194                 .maxstack 8\r
195                 .locals init (object v_0)\r
196 \r
197                 ldloca v_0\r
198                 initobj [t]Missing.Foo1\r
199                 ret\r
200         }\r
201 \r
202   .method public hidebysig static bool  missing_isinst_helper(object o) cil managed\r
203   {\r
204    \r
205     .maxstack  2\r
206     .locals init (bool V_0)\r
207     IL_0000:  nop\r
208     IL_0001:  ldarg.0\r
209     IL_0002:  isinst     [t]Missing.Foo1\r
210     IL_0007:  ldnull\r
211     IL_0008:  cgt.un\r
212     IL_000a:  stloc.0\r
213     IL_000b:  br.s       IL_000d\r
214 \r
215     IL_000d:  ldloc.0\r
216     IL_000e:  ret\r
217   }\r
218 \r
219   .method public hidebysig static void\r
220           missing_isinst() cil managed\r
221   {\r
222    \r
223     .maxstack  1\r
224     .locals init (object V_0)\r
225 \r
226                 ldnull\r
227         call       bool LoadMissing::missing_isinst_helper(object)\r
228                 pop\r
229                 ret\r
230   }\r
231 \r
232   .method public hidebysig static void  missing_ldfld() cil managed\r
233   {\r
234    \r
235     .maxstack  1\r
236     .locals init (class [t]Missing.Foo4 V_0,\r
237              int32 V_1)\r
238     IL_0000:  nop\r
239     IL_0001:  newobj     instance void [t]Missing.Foo4::.ctor()\r
240     IL_0006:  stloc.0\r
241     IL_0007:  ldloc.0\r
242     IL_0008:  ldfld     int32 [t]Missing.Foo4::i\r
243     IL_000d:  stloc.1\r
244     IL_000e:  nop\r
245     IL_000f:  nop\r
246     IL_0013:  ret\r
247   }\r
248 \r
249   .method public hidebysig static void  missing_ldflda() cil managed\r
250   {\r
251    \r
252     .maxstack  1\r
253     .locals init (class [t]Missing.Foo4 V_0,\r
254              int32& pinned V_1)\r
255     IL_0000:  nop\r
256     IL_0001:  newobj     instance void [t]Missing.Foo4::.ctor()\r
257     IL_0006:  stloc.0\r
258     IL_0007:  ldloc.0\r
259     IL_0008:  ldflda     int32 [t]Missing.Foo4::i\r
260     IL_000d:  stloc.1\r
261     IL_000e:  nop\r
262     IL_000f:  nop\r
263     IL_0010:  ldc.i4.0\r
264     IL_0011:  conv.u\r
265     IL_0012:  stloc.1\r
266     IL_0013:  ret\r
267   }\r
268 \r
269   .method public hidebysig static void  missing_ldsfld() cil managed\r
270   {\r
271    \r
272     .maxstack  1\r
273     .locals init (int32 V_0)\r
274     IL_0000:  nop\r
275     IL_0001:  ldsfld    int32 [t]Missing.Foo3::i\r
276     IL_0006:  stloc.0\r
277     IL_0007:  nop\r
278     IL_0008:  nop\r
279     IL_0009:  ldc.i4.0\r
280     IL_000a:  conv.u\r
281     IL_000b:  stloc.0\r
282     IL_000c:  ret\r
283   }\r
284 \r
285   .method public hidebysig static void  missing_ldsflda() cil managed\r
286   {\r
287    \r
288     .maxstack  1\r
289     .locals init (int32& pinned V_0)\r
290     IL_0000:  nop\r
291     IL_0001:  ldsflda    int32 [t]Missing.Foo3::i\r
292     IL_0006:  stloc.0\r
293     IL_0007:  nop\r
294     IL_0008:  nop\r
295     IL_0009:  ldc.i4.0\r
296     IL_000a:  conv.u\r
297     IL_000b:  stloc.0\r
298     IL_000c:  ret\r
299   }\r
300 \r
301   .method public hidebysig static void  missing_ldtoken_type() cil managed\r
302   {\r
303    \r
304     .maxstack  8\r
305     IL_0000:  nop\r
306     IL_0001:  ldtoken    [t]Missing.Foo1\r
307     IL_0006:  call       class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)\r
308     IL_000b:  call       void [mscorlib]System.Console::WriteLine(object)\r
309     IL_0010:  nop\r
310     IL_0011:  ret\r
311   }\r
312 \r
313   .method public hidebysig static void  missing_ldtoken_method() cil managed\r
314   {\r
315    \r
316     .maxstack  8\r
317     IL_0000:  nop\r
318     IL_0008:  ldtoken method instance void [t]Missing.Foo2::missing()\r
319     IL_0010:  pop\r
320     IL_0011:  ret\r
321   }\r
322 \r
323   .method public hidebysig static void  missing_ldtoken_field() cil managed\r
324   {\r
325    \r
326     .maxstack  8\r
327     IL_0000:  nop\r
328     IL_0008:  ldtoken field int32 [t]Missing.Foo4::i\r
329     IL_0010:  pop\r
330     IL_0011:  ret\r
331   }\r
332 \r
333   .method public hidebysig static void  missing_ldvirtftn() cil managed\r
334   {\r
335    \r
336     .maxstack  3\r
337     .locals init (class [t]Missing.Foo5 V_0,\r
338              class EmptyDelegate V_1)\r
339     IL_0000:  nop\r
340     IL_0001:  newobj     instance void [t]Missing.Foo5::.ctor()\r
341     IL_0006:  stloc.0\r
342     IL_0007:  ldloc.0\r
343     IL_0008:  dup\r
344     IL_0009:  ldvirtftn  instance void [t]Missing.Foo5::missing_virtual()\r
345     IL_000f:  newobj     instance void EmptyDelegate::.ctor(object,\r
346                                                             native int)\r
347     IL_0014:  stloc.1\r
348     IL_0015:  ret\r
349   }\r
350 \r
351   .method public hidebysig static object missing_newarr_helper() cil managed\r
352   {\r
353    \r
354     .maxstack  1\r
355     .locals init (object V_0)\r
356     IL_0000:  nop\r
357     IL_0001:  ldc.i4.s   10\r
358     IL_0003:  newarr     [t]Missing.Foo1\r
359     IL_0008:  stloc.0\r
360     IL_0009:  br.s       IL_000b\r
361 \r
362     IL_000b:  ldloc.0\r
363     IL_000c:  ret\r
364   }\r
365 \r
366   .method public hidebysig static void  missing_newarr() cil managed\r
367   {\r
368    \r
369     .maxstack  8\r
370     IL_0000:  nop\r
371     IL_0001:  call       object LoadMissing::missing_newarr_helper()\r
372     IL_0006:  pop\r
373     IL_0007:  ret\r
374   }\r
375 \r
376   .method public hidebysig static void  missing_newobj() cil managed\r
377   {\r
378    \r
379     .maxstack  2\r
380     .locals init (class [t]Missing.Foo2 V_0)\r
381     IL_0000:  nop\r
382     IL_0001:  ldc.i4.5\r
383     IL_0002:  newobj     instance void [t]Missing.Foo2::.ctor(int32)\r
384     IL_0007:  stloc.0\r
385     IL_0008:  ret\r
386   }\r
387 \r
388   .method public hidebysig static void  missing_refanyval() cil managed\r
389   {\r
390    \r
391     .maxstack  2\r
392     .locals init (int32 v_0)\r
393 \r
394                 ldloca v_0\r
395                 mkrefany int32\r
396                 refanyval [t]Missing.Foo1\r
397                 pop\r
398                 ret\r
399         }\r
400 \r
401   .method public hidebysig static void  missing_sizeof() cil managed\r
402   {\r
403    \r
404     .maxstack  8\r
405     IL_0000:  nop\r
406     IL_0001:  sizeof    [t]Missing.Foo1\r
407     IL_0010:  pop\r
408     IL_0011:  ret\r
409   }\r
410 \r
411   .method public hidebysig static void  missing_stfld() cil managed\r
412   {\r
413    \r
414     .maxstack  2\r
415     .locals init (class [t]Missing.Foo4 V_0)\r
416     IL_0000:  nop\r
417     IL_0001:  newobj     instance void [t]Missing.Foo4::.ctor()\r
418     IL_0006:  stloc.0\r
419     IL_0007:  ldloc.0\r
420     IL_0008:  ldc.i4.5\r
421     IL_0009:  stfld      int32 [t]Missing.Foo4::i\r
422     IL_000e:  ret\r
423   }\r
424 \r
425   .method public hidebysig static void  missing_stsfld() cil managed\r
426   {\r
427    \r
428     .maxstack  8\r
429     IL_0000:  nop\r
430     IL_0001:  ldc.i4.5\r
431     IL_0002:  stsfld     int32 [t]Missing.Foo3::i\r
432     IL_0007:  ret\r
433   }\r
434 \r
435   .method public hidebysig static void missing_unbox () cil managed\r
436   {\r
437           .maxstack 8\r
438         \r
439           ldnull\r
440       unbox [t]Missing.Foo6\r
441       pop\r
442       ret\r
443   }     \r
444 \r
445   .method public hidebysig static void missing_unbox_any () cil managed\r
446   {\r
447           .maxstack 8\r
448         \r
449                 ldnull\r
450       unbox.any [t]Missing.Foo6\r
451       pop\r
452       ret\r
453   }     \r
454 \r
455         .method public hidebysig static void missing_local () cil managed\r
456         {\r
457                 .maxstack 8\r
458                 .locals init (class [t]Missing.Foo1 v_0)\r
459 \r
460                 ret\r
461         }       \r
462 \r
463   .method public hidebysig specialname rtspecialname \r
464           instance void  .ctor() cil managed\r
465   {\r
466    \r
467     .maxstack  8\r
468     IL_0000:  ldarg.0\r
469     IL_0001:  call       instance void [mscorlib]System.Object::.ctor()\r
470     IL_0006:  ret\r
471   }\r
472 \r
473 }\r