add "dim-" prefix for the tests and ignore failed ones
[mono-project.git] / mono / tests / dim-valuetypes.il
blob56c23f111e93d74c71231ba0018dbe5a08fff707
2 //  Microsoft (R) .NET Framework IL Disassembler.  Version 4.6.1055.0
3 //  Copyright (c) Microsoft Corporation.  All rights reserved.
7 // Metadata version: v4.0.30319
8 .assembly extern mscorlib
10   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )                         // .z\V.4..
11   .ver 4:0:0:0
13 .assembly valuetypes
15   .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) 
16   .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78   // ....T..WrapNonEx
17                                                                                                              63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )       // ceptionThrows.
19   // --- The following custom attribute is added automatically, do not uncomment -------
20   //  .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 07 01 00 00 00 00 ) 
22   .hash algorithm 0x00008004
23   .ver 0:0:0:0
25 .module valuetypes.exe
26 // MVID: {E191F723-B724-4D70-B3A8-CEA89FD033D3}
27 .imagebase 0x00400000
28 .file alignment 0x00000200
29 .stackreserve 0x00100000
30 .subsystem 0x0003       // WINDOWS_CUI
31 .corflags 0x00000001    //  ILONLY
32 // Image base: 0x01170000
35 // =============== CLASS MEMBERS DECLARATION ===================
37 .class interface private abstract auto ansi IValue
39   .method public hidebysig newslot abstract virtual 
40           instance int32  GetValue() cil managed
41   {
42   } // end of method IValue::GetValue
44   .method public hidebysig newslot abstract virtual 
45           instance void  SetValue(int32 a) cil managed
46   {
47   } // end of method IValue::SetValue
49   .method public hidebysig newslot virtual 
50           instance int32  Add(int32 a) cil managed
51   {
52     // Code size       26 (0x1a)
53     .maxstack  2
54     .locals init (int32 V_0,
55              int32 V_1)
56     IL_0000:  nop
57     IL_0001:  ldarg.0
58     IL_0002:  call       instance int32 IValue::GetValue()
59     IL_0007:  stloc.0
60     IL_0008:  ldloc.0
61     IL_0009:  ldarg.1
62     IL_000a:  add
63     IL_000b:  stloc.0
64     IL_000c:  ldarg.0
65     IL_000d:  ldloc.0
66     IL_000e:  call       instance void IValue::SetValue(int32)
67     IL_0013:  nop
68     IL_0014:  ldloc.0
69     IL_0015:  stloc.1
70     IL_0016:  br.s       IL_0018
72     IL_0018:  ldloc.1
73     IL_0019:  ret
74   } // end of method IValue::Add
76 } // end of class IValue
78 .class private sequential ansi sealed beforefieldinit FooBarStruct
79        extends [mscorlib]System.ValueType
80        implements IValue
82   .field public int32 _val
83   .method public hidebysig newslot virtual final 
84           instance int32  GetValue() cil managed
85   {
86     // Code size       12 (0xc)
87     .maxstack  1
88     .locals init (int32 V_0)
89     IL_0000:  nop
90     IL_0001:  ldarg.0
91     IL_0002:  ldfld      int32 FooBarStruct::_val
92     IL_0007:  stloc.0
93     IL_0008:  br.s       IL_000a
95     IL_000a:  ldloc.0
96     IL_000b:  ret
97   } // end of method FooBarStruct::GetValue
99   .method public hidebysig newslot virtual final 
100           instance void  SetValue(int32 val) cil managed
101   {
102     // Code size       9 (0x9)
103     .maxstack  8
104     IL_0000:  nop
105     IL_0001:  ldarg.0
106     IL_0002:  ldarg.1
107     IL_0003:  stfld      int32 FooBarStruct::_val
108     IL_0008:  ret
109   } // end of method FooBarStruct::SetValue
110 } // end of class FooBarStruct
112 .class private auto ansi beforefieldinit Program
113        extends [mscorlib]System.Object
115   .method public hidebysig static int32  Main() cil managed
116   {
117     .entrypoint
118     .maxstack  2
119     .locals init (valuetype FooBarStruct V_0,
120              class IValue V_1,
121              int32 V_2)
122     IL_0000:  nop
123     IL_0001:  ldloca.s   V_0
124     IL_0003:  initobj    FooBarStruct
125     IL_0009:  ldloca.s   V_0
126     IL_000b:  ldc.i4.s   10
127     IL_000d:  stfld      int32 FooBarStruct::_val
128     IL_0012:  ldloc.0
129     IL_0013:  box        FooBarStruct
130     IL_0018:  stloc.1
131     IL_0019:  ldstr      "Calling IFoo.Foo on FooBarStruct"
132     IL_001e:  call       void [mscorlib]System.Console::WriteLine(string)
133     IL_0023:  nop
134     IL_0024:  ldloc.1
135     IL_0025:  ldc.i4.s   10
136     IL_0027:  callvirt   instance int32 IValue::Add(int32)
137     IL_002c:  ldc.i4.s   20
138     IL_002e:  ceq
139     IL_0030:  ldstr      "Calling default method IValue.Add on FooBarStruct "
140     + "failed"
141     IL_0035:  call       void Test::Assert(bool,
142                                            string)
143     IL_003a:  nop
144     IL_003b:  ldloca     V_0
145               callvirt   instance int32 FooBarStruct::GetValue()
146               ldc.i4.s   10
147               ceq
148               ldstr      "FooBarStruct value should remain unchanged"
149               call       void Test::Assert(bool,
150                                            string)
151               nop
152               call       int32 Test::Ret()
153               ret
154   } // end of method Program::Main
156   .method public hidebysig specialname rtspecialname 
157           instance void  .ctor() cil managed
158   {
159     // Code size       8 (0x8)
160     .maxstack  8
161     IL_0000:  ldarg.0
162     IL_0001:  call       instance void [mscorlib]System.Object::.ctor()
163     IL_0006:  nop
164     IL_0007:  ret
165   } // end of method Program::.ctor
167 } // end of class Program
169 .class private auto ansi beforefieldinit Test
170        extends [mscorlib]System.Object
172   .field private static bool Pass
173   .method public hidebysig static int32  Ret() cil managed
174   {
175     // Code size       19 (0x13)
176     .maxstack  1
177     .locals init (int32 V_0)
178     IL_0000:  nop
179     IL_0001:  ldsfld     bool Test::Pass
180     IL_0006:  brtrue.s   IL_000c
182     IL_0008:  ldc.i4.s   101
183     IL_000a:  br.s       IL_000e
185     IL_000c:  ldc.i4.s   100
186     IL_000e:  stloc.0
187     IL_000f:  br.s       IL_0011
189     IL_0011:  ldloc.0
190     IL_0012:  ret
191   } // end of method Test::Ret
193   .method public hidebysig static void  Assert(bool cond,
194                                                string msg) cil managed
195   {
196     // Code size       47 (0x2f)
197     .maxstack  2
198     .locals init (bool V_0)
199     IL_0000:  nop
200     IL_0001:  ldarg.0
201     IL_0002:  stloc.0
202     IL_0003:  ldloc.0
203     IL_0004:  brfalse.s  IL_0015
205     IL_0006:  nop
206     IL_0007:  ldstr      "PASS"
207     IL_000c:  call       void [mscorlib]System.Console::WriteLine(string)
208     IL_0011:  nop
209     IL_0012:  nop
210     IL_0013:  br.s       IL_002e
212     IL_0015:  nop
213     IL_0016:  ldstr      "FAIL: "
214     IL_001b:  ldarg.1
215     IL_001c:  call       string [mscorlib]System.String::Concat(string,
216                                                                 string)
217     IL_0021:  call       void [mscorlib]System.Console::WriteLine(string)
218     IL_0026:  nop
219     IL_0027:  ldc.i4.0
220     IL_0028:  stsfld     bool Test::Pass
221     IL_002d:  nop
222     IL_002e:  ret
223   } // end of method Test::Assert
225   .method public hidebysig specialname rtspecialname 
226           instance void  .ctor() cil managed
227   {
228     // Code size       8 (0x8)
229     .maxstack  8
230     IL_0000:  ldarg.0
231     IL_0001:  call       instance void [mscorlib]System.Object::.ctor()
232     IL_0006:  nop
233     IL_0007:  ret
234   } // end of method Test::.ctor
236   .method private hidebysig specialname rtspecialname static 
237           void  .cctor() cil managed
238   {
239     // Code size       7 (0x7)
240     .maxstack  8
241     IL_0000:  ldc.i4.1
242     IL_0001:  stsfld     bool Test::Pass
243     IL_0006:  ret
244   } // end of method Test::.cctor
246 } // end of class Test
249 // =============================================================
251 // *********** DISASSEMBLY COMPLETE ***********************
252 // WARNING: Created Win32 resource file valuetypes.res