[CI] ignore appdomain-unload-asmload.exe on interp and full-aot
[mono.git] / mono / tests / generic-refanyval.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 'generic-mkrefany.2'
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 'generic-mkrefany.2.exe' // GUID = {51FFBB77-6AFB-435E-B206-16DB5C8A3730}
16
17
18   .class public auto ansi beforefieldinit ClassA
19         extends [mscorlib]System.Object
20   {
21
22     // method line 1
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 ClassA::.ctor
33
34   } // end of class ClassA
35
36   .class public sequential ansi sealed beforefieldinit GenStruct`1<T>
37         extends [mscorlib]System.ValueType
38   {
39     .field  public  int32 field1
40     .field  public  !0 field2
41
42   } // end of class GenStruct`1
43
44   .class public auto ansi beforefieldinit Gen`1<T>
45         extends [mscorlib]System.Object
46   {
47
48     // method line 2
49     .method public hidebysig  specialname  rtspecialname 
50            instance default void '.ctor' ()  cil managed 
51     {
52         // Method begins at RVA 0x20f4
53         // Code size 7 (0x7)
54         .maxstack 8
55         IL_0000:  ldarg.0 
56         IL_0001:  call instance void object::'.ctor'()
57         IL_0006:  ret 
58     } // end of method Gen`1::.ctor
59
60     // method line 3
61     .method public hidebysig 
62            instance default !T ident (!T t)  cil managed 
63     {
64         // Method begins at RVA 0x20fc
65         // Code size 4 (0x4)
66         .maxstack 1
67         .locals init (
68                 !T      V_0)
69         IL_0000:  ldarg.1 
70         IL_0001:  stloc.0 
71                   ldloca 0
72                   mkrefany      ClassA
73                   refanyval     !0
74                   ldobj         ClassA
75         IL_0003:  ret 
76     } // end of method Gen`1::ident
77
78     // method line 4
79     .method public hidebysig 
80            instance default valuetype GenStruct`1<!T> structIdent (valuetype GenStruct`1<!T> gst)  cil managed 
81     {
82         // Method begins at RVA 0x210c
83         // Code size 4 (0x4)
84         .maxstack 1
85         .locals init (
86                 valuetype GenStruct`1<!T>       V_0)
87         IL_0000:  ldarg.1 
88         IL_0001:  stloc.0 
89                   ldloca        0
90                   mkrefany      valuetype GenStruct`1<!0>
91                   refanyval     valuetype GenStruct`1<!0>
92                   ldobj         valuetype GenStruct`1<!0>
93         IL_0003:  ret 
94     } // end of method Gen`1::structIdent
95
96   } // end of class Gen`1
97
98   .class public auto ansi beforefieldinit main
99         extends [mscorlib]System.Object
100   {
101
102     // method line 5
103     .method public hidebysig  specialname  rtspecialname 
104            instance default void '.ctor' ()  cil managed 
105     {
106         // Method begins at RVA 0x211c
107         // Code size 7 (0x7)
108         .maxstack 8
109         IL_0000:  ldarg.0 
110         IL_0001:  call instance void object::'.ctor'()
111         IL_0006:  ret 
112     } // end of method main::.ctor
113
114     // method line 6
115     .method public static  hidebysig 
116            default int32 Main ()  cil managed 
117     {
118         // Method begins at RVA 0x2124
119         .entrypoint
120         // Code size 94 (0x5e)
121         .maxstack 8
122         .locals init (
123                 class ClassA    V_0,
124                 valuetype GenStruct`1<class ClassA>     V_1,
125                 class Gen`1<class ClassA>       V_2,
126                 valuetype GenStruct`1<class ClassA>     V_3)
127         IL_0000:  newobj instance void class ClassA::'.ctor'()
128         IL_0005:  stloc.0 
129         IL_0006:  ldloca.s 1
130         IL_0008:  ldc.i4.s 0x7b
131         IL_000a:  stfld int32 valuetype GenStruct`1<class ClassA>::field1
132         IL_000f:  ldloca.s 1
133         IL_0011:  ldloc.0 
134         IL_0012:  stfld !0 valuetype GenStruct`1<class ClassA>::field2
135         IL_0017:  newobj instance void class Gen`1<class ClassA>::'.ctor'()
136         IL_001c:  stloc.2 
137         IL_001d:  ldloc.2 
138         IL_001e:  ldloc.0 
139         IL_001f:  callvirt instance !0 class Gen`1<class ClassA>::ident(!0)
140         IL_0024:  ldloc.0 
141         IL_0025:  beq IL_002c
142
143         IL_002a:  ldc.i4.1 
144         IL_002b:  ret 
145         IL_002c:  ldloc.2 
146         IL_002d:  ldloc.1 
147         IL_002e:  callvirt instance valuetype GenStruct`1<!0> class Gen`1<class ClassA>::structIdent(valuetype GenStruct`1<!0>)
148         IL_0033:  stloc.3 
149         IL_0034:  ldloca.s 3
150         IL_0036:  ldfld int32 valuetype GenStruct`1<class ClassA>::field1
151         IL_003b:  ldloca.s 1
152         IL_003d:  ldfld int32 valuetype GenStruct`1<class ClassA>::field1
153         IL_0042:  bne.un IL_005a
154
155         IL_0047:  ldloca.s 3
156         IL_0049:  ldfld !0 valuetype GenStruct`1<class ClassA>::field2
157         IL_004e:  ldloca.s 1
158         IL_0050:  ldfld !0 valuetype GenStruct`1<class ClassA>::field2
159         IL_0055:  beq IL_005c
160
161         IL_005a:  ldc.i4.1 
162         IL_005b:  ret 
163         IL_005c:  ldc.i4.0 
164         IL_005d:  ret 
165     } // end of method main::Main
166
167   } // end of class main
168