~ubuntu-branches/ubuntu/trusty/monodevelop/trusty-proposed

« back to all changes in this revision

Viewing changes to external/ikvm/reflect/Emit/OpCodes.cs

  • Committer: Package Import Robot
  • Author(s): Jo Shields
  • Date: 2013-05-12 09:46:03 UTC
  • mto: This revision was merged to the branch mainline in revision 29.
  • Revision ID: package-import@ubuntu.com-20130512094603-mad323bzcxvmcam0
Tags: upstream-4.0.5+dfsg
ImportĀ upstreamĀ versionĀ 4.0.5+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
  Copyright (C) 2008 Jeroen Frijters
 
3
 
 
4
  This software is provided 'as-is', without any express or implied
 
5
  warranty.  In no event will the authors be held liable for any damages
 
6
  arising from the use of this software.
 
7
 
 
8
  Permission is granted to anyone to use this software for any purpose,
 
9
  including commercial applications, and to alter it and redistribute it
 
10
  freely, subject to the following restrictions:
 
11
 
 
12
  1. The origin of this software must not be misrepresented; you must not
 
13
     claim that you wrote the original software. If you use this software
 
14
     in a product, an acknowledgment in the product documentation would be
 
15
     appreciated but is not required.
 
16
  2. Altered source versions must be plainly marked as such, and must not be
 
17
     misrepresented as being the original software.
 
18
  3. This notice may not be removed or altered from any source distribution.
 
19
 
 
20
  Jeroen Frijters
 
21
  jeroen@frijters.net
 
22
  
 
23
*/
 
24
using System;
 
25
 
 
26
namespace IKVM.Reflection.Emit
 
27
{
 
28
        public sealed class OpCodes
 
29
        {
 
30
                public static readonly OpCode Nop = new OpCode(4888);
 
31
                public static readonly OpCode Break = new OpCode(4199116);
 
32
                public static readonly OpCode Ldarg_0 = new OpCode(8492847);
 
33
                public static readonly OpCode Ldarg_1 = new OpCode(12687151);
 
34
                public static readonly OpCode Ldarg_2 = new OpCode(16881455);
 
35
                public static readonly OpCode Ldarg_3 = new OpCode(21075759);
 
36
                public static readonly OpCode Ldloc_0 = new OpCode(25270063);
 
37
                public static readonly OpCode Ldloc_1 = new OpCode(29464367);
 
38
                public static readonly OpCode Ldloc_2 = new OpCode(33658671);
 
39
                public static readonly OpCode Ldloc_3 = new OpCode(37852975);
 
40
                public static readonly OpCode Stloc_0 = new OpCode(41949467);
 
41
                public static readonly OpCode Stloc_1 = new OpCode(46143771);
 
42
                public static readonly OpCode Stloc_2 = new OpCode(50338075);
 
43
                public static readonly OpCode Stloc_3 = new OpCode(54532379);
 
44
                public static readonly OpCode Ldarg_S = new OpCode(58824508);
 
45
                public static readonly OpCode Ldarga_S = new OpCode(63224012);
 
46
                public static readonly OpCode Starg_S = new OpCode(67115304);
 
47
                public static readonly OpCode Ldloc_S = new OpCode(71407420);
 
48
                public static readonly OpCode Ldloca_S = new OpCode(75806924);
 
49
                public static readonly OpCode Stloc_S = new OpCode(79698216);
 
50
                public static readonly OpCode Ldnull = new OpCode(84609339);
 
51
                public static readonly OpCode Ldc_I4_M1 = new OpCode(88389823);
 
52
                public static readonly OpCode Ldc_I4_0 = new OpCode(92584127);
 
53
                public static readonly OpCode Ldc_I4_1 = new OpCode(96778431);
 
54
                public static readonly OpCode Ldc_I4_2 = new OpCode(100972735);
 
55
                public static readonly OpCode Ldc_I4_3 = new OpCode(105167039);
 
56
                public static readonly OpCode Ldc_I4_4 = new OpCode(109361343);
 
57
                public static readonly OpCode Ldc_I4_5 = new OpCode(113555647);
 
58
                public static readonly OpCode Ldc_I4_6 = new OpCode(117749951);
 
59
                public static readonly OpCode Ldc_I4_7 = new OpCode(121944255);
 
60
                public static readonly OpCode Ldc_I4_8 = new OpCode(126138559);
 
61
                public static readonly OpCode Ldc_I4_S = new OpCode(130332874);
 
62
                public static readonly OpCode Ldc_I4 = new OpCode(134530584);
 
63
                public static readonly OpCode Ldc_I8 = new OpCode(138827489);
 
64
                public static readonly OpCode Ldc_R4 = new OpCode(143124407);
 
65
                public static readonly OpCode Ldc_R8 = new OpCode(147421301);
 
66
                public static readonly OpCode Dup = new OpCode(155404637);
 
67
                public static readonly OpCode Pop = new OpCode(159393399);
 
68
                public static readonly OpCode Jmp = new OpCode(163582686);
 
69
                public static readonly OpCode Call = new OpCode(168690130);
 
70
                public static readonly OpCode Calli = new OpCode(172884439);
 
71
                public static readonly OpCode Ret = new OpCode(176258034);
 
72
                public static readonly OpCode Br_S = new OpCode(180356455);
 
73
                public static readonly OpCode Brfalse_S = new OpCode(184566035);
 
74
                public static readonly OpCode Brtrue_S = new OpCode(188760339);
 
75
                public static readonly OpCode Beq_S = new OpCode(192949342);
 
76
                public static readonly OpCode Bge_S = new OpCode(197143646);
 
77
                public static readonly OpCode Bgt_S = new OpCode(201337950);
 
78
                public static readonly OpCode Ble_S = new OpCode(205532254);
 
79
                public static readonly OpCode Blt_S = new OpCode(209726558);
 
80
                public static readonly OpCode Bne_Un_S = new OpCode(213920862);
 
81
                public static readonly OpCode Bge_Un_S = new OpCode(218115166);
 
82
                public static readonly OpCode Bgt_Un_S = new OpCode(222309470);
 
83
                public static readonly OpCode Ble_Un_S = new OpCode(226503774);
 
84
                public static readonly OpCode Blt_Un_S = new OpCode(230698078);
 
85
                public static readonly OpCode Br = new OpCode(234885812);
 
86
                public static readonly OpCode Brfalse = new OpCode(239095392);
 
87
                public static readonly OpCode Brtrue = new OpCode(243289696);
 
88
                public static readonly OpCode Beq = new OpCode(247475279);
 
89
                public static readonly OpCode Bge = new OpCode(251669583);
 
90
                public static readonly OpCode Bgt = new OpCode(255863887);
 
91
                public static readonly OpCode Ble = new OpCode(260058191);
 
92
                public static readonly OpCode Blt = new OpCode(264252495);
 
93
                public static readonly OpCode Bne_Un = new OpCode(268446799);
 
94
                public static readonly OpCode Bge_Un = new OpCode(272641103);
 
95
                public static readonly OpCode Bgt_Un = new OpCode(276835407);
 
96
                public static readonly OpCode Ble_Un = new OpCode(281029711);
 
97
                public static readonly OpCode Blt_Un = new OpCode(285224015);
 
98
                public static readonly OpCode Switch = new OpCode(289427051);
 
99
                public static readonly OpCode Ldind_I1 = new OpCode(293929358);
 
100
                public static readonly OpCode Ldind_U1 = new OpCode(298123662);
 
101
                public static readonly OpCode Ldind_I2 = new OpCode(302317966);
 
102
                public static readonly OpCode Ldind_U2 = new OpCode(306512270);
 
103
                public static readonly OpCode Ldind_I4 = new OpCode(310706574);
 
104
                public static readonly OpCode Ldind_U4 = new OpCode(314900878);
 
105
                public static readonly OpCode Ldind_I8 = new OpCode(319197782);
 
106
                public static readonly OpCode Ldind_I = new OpCode(323289486);
 
107
                public static readonly OpCode Ldind_R4 = new OpCode(327688990);
 
108
                public static readonly OpCode Ldind_R8 = new OpCode(331985894);
 
109
                public static readonly OpCode Ldind_Ref = new OpCode(336282798);
 
110
                public static readonly OpCode Stind_Ref = new OpCode(339768820);
 
111
                public static readonly OpCode Stind_I1 = new OpCode(343963124);
 
112
                public static readonly OpCode Stind_I2 = new OpCode(348157428);
 
113
                public static readonly OpCode Stind_I4 = new OpCode(352351732);
 
114
                public static readonly OpCode Stind_I8 = new OpCode(356551166);
 
115
                public static readonly OpCode Stind_R4 = new OpCode(360755730);
 
116
                public static readonly OpCode Stind_R8 = new OpCode(364955164);
 
117
                public static readonly OpCode Add = new OpCode(369216329);
 
118
                public static readonly OpCode Sub = new OpCode(373410633);
 
119
                public static readonly OpCode Mul = new OpCode(377604937);
 
120
                public static readonly OpCode Div = new OpCode(381799241);
 
121
                public static readonly OpCode Div_Un = new OpCode(385993545);
 
122
                public static readonly OpCode Rem = new OpCode(390187849);
 
123
                public static readonly OpCode Rem_Un = new OpCode(394382153);
 
124
                public static readonly OpCode And = new OpCode(398576457);
 
125
                public static readonly OpCode Or = new OpCode(402770761);
 
126
                public static readonly OpCode Xor = new OpCode(406965065);
 
127
                public static readonly OpCode Shl = new OpCode(411159369);
 
128
                public static readonly OpCode Shr = new OpCode(415353673);
 
129
                public static readonly OpCode Shr_Un = new OpCode(419547977);
 
130
                public static readonly OpCode Neg = new OpCode(423737322);
 
131
                public static readonly OpCode Not = new OpCode(427931626);
 
132
                public static readonly OpCode Conv_I1 = new OpCode(432331130);
 
133
                public static readonly OpCode Conv_I2 = new OpCode(436525434);
 
134
                public static readonly OpCode Conv_I4 = new OpCode(440719738);
 
135
                public static readonly OpCode Conv_I8 = new OpCode(445016642);
 
136
                public static readonly OpCode Conv_R4 = new OpCode(449313546);
 
137
                public static readonly OpCode Conv_R8 = new OpCode(453610450);
 
138
                public static readonly OpCode Conv_U4 = new OpCode(457496954);
 
139
                public static readonly OpCode Conv_U8 = new OpCode(461793858);
 
140
                public static readonly OpCode Callvirt = new OpCode(466484004);
 
141
                public static readonly OpCode Cpobj = new OpCode(469790542);
 
142
                public static readonly OpCode Ldobj = new OpCode(474077528);
 
143
                public static readonly OpCode Ldstr = new OpCode(478872210);
 
144
                public static readonly OpCode Newobj = new OpCode(483158791);
 
145
                public static readonly OpCode Castclass = new OpCode(487311950);
 
146
                public static readonly OpCode Isinst = new OpCode(491095854);
 
147
                public static readonly OpCode Conv_R_Un = new OpCode(495553490);
 
148
                public static readonly OpCode Unbox = new OpCode(507874780);
 
149
                public static readonly OpCode Throw = new OpCode(511759452);
 
150
                public static readonly OpCode Ldfld = new OpCode(516056466);
 
151
                public static readonly OpCode Ldflda = new OpCode(520455970);
 
152
                public static readonly OpCode Stfld = new OpCode(524347262);
 
153
                public static readonly OpCode Ldsfld = new OpCode(528588249);
 
154
                public static readonly OpCode Ldsflda = new OpCode(532987753);
 
155
                public static readonly OpCode Stsfld = new OpCode(536879045);
 
156
                public static readonly OpCode Stobj = new OpCode(541090290);
 
157
                public static readonly OpCode Conv_Ovf_I1_Un = new OpCode(545577338);
 
158
                public static readonly OpCode Conv_Ovf_I2_Un = new OpCode(549771642);
 
159
                public static readonly OpCode Conv_Ovf_I4_Un = new OpCode(553965946);
 
160
                public static readonly OpCode Conv_Ovf_I8_Un = new OpCode(558262850);
 
161
                public static readonly OpCode Conv_Ovf_U1_Un = new OpCode(562354554);
 
162
                public static readonly OpCode Conv_Ovf_U2_Un = new OpCode(566548858);
 
163
                public static readonly OpCode Conv_Ovf_U4_Un = new OpCode(570743162);
 
164
                public static readonly OpCode Conv_Ovf_U8_Un = new OpCode(575040066);
 
165
                public static readonly OpCode Conv_Ovf_I_Un = new OpCode(579131770);
 
166
                public static readonly OpCode Conv_Ovf_U_Un = new OpCode(583326074);
 
167
                public static readonly OpCode Box = new OpCode(587930786);
 
168
                public static readonly OpCode Newarr = new OpCode(592133640);
 
169
                public static readonly OpCode Ldlen = new OpCode(595953446);
 
170
                public static readonly OpCode Ldelema = new OpCode(600157847);
 
171
                public static readonly OpCode Ldelem_I1 = new OpCode(604352143);
 
172
                public static readonly OpCode Ldelem_U1 = new OpCode(608546447);
 
173
                public static readonly OpCode Ldelem_I2 = new OpCode(612740751);
 
174
                public static readonly OpCode Ldelem_U2 = new OpCode(616935055);
 
175
                public static readonly OpCode Ldelem_I4 = new OpCode(621129359);
 
176
                public static readonly OpCode Ldelem_U4 = new OpCode(625323663);
 
177
                public static readonly OpCode Ldelem_I8 = new OpCode(629620567);
 
178
                public static readonly OpCode Ldelem_I = new OpCode(633712271);
 
179
                public static readonly OpCode Ldelem_R4 = new OpCode(638111775);
 
180
                public static readonly OpCode Ldelem_R8 = new OpCode(642408679);
 
181
                public static readonly OpCode Ldelem_Ref = new OpCode(646705583);
 
182
                public static readonly OpCode Stelem_I = new OpCode(650186475);
 
183
                public static readonly OpCode Stelem_I1 = new OpCode(654380779);
 
184
                public static readonly OpCode Stelem_I2 = new OpCode(658575083);
 
185
                public static readonly OpCode Stelem_I4 = new OpCode(662769387);
 
186
                public static readonly OpCode Stelem_I8 = new OpCode(666968821);
 
187
                public static readonly OpCode Stelem_R4 = new OpCode(671168255);
 
188
                public static readonly OpCode Stelem_R8 = new OpCode(675367689);
 
189
                public static readonly OpCode Stelem_Ref = new OpCode(679567123);
 
190
                public static readonly OpCode Ldelem = new OpCode(683838727);
 
191
                public static readonly OpCode Stelem = new OpCode(687965999);
 
192
                public static readonly OpCode Unbox_Any = new OpCode(692217246);
 
193
                public static readonly OpCode Conv_Ovf_I1 = new OpCode(751098234);
 
194
                public static readonly OpCode Conv_Ovf_U1 = new OpCode(755292538);
 
195
                public static readonly OpCode Conv_Ovf_I2 = new OpCode(759486842);
 
196
                public static readonly OpCode Conv_Ovf_U2 = new OpCode(763681146);
 
197
                public static readonly OpCode Conv_Ovf_I4 = new OpCode(767875450);
 
198
                public static readonly OpCode Conv_Ovf_U4 = new OpCode(772069754);
 
199
                public static readonly OpCode Conv_Ovf_I8 = new OpCode(776366658);
 
200
                public static readonly OpCode Conv_Ovf_U8 = new OpCode(780560962);
 
201
                public static readonly OpCode Refanyval = new OpCode(814012802);
 
202
                public static readonly OpCode Ckfinite = new OpCode(818514898);
 
203
                public static readonly OpCode Mkrefany = new OpCode(830595078);
 
204
                public static readonly OpCode Ldtoken = new OpCode(872728098);
 
205
                public static readonly OpCode Conv_U2 = new OpCode(876927354);
 
206
                public static readonly OpCode Conv_U1 = new OpCode(881121658);
 
207
                public static readonly OpCode Conv_I = new OpCode(885315962);
 
208
                public static readonly OpCode Conv_Ovf_I = new OpCode(889510266);
 
209
                public static readonly OpCode Conv_Ovf_U = new OpCode(893704570);
 
210
                public static readonly OpCode Add_Ovf = new OpCode(897698633);
 
211
                public static readonly OpCode Add_Ovf_Un = new OpCode(901892937);
 
212
                public static readonly OpCode Mul_Ovf = new OpCode(906087241);
 
213
                public static readonly OpCode Mul_Ovf_Un = new OpCode(910281545);
 
214
                public static readonly OpCode Sub_Ovf = new OpCode(914475849);
 
215
                public static readonly OpCode Sub_Ovf_Un = new OpCode(918670153);
 
216
                public static readonly OpCode Endfinally = new OpCode(922751806);
 
217
                public static readonly OpCode Leave = new OpCode(926945972);
 
218
                public static readonly OpCode Leave_S = new OpCode(931140291);
 
219
                public static readonly OpCode Stind_I = new OpCode(935359988);
 
220
                public static readonly OpCode Conv_U = new OpCode(939841914);
 
221
                public static readonly OpCode Prefix7 = new OpCode(1040189696);
 
222
                public static readonly OpCode Prefix6 = new OpCode(1044384000);
 
223
                public static readonly OpCode Prefix5 = new OpCode(1048578304);
 
224
                public static readonly OpCode Prefix4 = new OpCode(1052772608);
 
225
                public static readonly OpCode Prefix3 = new OpCode(1056966912);
 
226
                public static readonly OpCode Prefix2 = new OpCode(1061161216);
 
227
                public static readonly OpCode Prefix1 = new OpCode(1065355520);
 
228
                public static readonly OpCode Prefixref = new OpCode(1069549824);
 
229
                public static readonly OpCode Arglist = new OpCode(-2147170789);
 
230
                public static readonly OpCode Ceq = new OpCode(-2142966567);
 
231
                public static readonly OpCode Cgt = new OpCode(-2138772263);
 
232
                public static readonly OpCode Cgt_Un = new OpCode(-2134577959);
 
233
                public static readonly OpCode Clt = new OpCode(-2130383655);
 
234
                public static readonly OpCode Clt_Un = new OpCode(-2126189351);
 
235
                public static readonly OpCode Ldftn = new OpCode(-2122004966);
 
236
                public static readonly OpCode Ldvirtftn = new OpCode(-2117759533);
 
237
                public static readonly OpCode Ldarg = new OpCode(-2109627244);
 
238
                public static readonly OpCode Ldarga = new OpCode(-2105227740);
 
239
                public static readonly OpCode Starg = new OpCode(-2101336448);
 
240
                public static readonly OpCode Ldloc = new OpCode(-2097044332);
 
241
                public static readonly OpCode Ldloca = new OpCode(-2092644828);
 
242
                public static readonly OpCode Stloc = new OpCode(-2088753536);
 
243
                public static readonly OpCode Localloc = new OpCode(-2084241010);
 
244
                public static readonly OpCode Endfilter = new OpCode(-2076160335);
 
245
                public static readonly OpCode Unaligned = new OpCode(-2071982151);
 
246
                public static readonly OpCode Volatile = new OpCode(-2067787858);
 
247
                public static readonly OpCode Tailcall = new OpCode(-2063593554);
 
248
                public static readonly OpCode Initobj = new OpCode(-2059384859);
 
249
                public static readonly OpCode Constrained = new OpCode(-2055204938);
 
250
                public static readonly OpCode Cpblk = new OpCode(-2050974371);
 
251
                public static readonly OpCode Initblk = new OpCode(-2046780067);
 
252
                public static readonly OpCode Rethrow = new OpCode(-2038428509);
 
253
                public static readonly OpCode Sizeof = new OpCode(-2029730269);
 
254
                public static readonly OpCode Refanytype = new OpCode(-2025531014);
 
255
                public static readonly OpCode Readonly = new OpCode(-2021650514);
 
256
 
 
257
                internal static string GetName(int value)
 
258
                {
 
259
                        switch (value)
 
260
                        {
 
261
                                case 0:
 
262
                                        return "nop";
 
263
                                case 1:
 
264
                                        return "break";
 
265
                                case 2:
 
266
                                        return "ldarg.0";
 
267
                                case 3:
 
268
                                        return "ldarg.1";
 
269
                                case 4:
 
270
                                        return "ldarg.2";
 
271
                                case 5:
 
272
                                        return "ldarg.3";
 
273
                                case 6:
 
274
                                        return "ldloc.0";
 
275
                                case 7:
 
276
                                        return "ldloc.1";
 
277
                                case 8:
 
278
                                        return "ldloc.2";
 
279
                                case 9:
 
280
                                        return "ldloc.3";
 
281
                                case 10:
 
282
                                        return "stloc.0";
 
283
                                case 11:
 
284
                                        return "stloc.1";
 
285
                                case 12:
 
286
                                        return "stloc.2";
 
287
                                case 13:
 
288
                                        return "stloc.3";
 
289
                                case 14:
 
290
                                        return "ldarg.s";
 
291
                                case 15:
 
292
                                        return "ldarga.s";
 
293
                                case 16:
 
294
                                        return "starg.s";
 
295
                                case 17:
 
296
                                        return "ldloc.s";
 
297
                                case 18:
 
298
                                        return "ldloca.s";
 
299
                                case 19:
 
300
                                        return "stloc.s";
 
301
                                case 20:
 
302
                                        return "ldnull";
 
303
                                case 21:
 
304
                                        return "ldc.i4.m1";
 
305
                                case 22:
 
306
                                        return "ldc.i4.0";
 
307
                                case 23:
 
308
                                        return "ldc.i4.1";
 
309
                                case 24:
 
310
                                        return "ldc.i4.2";
 
311
                                case 25:
 
312
                                        return "ldc.i4.3";
 
313
                                case 26:
 
314
                                        return "ldc.i4.4";
 
315
                                case 27:
 
316
                                        return "ldc.i4.5";
 
317
                                case 28:
 
318
                                        return "ldc.i4.6";
 
319
                                case 29:
 
320
                                        return "ldc.i4.7";
 
321
                                case 30:
 
322
                                        return "ldc.i4.8";
 
323
                                case 31:
 
324
                                        return "ldc.i4.s";
 
325
                                case 32:
 
326
                                        return "ldc.i4";
 
327
                                case 33:
 
328
                                        return "ldc.i8";
 
329
                                case 34:
 
330
                                        return "ldc.r4";
 
331
                                case 35:
 
332
                                        return "ldc.r8";
 
333
                                case 37:
 
334
                                        return "dup";
 
335
                                case 38:
 
336
                                        return "pop";
 
337
                                case 39:
 
338
                                        return "jmp";
 
339
                                case 40:
 
340
                                        return "call";
 
341
                                case 41:
 
342
                                        return "calli";
 
343
                                case 42:
 
344
                                        return "ret";
 
345
                                case 43:
 
346
                                        return "br.s";
 
347
                                case 44:
 
348
                                        return "brfalse.s";
 
349
                                case 45:
 
350
                                        return "brtrue.s";
 
351
                                case 46:
 
352
                                        return "beq.s";
 
353
                                case 47:
 
354
                                        return "bge.s";
 
355
                                case 48:
 
356
                                        return "bgt.s";
 
357
                                case 49:
 
358
                                        return "ble.s";
 
359
                                case 50:
 
360
                                        return "blt.s";
 
361
                                case 51:
 
362
                                        return "bne.un.s";
 
363
                                case 52:
 
364
                                        return "bge.un.s";
 
365
                                case 53:
 
366
                                        return "bgt.un.s";
 
367
                                case 54:
 
368
                                        return "ble.un.s";
 
369
                                case 55:
 
370
                                        return "blt.un.s";
 
371
                                case 56:
 
372
                                        return "br";
 
373
                                case 57:
 
374
                                        return "brfalse";
 
375
                                case 58:
 
376
                                        return "brtrue";
 
377
                                case 59:
 
378
                                        return "beq";
 
379
                                case 60:
 
380
                                        return "bge";
 
381
                                case 61:
 
382
                                        return "bgt";
 
383
                                case 62:
 
384
                                        return "ble";
 
385
                                case 63:
 
386
                                        return "blt";
 
387
                                case 64:
 
388
                                        return "bne.un";
 
389
                                case 65:
 
390
                                        return "bge.un";
 
391
                                case 66:
 
392
                                        return "bgt.un";
 
393
                                case 67:
 
394
                                        return "ble.un";
 
395
                                case 68:
 
396
                                        return "blt.un";
 
397
                                case 69:
 
398
                                        return "switch";
 
399
                                case 70:
 
400
                                        return "ldind.i1";
 
401
                                case 71:
 
402
                                        return "ldind.u1";
 
403
                                case 72:
 
404
                                        return "ldind.i2";
 
405
                                case 73:
 
406
                                        return "ldind.u2";
 
407
                                case 74:
 
408
                                        return "ldind.i4";
 
409
                                case 75:
 
410
                                        return "ldind.u4";
 
411
                                case 76:
 
412
                                        return "ldind.i8";
 
413
                                case 77:
 
414
                                        return "ldind.i";
 
415
                                case 78:
 
416
                                        return "ldind.r4";
 
417
                                case 79:
 
418
                                        return "ldind.r8";
 
419
                                case 80:
 
420
                                        return "ldind.ref";
 
421
                                case 81:
 
422
                                        return "stind.ref";
 
423
                                case 82:
 
424
                                        return "stind.i1";
 
425
                                case 83:
 
426
                                        return "stind.i2";
 
427
                                case 84:
 
428
                                        return "stind.i4";
 
429
                                case 85:
 
430
                                        return "stind.i8";
 
431
                                case 86:
 
432
                                        return "stind.r4";
 
433
                                case 87:
 
434
                                        return "stind.r8";
 
435
                                case 88:
 
436
                                        return "add";
 
437
                                case 89:
 
438
                                        return "sub";
 
439
                                case 90:
 
440
                                        return "mul";
 
441
                                case 91:
 
442
                                        return "div";
 
443
                                case 92:
 
444
                                        return "div.un";
 
445
                                case 93:
 
446
                                        return "rem";
 
447
                                case 94:
 
448
                                        return "rem.un";
 
449
                                case 95:
 
450
                                        return "and";
 
451
                                case 96:
 
452
                                        return "or";
 
453
                                case 97:
 
454
                                        return "xor";
 
455
                                case 98:
 
456
                                        return "shl";
 
457
                                case 99:
 
458
                                        return "shr";
 
459
                                case 100:
 
460
                                        return "shr.un";
 
461
                                case 101:
 
462
                                        return "neg";
 
463
                                case 102:
 
464
                                        return "not";
 
465
                                case 103:
 
466
                                        return "conv.i1";
 
467
                                case 104:
 
468
                                        return "conv.i2";
 
469
                                case 105:
 
470
                                        return "conv.i4";
 
471
                                case 106:
 
472
                                        return "conv.i8";
 
473
                                case 107:
 
474
                                        return "conv.r4";
 
475
                                case 108:
 
476
                                        return "conv.r8";
 
477
                                case 109:
 
478
                                        return "conv.u4";
 
479
                                case 110:
 
480
                                        return "conv.u8";
 
481
                                case 111:
 
482
                                        return "callvirt";
 
483
                                case 112:
 
484
                                        return "cpobj";
 
485
                                case 113:
 
486
                                        return "ldobj";
 
487
                                case 114:
 
488
                                        return "ldstr";
 
489
                                case 115:
 
490
                                        return "newobj";
 
491
                                case 116:
 
492
                                        return "castclass";
 
493
                                case 117:
 
494
                                        return "isinst";
 
495
                                case 118:
 
496
                                        return "conv.r.un";
 
497
                                case 121:
 
498
                                        return "unbox";
 
499
                                case 122:
 
500
                                        return "throw";
 
501
                                case 123:
 
502
                                        return "ldfld";
 
503
                                case 124:
 
504
                                        return "ldflda";
 
505
                                case 125:
 
506
                                        return "stfld";
 
507
                                case 126:
 
508
                                        return "ldsfld";
 
509
                                case 127:
 
510
                                        return "ldsflda";
 
511
                                case 128:
 
512
                                        return "stsfld";
 
513
                                case 129:
 
514
                                        return "stobj";
 
515
                                case 130:
 
516
                                        return "conv.ovf.i1.un";
 
517
                                case 131:
 
518
                                        return "conv.ovf.i2.un";
 
519
                                case 132:
 
520
                                        return "conv.ovf.i4.un";
 
521
                                case 133:
 
522
                                        return "conv.ovf.i8.un";
 
523
                                case 134:
 
524
                                        return "conv.ovf.u1.un";
 
525
                                case 135:
 
526
                                        return "conv.ovf.u2.un";
 
527
                                case 136:
 
528
                                        return "conv.ovf.u4.un";
 
529
                                case 137:
 
530
                                        return "conv.ovf.u8.un";
 
531
                                case 138:
 
532
                                        return "conv.ovf.i.un";
 
533
                                case 139:
 
534
                                        return "conv.ovf.u.un";
 
535
                                case 140:
 
536
                                        return "box";
 
537
                                case 141:
 
538
                                        return "newarr";
 
539
                                case 142:
 
540
                                        return "ldlen";
 
541
                                case 143:
 
542
                                        return "ldelema";
 
543
                                case 144:
 
544
                                        return "ldelem.i1";
 
545
                                case 145:
 
546
                                        return "ldelem.u1";
 
547
                                case 146:
 
548
                                        return "ldelem.i2";
 
549
                                case 147:
 
550
                                        return "ldelem.u2";
 
551
                                case 148:
 
552
                                        return "ldelem.i4";
 
553
                                case 149:
 
554
                                        return "ldelem.u4";
 
555
                                case 150:
 
556
                                        return "ldelem.i8";
 
557
                                case 151:
 
558
                                        return "ldelem.i";
 
559
                                case 152:
 
560
                                        return "ldelem.r4";
 
561
                                case 153:
 
562
                                        return "ldelem.r8";
 
563
                                case 154:
 
564
                                        return "ldelem.ref";
 
565
                                case 155:
 
566
                                        return "stelem.i";
 
567
                                case 156:
 
568
                                        return "stelem.i1";
 
569
                                case 157:
 
570
                                        return "stelem.i2";
 
571
                                case 158:
 
572
                                        return "stelem.i4";
 
573
                                case 159:
 
574
                                        return "stelem.i8";
 
575
                                case 160:
 
576
                                        return "stelem.r4";
 
577
                                case 161:
 
578
                                        return "stelem.r8";
 
579
                                case 162:
 
580
                                        return "stelem.ref";
 
581
                                case 163:
 
582
                                        return "ldelem";
 
583
                                case 164:
 
584
                                        return "stelem";
 
585
                                case 165:
 
586
                                        return "unbox.any";
 
587
                                case 179:
 
588
                                        return "conv.ovf.i1";
 
589
                                case 180:
 
590
                                        return "conv.ovf.u1";
 
591
                                case 181:
 
592
                                        return "conv.ovf.i2";
 
593
                                case 182:
 
594
                                        return "conv.ovf.u2";
 
595
                                case 183:
 
596
                                        return "conv.ovf.i4";
 
597
                                case 184:
 
598
                                        return "conv.ovf.u4";
 
599
                                case 185:
 
600
                                        return "conv.ovf.i8";
 
601
                                case 186:
 
602
                                        return "conv.ovf.u8";
 
603
                                case 194:
 
604
                                        return "refanyval";
 
605
                                case 195:
 
606
                                        return "ckfinite";
 
607
                                case 198:
 
608
                                        return "mkrefany";
 
609
                                case 208:
 
610
                                        return "ldtoken";
 
611
                                case 209:
 
612
                                        return "conv.u2";
 
613
                                case 210:
 
614
                                        return "conv.u1";
 
615
                                case 211:
 
616
                                        return "conv.i";
 
617
                                case 212:
 
618
                                        return "conv.ovf.i";
 
619
                                case 213:
 
620
                                        return "conv.ovf.u";
 
621
                                case 214:
 
622
                                        return "add.ovf";
 
623
                                case 215:
 
624
                                        return "add.ovf.un";
 
625
                                case 216:
 
626
                                        return "mul.ovf";
 
627
                                case 217:
 
628
                                        return "mul.ovf.un";
 
629
                                case 218:
 
630
                                        return "sub.ovf";
 
631
                                case 219:
 
632
                                        return "sub.ovf.un";
 
633
                                case 220:
 
634
                                        return "endfinally";
 
635
                                case 221:
 
636
                                        return "leave";
 
637
                                case 222:
 
638
                                        return "leave.s";
 
639
                                case 223:
 
640
                                        return "stind.i";
 
641
                                case 224:
 
642
                                        return "conv.u";
 
643
                                case 248:
 
644
                                        return "prefix7";
 
645
                                case 249:
 
646
                                        return "prefix6";
 
647
                                case 250:
 
648
                                        return "prefix5";
 
649
                                case 251:
 
650
                                        return "prefix4";
 
651
                                case 252:
 
652
                                        return "prefix3";
 
653
                                case 253:
 
654
                                        return "prefix2";
 
655
                                case 254:
 
656
                                        return "prefix1";
 
657
                                case 255:
 
658
                                        return "prefixref";
 
659
                                case -512:
 
660
                                        return "arglist";
 
661
                                case -511:
 
662
                                        return "ceq";
 
663
                                case -510:
 
664
                                        return "cgt";
 
665
                                case -509:
 
666
                                        return "cgt.un";
 
667
                                case -508:
 
668
                                        return "clt";
 
669
                                case -507:
 
670
                                        return "clt.un";
 
671
                                case -506:
 
672
                                        return "ldftn";
 
673
                                case -505:
 
674
                                        return "ldvirtftn";
 
675
                                case -503:
 
676
                                        return "ldarg";
 
677
                                case -502:
 
678
                                        return "ldarga";
 
679
                                case -501:
 
680
                                        return "starg";
 
681
                                case -500:
 
682
                                        return "ldloc";
 
683
                                case -499:
 
684
                                        return "ldloca";
 
685
                                case -498:
 
686
                                        return "stloc";
 
687
                                case -497:
 
688
                                        return "localloc";
 
689
                                case -495:
 
690
                                        return "endfilter";
 
691
                                case -494:
 
692
                                        return "unaligned.";
 
693
                                case -493:
 
694
                                        return "volatile.";
 
695
                                case -492:
 
696
                                        return "tail.";
 
697
                                case -491:
 
698
                                        return "initobj";
 
699
                                case -490:
 
700
                                        return "constrained.";
 
701
                                case -489:
 
702
                                        return "cpblk";
 
703
                                case -488:
 
704
                                        return "initblk";
 
705
                                case -486:
 
706
                                        return "rethrow";
 
707
                                case -484:
 
708
                                        return "sizeof";
 
709
                                case -483:
 
710
                                        return "refanytype";
 
711
                                case -482:
 
712
                                        return "readonly.";
 
713
                        }
 
714
                        throw new ArgumentOutOfRangeException();
 
715
                }
 
716
 
 
717
                public static bool TakesSingleByteArgument(OpCode inst)
 
718
                {
 
719
                        switch (inst.Value)
 
720
                        {
 
721
                                case 14:
 
722
                                case 15:
 
723
                                case 16:
 
724
                                case 17:
 
725
                                case 18:
 
726
                                case 19:
 
727
                                case 31:
 
728
                                case 43:
 
729
                                case 44:
 
730
                                case 45:
 
731
                                case 46:
 
732
                                case 47:
 
733
                                case 48:
 
734
                                case 49:
 
735
                                case 50:
 
736
                                case 51:
 
737
                                case 52:
 
738
                                case 53:
 
739
                                case 54:
 
740
                                case 55:
 
741
                                case 222:
 
742
                                case -494:
 
743
                                        return true;
 
744
                                default:
 
745
                                        return false;
 
746
                        }
 
747
                }
 
748
        }
 
749
}