Merge branch 'master'
[mono.git] / mono / tests / verifier / valid_inflated_generic_constraint_compatible.il
1 .assembly extern mscorlib
2 {
3   .ver 2:0:5:0
4   .publickeytoken = (7C EC 85 D7 BE A7 79 8E ) // |.....y.
5 }
6 .assembly 'gtest-253'
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-253.exe' // GUID = {F1C7E6F5-B296-496E-997E-F323C3A6865B}
16
17
18   .class interface public auto ansi abstract IExtensible`1<T>
19   {
20
21     // method line 1
22     .method public virtual  hidebysig  newslot  abstract 
23            instance default void AddAll<(!T) U> (class [mscorlib]System.Collections.Generic.IEnumerable`1<!!U> items)  cil managed 
24     {
25         // Method begins at RVA 0x0
26     } // end of method IExtensible`1::AddAll
27
28   } // end of class IExtensible`1
29
30   .class public auto ansi abstract beforefieldinit CollectionValueTester`2<(class IExtensible`1<!S>) R,S>
31         extends [mscorlib]System.Object
32   {
33     .field  family  !0 collection
34
35     // method line 2
36     .method family hidebysig  specialname  rtspecialname 
37            instance default void '.ctor' ()  cil managed 
38     {
39         // Method begins at RVA 0x20ec
40         // Code size 7 (0x7)
41         .maxstack 8
42         IL_0000:  ldarg.0 
43         IL_0001:  call instance void object::'.ctor'()
44         IL_0006:  ret 
45     } // end of method CollectionValueTester`2::.ctor
46
47   } // end of class CollectionValueTester`2
48
49   .class public auto ansi beforefieldinit ExtensibleTester`1<(class IExtensible`1<int32>) U>
50         extends class CollectionValueTester`2<!0,int32>
51   {
52
53     // method line 3
54     .method public hidebysig  specialname  rtspecialname 
55            instance default void '.ctor' (!U u)  cil managed 
56     {
57         // Method begins at RVA 0x20f4
58         // Code size 14 (0xe)
59         .maxstack 8
60         IL_0000:  ldarg.0 
61         IL_0001:  call instance void class CollectionValueTester`2<!U, int32>::'.ctor'()
62         IL_0006:  ldarg.0 
63         IL_0007:  ldarg.1 
64         IL_0008:  stfld !0 class CollectionValueTester`2<!0,int32>::collection
65         IL_000d:  ret 
66     } // end of method ExtensibleTester`1::.ctor
67
68     // method line 4
69     .method public hidebysig 
70            instance default void Direct ()  cil managed 
71     {
72         // Method begins at RVA 0x2104
73         // Code size 24 (0x18)
74         .maxstack 8
75         IL_0000:  ldarg.0 
76         IL_0001:  ldflda !0 class CollectionValueTester`2<!0,int32>::collection
77         IL_0006:  ldc.i4.0 
78         IL_0007:  newarr [mscorlib]System.Int32
79         IL_000c:  constrained. !0
80         IL_0012:  callvirt instance void class IExtensible`1<int32>::AddAll<int32> (class [mscorlib]System.Collections.Generic.IEnumerable`1<!!0>)
81         IL_0017:  ret 
82     } // end of method ExtensibleTester`1::Direct
83
84   } // end of class ExtensibleTester`1
85
86   .class public auto ansi beforefieldinit Extensible`1<V>
87         extends [mscorlib]System.Object
88         implements class IExtensible`1<!0>  {
89
90     // method line 5
91     .method public hidebysig  specialname  rtspecialname 
92            instance default void '.ctor' ()  cil managed 
93     {
94         // Method begins at RVA 0x2120
95         // Code size 7 (0x7)
96         .maxstack 8
97         IL_0000:  ldarg.0 
98         IL_0001:  call instance void object::'.ctor'()
99         IL_0006:  ret 
100     } // end of method Extensible`1::.ctor
101
102     // method line 6
103     .method public final  virtual  hidebysig  newslot 
104            instance default void AddAll<(!V) W> (class [mscorlib]System.Collections.Generic.IEnumerable`1<!!W> items)  cil managed 
105     {
106         // Method begins at RVA 0x2128
107         // Code size 1 (0x1)
108         .maxstack 8
109         IL_0000:  ret 
110     } // end of method Extensible`1::AddAll
111
112   } // end of class Extensible`1
113
114   .class private auto ansi beforefieldinit X
115         extends [mscorlib]System.Object
116   {
117
118     // method line 7
119     .method public hidebysig  specialname  rtspecialname 
120            instance default void '.ctor' ()  cil managed 
121     {
122         // Method begins at RVA 0x212c
123         // Code size 7 (0x7)
124         .maxstack 8
125         IL_0000:  ldarg.0 
126         IL_0001:  call instance void object::'.ctor'()
127         IL_0006:  ret 
128     } // end of method X::.ctor
129
130     // method line 8
131     .method private static  hidebysig 
132            default void Main ()  cil managed 
133     {
134         // Method begins at RVA 0x2134
135         .entrypoint
136         // Code size 20 (0x14)
137         .maxstack 2
138         .locals init (
139                 class Extensible`1<int32>       V_0,
140                 class ExtensibleTester`1<class Extensible`1<int32>>     V_1)
141         IL_0000:  newobj instance void class Extensible`1<int32>::'.ctor'()
142         IL_0005:  stloc.0 
143         IL_0006:  ldloc.0 
144         IL_0007:  newobj instance void class ExtensibleTester`1<class Extensible`1<int32>>::'.ctor'(!0)
145         IL_000c:  stloc.1 
146         IL_000d:  ldloc.1 
147         IL_000e:  callvirt instance void class ExtensibleTester`1<class Extensible`1<int32>>::Direct()
148         IL_0013:  ret 
149     } // end of method X::Main
150
151   } // end of class X
152