Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / tests / generic-constrained.2.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 'bla'
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 bla.exe // GUID = {B0BB2CAE-B57B-48F6-BDD2-2B93A6A7F57F}
16
17
18   .class interface public auto ansi abstract IGen`1<IGenT>
19   {
20
21     // method line 1
22     .method public virtual  hidebysig  newslot  abstract 
23            instance default int32 bla ()  cil managed 
24     {
25         // Method begins at RVA 0x0
26     } // end of method IGen`1::bla
27
28   } // end of class IGen`1
29
30   .class public sequential ansi sealed beforefieldinit Gen`1<GenT>
31         extends [mscorlib]System.ValueType
32         implements class IGen`1<!0>  {
33
34     // method line 2
35     .method public final  virtual  hidebysig  newslot 
36            instance default int32 bla ()  cil managed 
37     {
38         // Method begins at RVA 0x20ec
39         // Code size 3 (0x3)
40         .maxstack 8
41         IL_0000:  ldc.i4.s 0x7b
42         IL_0002:  ret 
43     } // end of method Gen`1::bla
44
45   } // end of class Gen`1
46
47   .class private auto ansi beforefieldinit A`2<S,T>
48         extends [mscorlib]System.Object
49   {
50
51     // method line 3
52     .method public hidebysig  specialname  rtspecialname 
53            instance default void '.ctor' ()  cil managed 
54     {
55         // Method begins at RVA 0x20f0
56         // Code size 7 (0x7)
57         .maxstack 8
58         IL_0000:  ldarg.0 
59         IL_0001:  call instance void object::'.ctor'()
60         IL_0006:  ret 
61     } // end of method A`2::.ctor
62
63     // method line 4
64     .method public hidebysig 
65            instance default int32 Foo (valuetype Gen`1<!T> t)  cil managed 
66     {
67         // Method begins at RVA 0x20f8
68         // Code size 8 (0x8)
69         .maxstack 8
70         IL_0000:  ldarga.s 1
71                   constrained. valuetype Gen`1<!T>
72         IL_0006:  callvirt instance int32 class IGen`1<!T>::bla()
73         IL_0007:  ret 
74     } // end of method A`2::Foo
75
76   } // end of class A`2
77
78   .class public auto ansi beforefieldinit main
79         extends [mscorlib]System.Object
80   {
81
82     // method line 5
83     .method public hidebysig  specialname  rtspecialname 
84            instance default void '.ctor' ()  cil managed 
85     {
86         // Method begins at RVA 0x2104
87         // Code size 7 (0x7)
88         .maxstack 8
89         IL_0000:  ldarg.0 
90         IL_0001:  call instance void object::'.ctor'()
91         IL_0006:  ret 
92     } // end of method main::.ctor
93
94     // method line 6
95     .method public static  hidebysig 
96            default int32 Main ()  cil managed 
97     {
98         // Method begins at RVA 0x210c
99         .entrypoint
100         // Code size 24 (0x18)
101         .maxstack 3
102         .locals init (
103                 valuetype Gen`1<string> V_0,
104                 class A`2<object, string>       V_1)
105         IL_0000:  ldloca.s 0
106         IL_0002:  initobj valuetype Gen`1<string>
107         IL_0008:  newobj instance void class A`2<object, string>::'.ctor'()
108         IL_000d:  stloc.1 
109         IL_000e:  ldloc.1 
110         IL_000f:  ldloc.0 
111         IL_0010:  callvirt instance int32 class A`2<object, string>::Foo(valuetype Gen`1<!1>)
112         IL_0015:  pop 
113         IL_0016:  ldc.i4.0 
114         IL_0017:  ret 
115     } // end of method main::Main
116
117   } // end of class main
118