2007-01-15 Miguel de Icaza <miguel@novell.com>
[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_assembly_in_fieldref () cil managed\r
324   {\r
325         .maxstack 8\r
326         ldc.i4.0\r
327         stsfld  int32 [t]X::a\r
328         ret\r
329   }\r
330 \r
331   .method public hidebysig static void missing_assembly_in_call () cil managed\r
332   {\r
333         .maxstack 8\r
334         call void class [t]Gtk.Application::Init()\r
335         ret\r
336   }\r
337 \r
338   .method public hidebysig static void missing_assembly_in_newobj () cil managed\r
339   {\r
340         .maxstack 8\r
341         newobj instance void class [mscorlib]System.Dingus::.ctor()\r
342         pop\r
343         ret\r
344   }\r
345 \r
346   .method public hidebysig static void missing_external_type_reference_on_parameter() cil managed\r
347   {\r
348     .maxstack 8\r
349     ldstr "Hello"\r
350     call void class [mscorlib]System.String::Trim([mscorlib]MissingType)\r
351     ret\r
352   }\r
353 \r
354   .method public hidebysig static void  missing_ldtoken_field() cil managed\r
355   {\r
356    \r
357     .maxstack  8\r
358     IL_0000:  nop\r
359     IL_0008:  ldtoken field int32 [t]Missing.Foo4::i\r
360     IL_0010:  pop\r
361     IL_0011:  ret\r
362   }\r
363 \r
364   .method public hidebysig static void  missing_ldvirtftn() cil managed\r
365   {\r
366    \r
367     .maxstack  3\r
368     .locals init (class [t]Missing.Foo5 V_0,\r
369              class EmptyDelegate V_1)\r
370     IL_0000:  nop\r
371     IL_0001:  newobj     instance void [t]Missing.Foo5::.ctor()\r
372     IL_0006:  stloc.0\r
373     IL_0007:  ldloc.0\r
374     IL_0008:  dup\r
375     IL_0009:  ldvirtftn  instance void [t]Missing.Foo5::missing_virtual()\r
376     IL_000f:  newobj     instance void EmptyDelegate::.ctor(object,\r
377                                                             native int)\r
378     IL_0014:  stloc.1\r
379     IL_0015:  ret\r
380   }\r
381 \r
382   .method public hidebysig static object missing_newarr_helper() cil managed\r
383   {\r
384    \r
385     .maxstack  1\r
386     .locals init (object V_0)\r
387     IL_0000:  nop\r
388     IL_0001:  ldc.i4.s   10\r
389     IL_0003:  newarr     [t]Missing.Foo1\r
390     IL_0008:  stloc.0\r
391     IL_0009:  br.s       IL_000b\r
392 \r
393     IL_000b:  ldloc.0\r
394     IL_000c:  ret\r
395   }\r
396 \r
397   .method public hidebysig static void  missing_newarr() cil managed\r
398   {\r
399    \r
400     .maxstack  8\r
401     IL_0000:  nop\r
402     IL_0001:  call       object LoadMissing::missing_newarr_helper()\r
403     IL_0006:  pop\r
404     IL_0007:  ret\r
405   }\r
406 \r
407   .method public hidebysig static void  missing_newobj() cil managed\r
408   {\r
409    \r
410     .maxstack  2\r
411     .locals init (class [t]Missing.Foo2 V_0)\r
412     IL_0000:  nop\r
413     IL_0001:  ldc.i4.5\r
414     IL_0002:  newobj     instance void [t]Missing.Foo2::.ctor(int32)\r
415     IL_0007:  stloc.0\r
416     IL_0008:  ret\r
417   }\r
418 \r
419   .method public hidebysig static void  missing_refanyval() cil managed\r
420   {\r
421    \r
422     .maxstack  2\r
423     .locals init (int32 v_0)\r
424 \r
425                 ldloca v_0\r
426                 mkrefany int32\r
427                 refanyval [t]Missing.Foo1\r
428                 pop\r
429                 ret\r
430         }\r
431 \r
432   .method public hidebysig static void  missing_sizeof() cil managed\r
433   {\r
434    \r
435     .maxstack  8\r
436     IL_0000:  nop\r
437     IL_0001:  sizeof    [t]Missing.Foo1\r
438     IL_0010:  pop\r
439     IL_0011:  ret\r
440   }\r
441 \r
442   .method public hidebysig static void  missing_stfld() cil managed\r
443   {\r
444    \r
445     .maxstack  2\r
446     .locals init (class [t]Missing.Foo4 V_0)\r
447     IL_0000:  nop\r
448     IL_0001:  newobj     instance void [t]Missing.Foo4::.ctor()\r
449     IL_0006:  stloc.0\r
450     IL_0007:  ldloc.0\r
451     IL_0008:  ldc.i4.5\r
452     IL_0009:  stfld      int32 [t]Missing.Foo4::i\r
453     IL_000e:  ret\r
454   }\r
455 \r
456   .method public hidebysig static void  missing_stsfld() cil managed\r
457   {\r
458    \r
459     .maxstack  8\r
460     IL_0000:  nop\r
461     IL_0001:  ldc.i4.5\r
462     IL_0002:  stsfld     int32 [t]Missing.Foo3::i\r
463     IL_0007:  ret\r
464   }\r
465 \r
466   .method public hidebysig static void missing_unbox () cil managed\r
467   {\r
468           .maxstack 8\r
469         \r
470           ldnull\r
471       unbox [t]Missing.Foo6\r
472       pop\r
473       ret\r
474   }     \r
475 \r
476   .method public hidebysig static void missing_unbox_any () cil managed\r
477   {\r
478           .maxstack 8\r
479         \r
480                 ldnull\r
481       unbox.any [t]Missing.Foo6\r
482       pop\r
483       ret\r
484   }     \r
485 \r
486         .method public hidebysig static void missing_local () cil managed\r
487         {\r
488                 .maxstack 8\r
489                 .locals init (class [t]Missing.Foo1 v_0)\r
490 \r
491                 ret\r
492         }       \r
493 \r
494   .method public hidebysig specialname rtspecialname \r
495           instance void  .ctor() cil managed\r
496   {\r
497    \r
498     .maxstack  8\r
499     IL_0000:  ldarg.0\r
500     IL_0001:  call       instance void [mscorlib]System.Object::.ctor()\r
501     IL_0006:  ret\r
502   }\r
503 \r
504 }\r