New tests.
[mono.git] / mono / tests / verifier / unverifiable_ginst_dont_reduce_to_gparam_with_constraint.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 'gtest-314'
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 'gtest-314.exe' // GUID = {EDD5A7C2-306C-4E1F-985D-43A143A3ED18}
16
17
18 .namespace test
19 {
20   .class public auto ansi beforefieldinit App
21         extends [mscorlib]System.Object
22   {
23     .method public hidebysig  specialname  rtspecialname 
24            instance default void '.ctor' ()  cil managed 
25     {
26         // Method begins at RVA 0x20ec
27         // Code size 7 (0x7)
28         .maxstack 8
29         IL_0000:  ldarg.0 
30         IL_0001:  call instance void object::'.ctor'()
31         IL_0006:  ret 
32     } // end of method App::.ctor
33
34     // method line 2
35     .method public static  hidebysig 
36            default void Main ()  cil managed 
37     {
38         // Method begins at RVA 0x20f4
39         .entrypoint
40         // Code size 20 (0x14)
41         .maxstack 3
42         .locals init (
43                 class test.Blarg        V_0,
44                 class test.Bla  V_1)
45         IL_0000:  newobj instance void class test.Blarg::'.ctor'()
46         IL_0005:  stloc.0 
47         IL_0006:  newobj instance void class test.Bla::'.ctor'()
48         IL_000b:  stloc.1 
49         IL_000c:  ldloc.0 
50         IL_000d:  ldloc.1 
51         IL_000e:  callvirt instance void class test.OtherClass`2<class test.Blarg, class test.Bla>::Test(!1)
52         IL_0013:  ret 
53     }
54   }
55 }
56
57 .namespace test
58 {
59   .class private auto ansi beforefieldinit Bla
60         extends class test.ThisClass`2<class test.Bla,class test.Blarg>
61   {
62
63     // method line 3
64     .method public hidebysig  specialname  rtspecialname 
65            instance default void '.ctor' ()  cil managed 
66     {
67         // Method begins at RVA 0x2114
68         // Code size 7 (0x7)
69         .maxstack 8
70         IL_0000:  ldarg.0 
71         IL_0001:  call instance void class test.ThisClass`2<class test.Bla, class test.Blarg>::'.ctor'()
72         IL_0006:  ret 
73     } // end of method Bla::.ctor
74
75   } // end of class test.Bla
76 }
77
78 .namespace test
79 {
80   .class private auto ansi beforefieldinit Blarg
81         extends class test.OtherClass`2<class test.Blarg,class test.Bla>
82   {
83
84     // method line 4
85     .method public hidebysig  specialname  rtspecialname 
86            instance default void '.ctor' ()  cil managed 
87     {
88         // Method begins at RVA 0x211c
89         // Code size 7 (0x7)
90         .maxstack 8
91         IL_0000:  ldarg.0 
92         IL_0001:  call instance void class test.OtherClass`2<class test.Blarg, class test.Bla>::'.ctor'()
93         IL_0006:  ret 
94     } // end of method Blarg::.ctor
95
96   } // end of class test.Blarg
97 }
98
99 .namespace test
100 {
101   .class public auto ansi beforefieldinit ThisClass`2<(class test.ThisClass`2<!T, !O>) T,(class test.OtherClass`2<!O, !T>) O>
102         extends [mscorlib]System.Object
103   {
104     .field  assembly  int32 dummy
105
106     // method line 5
107     .method public hidebysig  specialname  rtspecialname 
108            instance default void '.ctor' ()  cil managed 
109     {
110         // Method begins at RVA 0x2124
111         // Code size 7 (0x7)
112         .maxstack 8
113         IL_0000:  ldarg.0 
114         IL_0001:  call instance void object::'.ctor'()
115         IL_0006:  ret 
116     } // end of method ThisClass`2::.ctor
117
118   } // end of class test.ThisClass`2
119 }
120
121 .namespace test
122 {
123   .class public auto ansi beforefieldinit OtherClass`2<(class test.OtherClass`2<!O, !T>) O,(class test.ThisClass`2<!T, !O>) T>
124         extends [mscorlib]System.Object
125   {
126
127     // method line 6
128     .method public hidebysig  specialname  rtspecialname 
129            instance default void '.ctor' ()  cil managed 
130     {
131         // Method begins at RVA 0x212c
132         // Code size 7 (0x7)
133         .maxstack 8
134         IL_0000:  ldarg.0 
135         IL_0001:  call instance void object::'.ctor'()
136         IL_0006:  ret 
137     } // end of method OtherClass`2::.ctor
138
139     .method public hidebysig 
140            instance default void Test (!T tc)  cil managed 
141     {
142         .maxstack 8
143         IL_0000:  ldarg.1 
144         IL_0001:  ldc.i4.0
145         //XXX ThisClass`2<!1,!0> can't be reduced to T even thou T has a 'ThisClass`2<!1,!0>' constaint.
146         IL_0002:  stfld int32 class test.ThisClass`2<!1,!0>::dummy
147         IL_0007:  ret 
148     }
149   }
150 }
151