2010-04-07 Jb Evain <jbevain@novell.com>
[mcs.git] / ilasm / tests / gen-meth2.il
blob9d2b47cb9aeb5bae6631aa12459786a2c85a2382
1 // Test : Using VAR/MVAR as class ref
2 // Eg. !!B as a constraint
4 .assembly extern mscorlib
6   .ver 2:0:0:0
8 .assembly 'gen-meth2'
10   .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() =  (
11                 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78   // ....T..WrapNonEx
12                 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01       ) // ceptionThrows.
14   .ver  0:0:0:0
16 .module meth2.dll
19   /* Incorrect, meaning-less code, but this is just to
20      check support for using VAR/MVAR as class refs */
21   .class private auto ansi beforefieldinit g`1<T>
22         extends !T
23         implements !T
24   {
26     .method public hidebysig  specialname  rtspecialname 
27            instance default void .ctor ()  cil managed 
28     {
29         .maxstack 8
30         IL_0000:  ldarg.0 
31         IL_0001:  call instance void object::.ctor()
32         IL_0006:  ret 
33     }
35     /* Using !!B as a constraint */
36     .method public static  hidebysig 
37            default !!A foo< (!!B) A,B> (!!B _b, !T _t, !!A _a)  cil managed 
38     {
39         .maxstack 1
40         .locals init (
41                 !!A     V_0)
42         IL_0000:  ldloca.s 0
43         IL_0002:  initobj !!0
44         IL_0008:  ldloc.0 
45         IL_0009:  ret 
46     }
48   }