[runtime] Synthesize IList and IReadOnlyList for the element type of enum errays...
[mono.git] / mono / tests / enum_types.il
1 //
2 // enum_types.il: Tests for all the primitive types an enum basetype can have
3 // 
4 // It just initialize enum values, as this is enouth to cause the type to be loaded
5
6 .assembly extern mscorlib
7 {
8         .ver 2:0:0:0
9         .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
10 }
11 .assembly 'd'
12 {
13         .hash algorithm 0x00008004
14         .ver    0:0:0:0
15 }
16 .module d.exe
17
18
19 .namespace Example
20 {
21         .class public auto ansi sealed Int8Enum
22                 extends [mscorlib]System.Enum
23         {
24                 .field public specialname rtspecialname int8 value__
25                 .field public static literal valuetype Example.Int8Enum A = int8(0x00000000)
26         }
27
28         .class public auto ansi sealed UInt8Enum
29                 extends [mscorlib]System.Enum
30         {
31                 .field public specialname rtspecialname uint8 value__
32                 .field public static literal valuetype Example.Int8Enum A = uint8(0x00000000)
33         }
34
35         .class public auto ansi sealed BoolEnum
36                 extends [mscorlib]System.Enum
37         {
38                 .field public specialname rtspecialname bool value__
39                 .field public static literal valuetype Example.BoolEnum A = int8(0x00000000)
40         }
41
42         .class public auto ansi sealed Int16Enum
43                 extends [mscorlib]System.Enum
44         {
45                 .field public specialname rtspecialname int16 value__
46                 .field public static literal valuetype Example.Int16Enum A = int16(0x00000000)
47         }
48
49         .class public auto ansi sealed UInt16Enum
50                 extends [mscorlib]System.Enum
51         {
52                 .field public specialname rtspecialname uint16 value__
53                 .field public static literal valuetype Example.UInt16Enum A = uint16(0x00000000)
54         }
55
56         .class public auto ansi sealed CharEnum
57                 extends [mscorlib]System.Enum
58         {
59                 .field public specialname rtspecialname char value__
60                 .field public static literal valuetype Example.CharEnum A = char(0x00000000)
61         }
62
63         .class public auto ansi sealed Int32Enum
64                 extends [mscorlib]System.Enum
65         {
66                 .field public specialname rtspecialname int32 value__
67                 .field public static literal valuetype Example.Int32Enum A = int32(0x00000000)
68         }
69
70         .class public auto ansi sealed UInt32Enum
71                 extends [mscorlib]System.Enum
72         {
73                 .field public specialname rtspecialname uint32 value__
74                 .field public static literal valuetype Example.UInt32Enum A = uint32(0x00000000)
75         }
76
77         .class public auto ansi sealed Int64Enum
78                 extends [mscorlib]System.Enum
79         {
80                 .field public specialname rtspecialname int64 value__
81                 .field public static literal valuetype Example.Int64Enum A = int64(0x00000000)
82         }
83
84         .class public auto ansi sealed UInt64Enum
85                 extends [mscorlib]System.Enum
86         {
87                 .field public specialname rtspecialname uint64 value__
88                 .field public static literal valuetype Example.UInt32Enum A = uint64(0x00000000)
89         }
90
91
92         .class public auto ansi sealed IntPtrEnum
93                 extends [mscorlib]System.Enum
94         {
95                 .field public specialname rtspecialname native int value__
96                 .field public static literal valuetype Example.IntPtrEnum A = int32(0x00000000)
97         }
98
99         .class public auto ansi sealed UIntPtrEnum
100                 extends [mscorlib]System.Enum
101         {
102                 .field public specialname rtspecialname native unsigned int value__
103                 .field public static literal valuetype Example.UIntPtrEnum A = int32(0x00000000)
104         }
105
106         .class public auto ansi beforefieldinit Bla
107                 extends [mscorlib]System.Object
108         {
109                 .method public hidebysig specialname rtspecialname 
110                         instance default void .ctor () cil managed 
111                 {
112                         .maxstack 8
113                         ldarg.0 
114                         call instance void object::.ctor()
115                         ret 
116                 }
117         
118                 .method private static  hidebysig 
119                          default int32 Main (string[] args)     cil managed 
120                 {
121                         .entrypoint
122                         .maxstack 2
123                         .locals init (
124                                 valuetype Example.Int8Enum              V_0,
125                                 valuetype Example.UInt8Enum             V_1,
126                                 valuetype Example.BoolEnum              V_2,
127
128                                 valuetype Example.Int16Enum             V_3,
129                                 valuetype Example.UInt16Enum    V_4,
130                                 valuetype Example.CharEnum              V_5,
131                                 
132                                 valuetype Example.Int32Enum             V_6,
133                                 valuetype Example.UInt32Enum    V_7,
134
135                                 valuetype Example.Int64Enum             V_8,
136                                 valuetype Example.UInt64Enum    V_9,
137                                 
138                                 valuetype Example.IntPtrEnum    V_10,
139                                 valuetype Example.UIntPtrEnum   V_11
140                                 )
141
142                         ldc.i4.0
143                         stloc.0
144
145                         ldc.i4.0
146                         stloc.1
147
148                         ldc.i4.0
149                         stloc.2
150
151                         ldc.i4.0
152                         stloc.3
153
154                         ldc.i4.0
155                         stloc.s 4
156
157                         ldc.i4.0
158                         stloc.s 5
159
160                         ldc.i4.0
161                         stloc.s 6
162
163                         ldc.i4.0
164                         stloc.s 7
165
166                         ldc.i8 0
167                         stloc.s 8
168
169                         ldc.i8 0
170                         stloc.s 9
171
172                         ldc.i4.0
173                         stloc.s 10
174
175                         ldc.i4.0
176                         stloc.s 11
177
178                         ldc.i4.0
179                         ret
180                 }
181         
182         }
183         
184
185 }
186