2010-04-06 Jb Evain <jbevain@novell.com>
[mcs.git] / ilasm / tests / gen-meth1.il
blob0824f3066d3d9193981ece291a22d18a96dded9b
1 // Test: Use of !!A, gen param ref by name in method signature,
2 // or in constraints
4 .assembly extern mscorlib
6   .ver 2:0:0:0
8 .assembly 'gen-meth1'
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 meth1.dll
18   .class interface private auto ansi abstract IFoo`1<A>
19   {
20   }
22   .class private auto ansi beforefieldinit g`1<T>
23         extends [mscorlib]System.Object
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     .method public static  hidebysig 
36            default !!A foo<(class g`1<!!B>)A,B> (!!B _b, !T _t, !!A _a)  cil managed 
37     {
38         .maxstack 1
39         .locals init (
40                 !!A     V_0)
41         IL_0000:  ldloca.s 0
42         IL_0002:  initobj !!0
43         IL_0008:  ldloc.0 
44         IL_0009:  ret 
45     }
47     .method public static  hidebysig
48            default void meth1 ()  cil managed
49     {
50         .maxstack 4
51         .locals init (
52                 !T      V_0,
53                 !T[]    V_1)
54         IL_0000:  ldtoken !T
55         IL_0005:  call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
56         IL_000a:  call object class [mscorlib]System.Activator::CreateInstance(class [mscorlib]System.Type)
57         IL_000f:  unbox.any !0
58         IL_0014:  stloc.0
59         IL_0015:  ldc.i4.5
60         IL_0016:  newarr !0
61         IL_001b:  stloc.1
62         IL_001c:  ret
63     }
64   }