2010-06-17 Geoff Norton <gnorton@novell.com>
[mono.git] / mono / tests / enum_types.il
blobaa73fec87ce22a1177ce11049bab265d570ecb8d
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
6 .assembly extern mscorlib
8         .ver 2:0:0:0
9         .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
11 .assembly 'd'
13         .hash algorithm 0x00008004
14         .ver    0:0:0:0
16 .module d.exe
19 .namespace Example
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         }
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         }
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         }
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         }
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         }
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         }
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         }
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         }
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         }
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         }
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         }
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         }
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,
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,
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                                 )
142                         ldc.i4.0
143                         stloc.0
145                         ldc.i4.0
146                         stloc.1
148                         ldc.i4.0
149                         stloc.2
151                         ldc.i4.0
152                         stloc.3
154                         ldc.i4.0
155                         stloc.s 4
157                         ldc.i4.0
158                         stloc.s 5
160                         ldc.i4.0
161                         stloc.s 6
163                         ldc.i4.0
164                         stloc.s 7
166                         ldc.i8 0
167                         stloc.s 8
169                         ldc.i8 0
170                         stloc.s 9
172                         ldc.i4.0
173                         stloc.s 10
175                         ldc.i4.0
176                         stloc.s 11
178                         ldc.i4.0
179                         ret
180                 }
181         
182         }
183