2 // Mechanically generated - DO NOT EDIT!
\r
4 // (C) Sergey Chaban (serge@wildwestsoftware.com)
\r
7 using System.Collections;
\r
8 using System.Reflection.Emit;
\r
10 namespace Mono.ILASM {
\r
16 public sealed class ILTables {
\r
18 private static Hashtable opcodes = null;
\r
19 private static Hashtable keywords = null;
\r
20 private static Hashtable directives = null;
\r
21 private static readonly object mutex;
\r
30 mutex = new object ();
\r
33 private static void AllocTable (ref Hashtable tbl, int size)
\r
37 tbl = new Hashtable (size);
\r
41 public static Hashtable Opcodes
\r
44 if (opcodes != null) return opcodes;
\r
46 AllocTable (ref opcodes, 300);
\r
48 opcodes ["nop"] = new InstrToken (OpCodes.Nop);
\r
49 opcodes ["break"] = new InstrToken (OpCodes.Break);
\r
50 opcodes ["ldarg.0"] = new InstrToken (OpCodes.Ldarg_0);
\r
51 opcodes ["ldarg.1"] = new InstrToken (OpCodes.Ldarg_1);
\r
52 opcodes ["ldarg.2"] = new InstrToken (OpCodes.Ldarg_2);
\r
53 opcodes ["ldarg.3"] = new InstrToken (OpCodes.Ldarg_3);
\r
54 opcodes ["ldloc.0"] = new InstrToken (OpCodes.Ldloc_0);
\r
55 opcodes ["ldloc.1"] = new InstrToken (OpCodes.Ldloc_1);
\r
56 opcodes ["ldloc.2"] = new InstrToken (OpCodes.Ldloc_2);
\r
57 opcodes ["ldloc.3"] = new InstrToken (OpCodes.Ldloc_3);
\r
58 opcodes ["stloc.0"] = new InstrToken (OpCodes.Stloc_0);
\r
59 opcodes ["stloc.1"] = new InstrToken (OpCodes.Stloc_1);
\r
60 opcodes ["stloc.2"] = new InstrToken (OpCodes.Stloc_2);
\r
61 opcodes ["stloc.3"] = new InstrToken (OpCodes.Stloc_3);
\r
62 opcodes ["ldarg.s"] = new InstrToken (OpCodes.Ldarg_S);
\r
63 opcodes ["ldarga.s"] = new InstrToken (OpCodes.Ldarga_S);
\r
64 opcodes ["starg.s"] = new InstrToken (OpCodes.Starg_S);
\r
65 opcodes ["ldloc.s"] = new InstrToken (OpCodes.Ldloc_S);
\r
66 opcodes ["ldloca.s"] = new InstrToken (OpCodes.Ldloca_S);
\r
67 opcodes ["stloc.s"] = new InstrToken (OpCodes.Stloc_S);
\r
68 opcodes ["ldnull"] = new InstrToken (OpCodes.Ldnull);
\r
69 opcodes ["ldc.i4.m1"] = new InstrToken (OpCodes.Ldc_I4_M1);
\r
70 opcodes ["ldc.i4.0"] = new InstrToken (OpCodes.Ldc_I4_0);
\r
71 opcodes ["ldc.i4.1"] = new InstrToken (OpCodes.Ldc_I4_1);
\r
72 opcodes ["ldc.i4.2"] = new InstrToken (OpCodes.Ldc_I4_2);
\r
73 opcodes ["ldc.i4.3"] = new InstrToken (OpCodes.Ldc_I4_3);
\r
74 opcodes ["ldc.i4.4"] = new InstrToken (OpCodes.Ldc_I4_4);
\r
75 opcodes ["ldc.i4.5"] = new InstrToken (OpCodes.Ldc_I4_5);
\r
76 opcodes ["ldc.i4.6"] = new InstrToken (OpCodes.Ldc_I4_6);
\r
77 opcodes ["ldc.i4.7"] = new InstrToken (OpCodes.Ldc_I4_7);
\r
78 opcodes ["ldc.i4.8"] = new InstrToken (OpCodes.Ldc_I4_8);
\r
79 opcodes ["ldc.i4.s"] = new InstrToken (OpCodes.Ldc_I4_S);
\r
80 opcodes ["ldc.i4"] = new InstrToken (OpCodes.Ldc_I4);
\r
81 opcodes ["ldc.i8"] = new InstrToken (OpCodes.Ldc_I8);
\r
82 opcodes ["ldc.r4"] = new InstrToken (OpCodes.Ldc_R4);
\r
83 opcodes ["ldc.r8"] = new InstrToken (OpCodes.Ldc_R8);
\r
84 opcodes ["dup"] = new InstrToken (OpCodes.Dup);
\r
85 opcodes ["pop"] = new InstrToken (OpCodes.Pop);
\r
86 opcodes ["jmp"] = new InstrToken (OpCodes.Jmp);
\r
87 opcodes ["call"] = new InstrToken (OpCodes.Call);
\r
88 opcodes ["calli"] = new InstrToken (OpCodes.Calli);
\r
89 opcodes ["ret"] = new InstrToken (OpCodes.Ret);
\r
90 opcodes ["br.s"] = new InstrToken (OpCodes.Br_S);
\r
91 opcodes ["brfalse.s"] = new InstrToken (OpCodes.Brfalse_S);
\r
92 opcodes ["brtrue.s"] = new InstrToken (OpCodes.Brtrue_S);
\r
93 opcodes ["beq.s"] = new InstrToken (OpCodes.Beq_S);
\r
94 opcodes ["bge.s"] = new InstrToken (OpCodes.Bge_S);
\r
95 opcodes ["bgt.s"] = new InstrToken (OpCodes.Bgt_S);
\r
96 opcodes ["ble.s"] = new InstrToken (OpCodes.Ble_S);
\r
97 opcodes ["blt.s"] = new InstrToken (OpCodes.Blt_S);
\r
98 opcodes ["bne.un.s"] = new InstrToken (OpCodes.Bne_Un_S);
\r
99 opcodes ["bge.un.s"] = new InstrToken (OpCodes.Bge_Un_S);
\r
100 opcodes ["bgt.un.s"] = new InstrToken (OpCodes.Bgt_Un_S);
\r
101 opcodes ["ble.un.s"] = new InstrToken (OpCodes.Ble_Un_S);
\r
102 opcodes ["blt.un.s"] = new InstrToken (OpCodes.Blt_Un_S);
\r
103 opcodes ["br"] = new InstrToken (OpCodes.Br);
\r
104 opcodes ["brfalse"] = new InstrToken (OpCodes.Brfalse);
\r
105 opcodes ["brtrue"] = new InstrToken (OpCodes.Brtrue);
\r
106 opcodes ["beq"] = new InstrToken (OpCodes.Beq);
\r
107 opcodes ["bge"] = new InstrToken (OpCodes.Bge);
\r
108 opcodes ["bgt"] = new InstrToken (OpCodes.Bgt);
\r
109 opcodes ["ble"] = new InstrToken (OpCodes.Ble);
\r
110 opcodes ["blt"] = new InstrToken (OpCodes.Blt);
\r
111 opcodes ["bne.un"] = new InstrToken (OpCodes.Bne_Un);
\r
112 opcodes ["bge.un"] = new InstrToken (OpCodes.Bge_Un);
\r
113 opcodes ["bgt.un"] = new InstrToken (OpCodes.Bgt_Un);
\r
114 opcodes ["ble.un"] = new InstrToken (OpCodes.Ble_Un);
\r
115 opcodes ["blt.un"] = new InstrToken (OpCodes.Blt_Un);
\r
116 opcodes ["switch"] = new InstrToken (OpCodes.Switch);
\r
117 opcodes ["ldind.i1"] = new InstrToken (OpCodes.Ldind_I1);
\r
118 opcodes ["ldind.u1"] = new InstrToken (OpCodes.Ldind_U1);
\r
119 opcodes ["ldind.i2"] = new InstrToken (OpCodes.Ldind_I2);
\r
120 opcodes ["ldind.u2"] = new InstrToken (OpCodes.Ldind_U2);
\r
121 opcodes ["ldind.i4"] = new InstrToken (OpCodes.Ldind_I4);
\r
122 opcodes ["ldind.u4"] = new InstrToken (OpCodes.Ldind_U4);
\r
123 opcodes ["ldind.i8"] = new InstrToken (OpCodes.Ldind_I8);
\r
124 opcodes ["ldind.i"] = new InstrToken (OpCodes.Ldind_I);
\r
125 opcodes ["ldind.r4"] = new InstrToken (OpCodes.Ldind_R4);
\r
126 opcodes ["ldind.r8"] = new InstrToken (OpCodes.Ldind_R8);
\r
127 opcodes ["ldind.ref"] = new InstrToken (OpCodes.Ldind_Ref);
\r
128 opcodes ["stind.ref"] = new InstrToken (OpCodes.Stind_Ref);
\r
129 opcodes ["stind.i1"] = new InstrToken (OpCodes.Stind_I1);
\r
130 opcodes ["stind.i2"] = new InstrToken (OpCodes.Stind_I2);
\r
131 opcodes ["stind.i4"] = new InstrToken (OpCodes.Stind_I4);
\r
132 opcodes ["stind.i8"] = new InstrToken (OpCodes.Stind_I8);
\r
133 opcodes ["stind.r4"] = new InstrToken (OpCodes.Stind_R4);
\r
134 opcodes ["stind.r8"] = new InstrToken (OpCodes.Stind_R8);
\r
135 opcodes ["add"] = new InstrToken (OpCodes.Add);
\r
136 opcodes ["sub"] = new InstrToken (OpCodes.Sub);
\r
137 opcodes ["mul"] = new InstrToken (OpCodes.Mul);
\r
138 opcodes ["div"] = new InstrToken (OpCodes.Div);
\r
139 opcodes ["div.un"] = new InstrToken (OpCodes.Div_Un);
\r
140 opcodes ["rem"] = new InstrToken (OpCodes.Rem);
\r
141 opcodes ["rem.un"] = new InstrToken (OpCodes.Rem_Un);
\r
142 opcodes ["and"] = new InstrToken (OpCodes.And);
\r
143 opcodes ["or"] = new InstrToken (OpCodes.Or);
\r
144 opcodes ["xor"] = new InstrToken (OpCodes.Xor);
\r
145 opcodes ["shl"] = new InstrToken (OpCodes.Shl);
\r
146 opcodes ["shr"] = new InstrToken (OpCodes.Shr);
\r
147 opcodes ["shr.un"] = new InstrToken (OpCodes.Shr_Un);
\r
148 opcodes ["neg"] = new InstrToken (OpCodes.Neg);
\r
149 opcodes ["not"] = new InstrToken (OpCodes.Not);
\r
150 opcodes ["conv.i1"] = new InstrToken (OpCodes.Conv_I1);
\r
151 opcodes ["conv.i2"] = new InstrToken (OpCodes.Conv_I2);
\r
152 opcodes ["conv.i4"] = new InstrToken (OpCodes.Conv_I4);
\r
153 opcodes ["conv.i8"] = new InstrToken (OpCodes.Conv_I8);
\r
154 opcodes ["conv.r4"] = new InstrToken (OpCodes.Conv_R4);
\r
155 opcodes ["conv.r8"] = new InstrToken (OpCodes.Conv_R8);
\r
156 opcodes ["conv.u4"] = new InstrToken (OpCodes.Conv_U4);
\r
157 opcodes ["conv.u8"] = new InstrToken (OpCodes.Conv_U8);
\r
158 opcodes ["callvirt"] = new InstrToken (OpCodes.Callvirt);
\r
159 opcodes ["cpobj"] = new InstrToken (OpCodes.Cpobj);
\r
160 opcodes ["ldobj"] = new InstrToken (OpCodes.Ldobj);
\r
161 opcodes ["ldstr"] = new InstrToken (OpCodes.Ldstr);
\r
162 opcodes ["newobj"] = new InstrToken (OpCodes.Newobj);
\r
163 opcodes ["castclass"] = new InstrToken (OpCodes.Castclass);
\r
164 opcodes ["isinst"] = new InstrToken (OpCodes.Isinst);
\r
165 opcodes ["conv.r.un"] = new InstrToken (OpCodes.Conv_R_Un);
\r
166 opcodes ["unbox"] = new InstrToken (OpCodes.Unbox);
\r
167 opcodes ["throw"] = new InstrToken (OpCodes.Throw);
\r
168 opcodes ["ldfld"] = new InstrToken (OpCodes.Ldfld);
\r
169 opcodes ["ldflda"] = new InstrToken (OpCodes.Ldflda);
\r
170 opcodes ["stfld"] = new InstrToken (OpCodes.Stfld);
\r
171 opcodes ["ldsfld"] = new InstrToken (OpCodes.Ldsfld);
\r
172 opcodes ["ldsflda"] = new InstrToken (OpCodes.Ldsflda);
\r
173 opcodes ["stsfld"] = new InstrToken (OpCodes.Stsfld);
\r
174 opcodes ["stobj"] = new InstrToken (OpCodes.Stobj);
\r
175 opcodes ["conv.ovf.i1.un"] = new InstrToken (OpCodes.Conv_Ovf_I1_Un);
\r
176 opcodes ["conv.ovf.i2.un"] = new InstrToken (OpCodes.Conv_Ovf_I2_Un);
\r
177 opcodes ["conv.ovf.i4.un"] = new InstrToken (OpCodes.Conv_Ovf_I4_Un);
\r
178 opcodes ["conv.ovf.i8.un"] = new InstrToken (OpCodes.Conv_Ovf_I8_Un);
\r
179 opcodes ["conv.ovf.u1.un"] = new InstrToken (OpCodes.Conv_Ovf_U1_Un);
\r
180 opcodes ["conv.ovf.u2.un"] = new InstrToken (OpCodes.Conv_Ovf_U2_Un);
\r
181 opcodes ["conv.ovf.u4.un"] = new InstrToken (OpCodes.Conv_Ovf_U4_Un);
\r
182 opcodes ["conv.ovf.u8.un"] = new InstrToken (OpCodes.Conv_Ovf_U8_Un);
\r
183 opcodes ["conv.ovf.i.un"] = new InstrToken (OpCodes.Conv_Ovf_I_Un);
\r
184 opcodes ["conv.ovf.u.un"] = new InstrToken (OpCodes.Conv_Ovf_U_Un);
\r
185 // /* Obsolete! */ opcodes ["boxval"] = new InstrToken (OpCodes.Boxval);
\r
186 opcodes ["box"] = new InstrToken (OpCodes.Box);
\r
187 opcodes ["newarr"] = new InstrToken (OpCodes.Newarr);
\r
188 opcodes ["ldlen"] = new InstrToken (OpCodes.Ldlen);
\r
189 opcodes ["ldelema"] = new InstrToken (OpCodes.Ldelema);
\r
190 opcodes ["ldelem.i1"] = new InstrToken (OpCodes.Ldelem_I1);
\r
191 opcodes ["ldelem.u1"] = new InstrToken (OpCodes.Ldelem_U1);
\r
192 opcodes ["ldelem.i2"] = new InstrToken (OpCodes.Ldelem_I2);
\r
193 opcodes ["ldelem.u2"] = new InstrToken (OpCodes.Ldelem_U2);
\r
194 opcodes ["ldelem.i4"] = new InstrToken (OpCodes.Ldelem_I4);
\r
195 opcodes ["ldelem.u4"] = new InstrToken (OpCodes.Ldelem_U4);
\r
196 opcodes ["ldelem.i8"] = new InstrToken (OpCodes.Ldelem_I8);
\r
197 opcodes ["ldelem.i"] = new InstrToken (OpCodes.Ldelem_I);
\r
198 opcodes ["ldelem.r4"] = new InstrToken (OpCodes.Ldelem_R4);
\r
199 opcodes ["ldelem.r8"] = new InstrToken (OpCodes.Ldelem_R8);
\r
200 opcodes ["ldelem.ref"] = new InstrToken (OpCodes.Ldelem_Ref);
\r
201 opcodes ["stelem.i"] = new InstrToken (OpCodes.Stelem_I);
\r
202 opcodes ["stelem.i1"] = new InstrToken (OpCodes.Stelem_I1);
\r
203 opcodes ["stelem.i2"] = new InstrToken (OpCodes.Stelem_I2);
\r
204 opcodes ["stelem.i4"] = new InstrToken (OpCodes.Stelem_I4);
\r
205 opcodes ["stelem.i8"] = new InstrToken (OpCodes.Stelem_I8);
\r
206 opcodes ["stelem.r4"] = new InstrToken (OpCodes.Stelem_R4);
\r
207 opcodes ["stelem.r8"] = new InstrToken (OpCodes.Stelem_R8);
\r
208 opcodes ["stelem.ref"] = new InstrToken (OpCodes.Stelem_Ref);
\r
209 opcodes ["conv.ovf.i1"] = new InstrToken (OpCodes.Conv_Ovf_I1);
\r
210 opcodes ["conv.ovf.u1"] = new InstrToken (OpCodes.Conv_Ovf_U1);
\r
211 opcodes ["conv.ovf.i2"] = new InstrToken (OpCodes.Conv_Ovf_I2);
\r
212 opcodes ["conv.ovf.u2"] = new InstrToken (OpCodes.Conv_Ovf_U2);
\r
213 opcodes ["conv.ovf.i4"] = new InstrToken (OpCodes.Conv_Ovf_I4);
\r
214 opcodes ["conv.ovf.u4"] = new InstrToken (OpCodes.Conv_Ovf_U4);
\r
215 opcodes ["conv.ovf.i8"] = new InstrToken (OpCodes.Conv_Ovf_I8);
\r
216 opcodes ["conv.ovf.u8"] = new InstrToken (OpCodes.Conv_Ovf_U8);
\r
217 opcodes ["refanyval"] = new InstrToken (OpCodes.Refanyval);
\r
218 opcodes ["ckfinite"] = new InstrToken (OpCodes.Ckfinite);
\r
219 opcodes ["mkrefany"] = new InstrToken (OpCodes.Mkrefany);
\r
220 opcodes ["ldtoken"] = new InstrToken (OpCodes.Ldtoken);
\r
221 opcodes ["conv.u2"] = new InstrToken (OpCodes.Conv_U2);
\r
222 opcodes ["conv.u1"] = new InstrToken (OpCodes.Conv_U1);
\r
223 opcodes ["conv.i"] = new InstrToken (OpCodes.Conv_I);
\r
224 opcodes ["conv.ovf.i"] = new InstrToken (OpCodes.Conv_Ovf_I);
\r
225 opcodes ["conv.ovf.u"] = new InstrToken (OpCodes.Conv_Ovf_U);
\r
226 opcodes ["add.ovf"] = new InstrToken (OpCodes.Add_Ovf);
\r
227 opcodes ["add.ovf.un"] = new InstrToken (OpCodes.Add_Ovf_Un);
\r
228 opcodes ["mul.ovf"] = new InstrToken (OpCodes.Mul_Ovf);
\r
229 opcodes ["mul.ovf.un"] = new InstrToken (OpCodes.Mul_Ovf_Un);
\r
230 opcodes ["sub.ovf"] = new InstrToken (OpCodes.Sub_Ovf);
\r
231 opcodes ["sub.ovf.un"] = new InstrToken (OpCodes.Sub_Ovf_Un);
\r
232 opcodes ["endfinally"] = new InstrToken (OpCodes.Endfinally);
\r
233 opcodes ["leave"] = new InstrToken (OpCodes.Leave);
\r
234 opcodes ["leave.s"] = new InstrToken (OpCodes.Leave_S);
\r
235 opcodes ["stind.i"] = new InstrToken (OpCodes.Stind_I);
\r
236 opcodes ["conv.u"] = new InstrToken (OpCodes.Conv_U);
\r
237 opcodes ["prefix7"] = new InstrToken (OpCodes.Prefix7);
\r
238 opcodes ["prefix6"] = new InstrToken (OpCodes.Prefix6);
\r
239 opcodes ["prefix5"] = new InstrToken (OpCodes.Prefix5);
\r
240 opcodes ["prefix4"] = new InstrToken (OpCodes.Prefix4);
\r
241 opcodes ["prefix3"] = new InstrToken (OpCodes.Prefix3);
\r
242 opcodes ["prefix2"] = new InstrToken (OpCodes.Prefix2);
\r
243 opcodes ["prefix1"] = new InstrToken (OpCodes.Prefix1);
\r
244 opcodes ["prefixref"] = new InstrToken (OpCodes.Prefixref);
\r
245 opcodes ["arglist"] = new InstrToken (OpCodes.Arglist);
\r
246 opcodes ["ceq"] = new InstrToken (OpCodes.Ceq);
\r
247 opcodes ["cgt"] = new InstrToken (OpCodes.Cgt);
\r
248 opcodes ["cgt.un"] = new InstrToken (OpCodes.Cgt_Un);
\r
249 opcodes ["clt"] = new InstrToken (OpCodes.Clt);
\r
250 opcodes ["clt.un"] = new InstrToken (OpCodes.Clt_Un);
\r
251 opcodes ["ldftn"] = new InstrToken (OpCodes.Ldftn);
\r
252 opcodes ["ldvirtftn"] = new InstrToken (OpCodes.Ldvirtftn);
\r
253 opcodes ["ldarg"] = new InstrToken (OpCodes.Ldarg);
\r
254 opcodes ["ldarga"] = new InstrToken (OpCodes.Ldarga);
\r
255 opcodes ["starg"] = new InstrToken (OpCodes.Starg);
\r
256 opcodes ["ldloc"] = new InstrToken (OpCodes.Ldloc);
\r
257 opcodes ["ldloca"] = new InstrToken (OpCodes.Ldloca);
\r
258 opcodes ["stloc"] = new InstrToken (OpCodes.Stloc);
\r
259 opcodes ["localloc"] = new InstrToken (OpCodes.Localloc);
\r
260 opcodes ["endfilter"] = new InstrToken (OpCodes.Endfilter);
\r
261 opcodes ["unaligned."] = new InstrToken (OpCodes.Unaligned);
\r
262 opcodes ["volatile."] = new InstrToken (OpCodes.Volatile);
\r
263 opcodes ["tail."] = new InstrToken (OpCodes.Tailcall);
\r
264 opcodes ["initobj"] = new InstrToken (OpCodes.Initobj);
\r
265 opcodes ["cpblk"] = new InstrToken (OpCodes.Cpblk);
\r
266 opcodes ["initblk"] = new InstrToken (OpCodes.Initblk);
\r
267 opcodes ["rethrow"] = new InstrToken (OpCodes.Rethrow);
\r
268 opcodes ["sizeof"] = new InstrToken (OpCodes.Sizeof);
\r
269 opcodes ["refanytype"] = new InstrToken (OpCodes.Refanytype);
\r
276 public static Hashtable Directives
\r
279 if (directives != null) return directives;
\r
281 AllocTable (ref directives, 300);
\r
283 directives [".addon"] = new ILToken (Token.D_ADDON, ".addon");
\r
284 directives [".algorithm"] = new ILToken (Token.D_ALGORITHM, ".algorithm");
\r
285 directives [".assembly"] = new ILToken (Token.D_ASSEMBLY, ".assembly");
\r
286 directives [".backing"] = new ILToken (Token.D_BACKING, ".backing");
\r
287 directives [".blob"] = new ILToken (Token.D_BLOB, ".blob");
\r
288 directives [".capability"] = new ILToken (Token.D_CAPABILITY, ".capability");
\r
289 directives [".cctor"] = new ILToken (Token.D_CCTOR, ".cctor");
\r
290 directives [".class"] = new ILToken (Token.D_CLASS, ".class");
\r
291 directives [".comtype"] = new ILToken (Token.D_COMTYPE, ".comtype");
\r
292 directives [".config"] = new ILToken (Token.D_CONFIG, ".config");
\r
293 directives [".imagebase"] = new ILToken (Token.D_IMAGEBASE, ".imagebase");
\r
294 directives [".corflags"] = new ILToken (Token.D_CORFLAGS, ".corflags");
\r
295 directives [".ctor"] = new ILToken (Token.D_CTOR, ".ctor");
\r
296 directives [".custom"] = new ILToken (Token.D_CUSTOM, ".custom");
\r
297 directives [".data"] = new ILToken (Token.D_DATA, ".data");
\r
298 directives [".emitbyte"] = new ILToken (Token.D_EMITBYTE, ".emitbyte");
\r
299 directives [".entrypoint"] = new ILToken (Token.D_ENTRYPOINT, ".entrypoint");
\r
300 directives [".event"] = new ILToken (Token.D_EVENT, ".event");
\r
301 directives [".exeloc"] = new ILToken (Token.D_EXELOC, ".exeloc");
\r
302 directives [".export"] = new ILToken (Token.D_EXPORT, ".export");
\r
303 directives [".field"] = new ILToken (Token.D_FIELD, ".field");
\r
304 directives [".file"] = new ILToken (Token.D_FILE, ".file");
\r
305 directives [".fire"] = new ILToken (Token.D_FIRE, ".fire");
\r
306 directives [".get"] = new ILToken (Token.D_GET, ".get");
\r
307 directives [".hash"] = new ILToken (Token.D_HASH, ".hash");
\r
308 directives [".implicitcom"] = new ILToken (Token.D_IMPLICITCOM, ".implicitcom");
\r
309 directives [".language"] = new ILToken (Token.D_LANGUAGE, ".language");
\r
310 directives [".line"] = new ILToken (Token.D_LINE, ".line");
\r
311 directives ["#line"] = new ILToken (Token.D_XLINE, "#line");
\r
312 directives [".locale"] = new ILToken (Token.D_LOCALE, ".locale");
\r
313 directives [".locals"] = new ILToken (Token.D_LOCALS, ".locals");
\r
314 directives [".manifestres"] = new ILToken (Token.D_MANIFESTRES, ".manifestres");
\r
315 directives [".maxstack"] = new ILToken (Token.D_MAXSTACK, ".maxstack");
\r
316 directives [".method"] = new ILToken (Token.D_METHOD, ".method");
\r
317 directives [".mime"] = new ILToken (Token.D_MIME, ".mime");
\r
318 directives [".module"] = new ILToken (Token.D_MODULE, ".module");
\r
319 directives [".mresource"] = new ILToken (Token.D_MRESOURCE, ".mresource");
\r
320 directives [".namespace"] = new ILToken (Token.D_NAMESPACE, ".namespace");
\r
321 directives [".originator"] = new ILToken (Token.D_ORIGINATOR, ".originator");
\r
322 directives [".os"] = new ILToken (Token.D_OS, ".os");
\r
323 directives [".other"] = new ILToken (Token.D_OTHER, ".other");
\r
324 directives [".override"] = new ILToken (Token.D_OVERRIDE, ".override");
\r
325 directives [".pack"] = new ILToken (Token.D_PACK, ".pack");
\r
326 directives [".param"] = new ILToken (Token.D_PARAM, ".param");
\r
327 directives [".permission"] = new ILToken (Token.D_PERMISSION, ".permission");
\r
328 directives [".permissionset"] = new ILToken (Token.D_PERMISSIONSET, ".permissionset");
\r
329 directives [".processor"] = new ILToken (Token.D_PROCESSOR, ".processor");
\r
330 directives [".property"] = new ILToken (Token.D_PROPERTY, ".property");
\r
331 directives [".publickey"] = new ILToken (Token.D_PUBLICKEY, ".publickey");
\r
332 directives [".publickeytoken"] = new ILToken (Token.D_PUBLICKEYTOKEN, ".publickeytoken");
\r
333 directives [".removeon"] = new ILToken (Token.D_REMOVEON, ".removeon");
\r
334 directives [".set"] = new ILToken (Token.D_SET, ".set");
\r
335 directives [".size"] = new ILToken (Token.D_SIZE, ".size");
\r
336 directives [".subsystem"] = new ILToken (Token.D_SUBSYSTEM, ".subsystem");
\r
337 directives [".title"] = new ILToken (Token.D_TITLE, ".title");
\r
338 directives [".try"] = new ILToken (Token.D_TRY, ".try");
\r
339 directives [".ver"] = new ILToken (Token.D_VER, ".ver");
\r
340 directives [".vtable"] = new ILToken (Token.D_VTABLE, ".vtable");
\r
341 directives [".vtentry"] = new ILToken (Token.D_VTENTRY, ".vtentry");
\r
342 directives [".vtfixup"] = new ILToken (Token.D_VTFIXUP, ".vtfixup");
\r
343 directives [".zeroinit"] = new ILToken (Token.D_ZEROINIT, ".zeroinit");
\r
351 public static Hashtable Keywords
\r
354 if (keywords != null) return keywords;
\r
356 AllocTable (ref keywords, 300);
\r
358 keywords ["at"] = new ILToken (Token.K_AT, "at");
\r
359 keywords ["as"] = new ILToken (Token.K_AS, "as");
\r
360 keywords ["implicitcom"] = new ILToken (Token.K_IMPLICITCOM, "implicitcom");
\r
361 keywords ["implicitres"] = new ILToken (Token.K_IMPLICITRES, "implicitres");
\r
362 keywords ["noappdomain"] = new ILToken (Token.K_NOAPPDOMAIN, "noappdomain");
\r
363 keywords ["noprocess"] = new ILToken (Token.K_NOPROCESS, "noprocess");
\r
364 keywords ["nomachine"] = new ILToken (Token.K_NOMACHINE, "nomachine");
\r
365 keywords ["extern"] = new ILToken (Token.K_EXTERN, "extern");
\r
366 keywords ["instance"] = new ILToken (Token.K_INSTANCE, "instance");
\r
367 keywords ["explicit"] = new ILToken (Token.K_EXPLICIT, "explicit");
\r
368 keywords ["default"] = new ILToken (Token.K_DEFAULT, "default");
\r
369 keywords ["vararg"] = new ILToken (Token.K_VARARG, "vararg");
\r
370 keywords ["unmanaged"] = new ILToken (Token.K_UNMANAGED, "unmanaged");
\r
371 keywords ["cdecl"] = new ILToken (Token.K_CDECL, "cdecl");
\r
372 keywords ["stdcall"] = new ILToken (Token.K_STDCALL, "stdcall");
\r
373 keywords ["thiscall"] = new ILToken (Token.K_THISCALL, "thiscall");
\r
374 keywords ["fastcall"] = new ILToken (Token.K_FASTCALL, "fastcall");
\r
375 keywords ["marshal"] = new ILToken (Token.K_MARSHAL, "marshal");
\r
376 keywords ["in"] = new ILToken (Token.K_IN, "in");
\r
377 keywords ["out"] = new ILToken (Token.K_OUT, "out");
\r
378 keywords ["opt"] = new ILToken (Token.K_OPT, "opt");
\r
379 keywords ["lcid"] = new ILToken (Token.K_LCID, "lcid");
\r
380 keywords ["retval"] = new ILToken (Token.K_RETVAL, "retval");
\r
381 keywords ["static"] = new ILToken (Token.K_STATIC, "static");
\r
382 keywords ["public"] = new ILToken (Token.K_PUBLIC, "public");
\r
383 keywords ["private"] = new ILToken (Token.K_PRIVATE, "private");
\r
384 keywords ["family"] = new ILToken (Token.K_FAMILY, "family");
\r
385 keywords ["initonly"] = new ILToken (Token.K_INITONLY, "initonly");
\r
386 keywords ["rtspecialname"] = new ILToken (Token.K_RTSPECIALNAME, "rtspecialname");
\r
387 keywords ["specialname"] = new ILToken (Token.K_SPECIALNAME, "specialname");
\r
388 keywords ["assembly"] = new ILToken (Token.K_ASSEMBLY, "assembly");
\r
389 keywords ["famandassem"] = new ILToken (Token.K_FAMANDASSEM, "famandassem");
\r
390 keywords ["famorassem"] = new ILToken (Token.K_FAMORASSEM, "famorassem");
\r
391 keywords ["privatescope"] = new ILToken (Token.K_PRIVATESCOPE, "privatescope");
\r
392 keywords ["literal"] = new ILToken (Token.K_LITERAL, "literal");
\r
393 keywords ["notserialized"] = new ILToken (Token.K_NOTSERIALIZED, "notserialized");
\r
394 keywords ["value"] = new ILToken (Token.K_VALUE, "value");
\r
395 keywords ["not_in_gc_heap"] = new ILToken (Token.K_NOT_IN_GC_HEAP, "not_in_gc_heap");
\r
396 keywords ["interface"] = new ILToken (Token.K_INTERFACE, "interface");
\r
397 keywords ["sealed"] = new ILToken (Token.K_SEALED, "sealed");
\r
398 keywords ["abstract"] = new ILToken (Token.K_ABSTRACT, "abstract");
\r
399 keywords ["auto"] = new ILToken (Token.K_AUTO, "auto");
\r
400 keywords ["sequential"] = new ILToken (Token.K_SEQUENTIAL, "sequential");
\r
401 keywords ["ansi"] = new ILToken (Token.K_ANSI, "ansi");
\r
402 keywords ["unicode"] = new ILToken (Token.K_UNICODE, "unicode");
\r
403 keywords ["autochar"] = new ILToken (Token.K_AUTOCHAR, "autochar");
\r
404 keywords ["import"] = new ILToken (Token.K_IMPORT, "import");
\r
405 keywords ["serializable"] = new ILToken (Token.K_SERIALIZABLE, "serializable");
\r
406 keywords ["nested"] = new ILToken (Token.K_NESTED, "nested");
\r
407 keywords ["lateinit"] = new ILToken (Token.K_LATEINIT, "lateinit");
\r
408 keywords ["extends"] = new ILToken (Token.K_EXTENDS, "extends");
\r
409 keywords ["implements"] = new ILToken (Token.K_IMPLEMENTS, "implements");
\r
410 keywords ["final"] = new ILToken (Token.K_FINAL, "final");
\r
411 keywords ["virtual"] = new ILToken (Token.K_VIRTUAL, "virtual");
\r
412 keywords ["hidebysig"] = new ILToken (Token.K_HIDEBYSIG, "hidebysig");
\r
413 keywords ["newslot"] = new ILToken (Token.K_NEWSLOT, "newslot");
\r
414 keywords ["unmanagedexp"] = new ILToken (Token.K_UNMANAGEDEXP, "unmanagedexp");
\r
415 keywords ["pinvokeimpl"] = new ILToken (Token.K_PINVOKEIMPL, "pinvokeimpl");
\r
416 keywords ["nomangle"] = new ILToken (Token.K_NOMANGLE, "nomangle");
\r
417 keywords ["ole"] = new ILToken (Token.K_OLE, "ole");
\r
418 keywords ["lasterr"] = new ILToken (Token.K_LASTERR, "lasterr");
\r
419 keywords ["winapi"] = new ILToken (Token.K_WINAPI, "winapi");
\r
420 keywords ["native"] = new ILToken (Token.K_NATIVE, "native");
\r
421 keywords ["il"] = new ILToken (Token.K_IL, "il");
\r
422 keywords ["cil"] = new ILToken (Token.K_CIL, "cil");
\r
423 keywords ["optil"] = new ILToken (Token.K_OPTIL, "optil");
\r
424 keywords ["managed"] = new ILToken (Token.K_MANAGED, "managed");
\r
425 keywords ["forwardref"] = new ILToken (Token.K_FORWARDREF, "forwardref");
\r
426 keywords ["runtime"] = new ILToken (Token.K_RUNTIME, "runtime");
\r
427 keywords ["internalcall"] = new ILToken (Token.K_INTERNALCALL, "internalcall");
\r
428 keywords ["synchronized"] = new ILToken (Token.K_SYNCHRONIZED, "synchronized");
\r
429 keywords ["noinlining"] = new ILToken (Token.K_NOINLINING, "noinlining");
\r
430 keywords ["custom"] = new ILToken (Token.K_CUSTOM, "custom");
\r
431 keywords ["fixed"] = new ILToken (Token.K_FIXED, "fixed");
\r
432 keywords ["sysstring"] = new ILToken (Token.K_SYSSTRING, "sysstring");
\r
433 keywords ["array"] = new ILToken (Token.K_ARRAY, "array");
\r
434 keywords ["variant"] = new ILToken (Token.K_VARIANT, "variant");
\r
435 keywords ["currency"] = new ILToken (Token.K_CURRENCY, "currency");
\r
436 keywords ["syschar"] = new ILToken (Token.K_SYSCHAR, "syschar");
\r
437 keywords ["void"] = new ILToken (Token.K_VOID, "void");
\r
438 keywords ["bool"] = new ILToken (Token.K_BOOL, "bool");
\r
439 keywords ["int8"] = new ILToken (Token.K_INT8, "int8");
\r
440 keywords ["int16"] = new ILToken (Token.K_INT16, "int16");
\r
441 keywords ["int32"] = new ILToken (Token.K_INT32, "int32");
\r
442 keywords ["int64"] = new ILToken (Token.K_INT64, "int64");
\r
443 keywords ["float32"] = new ILToken (Token.K_FLOAT32, "float32");
\r
444 keywords ["float64"] = new ILToken (Token.K_FLOAT64, "float64");
\r
445 keywords ["error"] = new ILToken (Token.K_ERROR, "error");
\r
446 keywords ["unsigned"] = new ILToken (Token.K_UNSIGNED, "unsigned");
\r
447 keywords ["decimal"] = new ILToken (Token.K_DECIMAL, "decimal");
\r
448 keywords ["date"] = new ILToken (Token.K_DATE, "date");
\r
449 keywords ["bstr"] = new ILToken (Token.K_BSTR, "bstr");
\r
450 keywords ["lpstr"] = new ILToken (Token.K_LPSTR, "lpstr");
\r
451 keywords ["lpwstr"] = new ILToken (Token.K_LPWSTR, "lpwstr");
\r
452 keywords ["lptstr"] = new ILToken (Token.K_LPTSTR, "lptstr");
\r
453 keywords ["objectref"] = new ILToken (Token.K_OBJECTREF, "objectref");
\r
454 keywords ["iunknown"] = new ILToken (Token.K_IUNKNOWN, "iunknown");
\r
455 keywords ["idispatch"] = new ILToken (Token.K_IDISPATCH, "idispatch");
\r
456 keywords ["struct"] = new ILToken (Token.K_STRUCT, "struct");
\r
457 keywords ["safearray"] = new ILToken (Token.K_SAFEARRAY, "safearray");
\r
458 keywords ["int"] = new ILToken (Token.K_INT, "int");
\r
459 keywords ["byvalstr"] = new ILToken (Token.K_BYVALSTR, "byvalstr");
\r
460 keywords ["tbstr"] = new ILToken (Token.K_TBSTR, "tbstr");
\r
461 keywords ["lpvoid"] = new ILToken (Token.K_LPVOID, "lpvoid");
\r
462 keywords ["any"] = new ILToken (Token.K_ANY, "any");
\r
463 keywords ["float"] = new ILToken (Token.K_FLOAT, "float");
\r
464 keywords ["lpstruct"] = new ILToken (Token.K_LPSTRUCT, "lpstruct");
\r
465 keywords ["null"] = new ILToken (Token.K_NULL, "null");
\r
466 // keywords ["ptr"] = new ILToken (Token.K_PTR, "ptr");
\r
467 keywords ["vector"] = new ILToken (Token.K_VECTOR, "vector");
\r
468 keywords ["hresult"] = new ILToken (Token.K_HRESULT, "hresult");
\r
469 keywords ["carray"] = new ILToken (Token.K_CARRAY, "carray");
\r
470 keywords ["userdefined"] = new ILToken (Token.K_USERDEFINED, "userdefined");
\r
471 keywords ["record"] = new ILToken (Token.K_RECORD, "record");
\r
472 keywords ["filetime"] = new ILToken (Token.K_FILETIME, "filetime");
\r
473 keywords ["blob"] = new ILToken (Token.K_BLOB, "blob");
\r
474 keywords ["stream"] = new ILToken (Token.K_STREAM, "stream");
\r
475 keywords ["storage"] = new ILToken (Token.K_STORAGE, "storage");
\r
476 keywords ["streamed_object"] = new ILToken (Token.K_STREAMED_OBJECT, "streamed_object");
\r
477 keywords ["stored_object"] = new ILToken (Token.K_STORED_OBJECT, "stored_object");
\r
478 keywords ["blob_object"] = new ILToken (Token.K_BLOB_OBJECT, "blob_object");
\r
479 keywords ["cf"] = new ILToken (Token.K_CF, "cf");
\r
480 keywords ["clsid"] = new ILToken (Token.K_CLSID, "clsid");
\r
481 keywords ["method"] = new ILToken (Token.K_METHOD, "method");
\r
482 keywords ["class"] = new ILToken (Token.K_CLASS, "class");
\r
483 keywords ["pinned"] = new ILToken (Token.K_PINNED, "pinned");
\r
484 keywords ["modreq"] = new ILToken (Token.K_MODREQ, "modreq");
\r
485 keywords ["modopt"] = new ILToken (Token.K_MODOPT, "modopt");
\r
486 keywords ["typedref"] = new ILToken (Token.K_TYPEDREF, "typedref");
\r
487 keywords ["refany"] = new ILToken (Token.K_TYPEDREF, "typedref");
\r
488 keywords ["wchar"] = new ILToken (Token.K_WCHAR, "wchar");
\r
489 keywords ["char"] = new ILToken (Token.K_CHAR, "char");
\r
490 keywords ["fromunmanaged"] = new ILToken (Token.K_FROMUNMANAGED, "fromunmanaged");
\r
491 keywords ["callmostderived"] = new ILToken (Token.K_CALLMOSTDERIVED, "callmostderived");
\r
492 keywords ["bytearray"] = new ILToken (Token.K_BYTEARRAY, "bytearray");
\r
493 keywords ["with"] = new ILToken (Token.K_WITH, "with");
\r
494 keywords ["init"] = new ILToken (Token.K_INIT, "init");
\r
495 keywords ["to"] = new ILToken (Token.K_TO, "to");
\r
496 keywords ["catch"] = new ILToken (Token.K_CATCH, "catch");
\r
497 keywords ["filter"] = new ILToken (Token.K_FILTER, "filter");
\r
498 keywords ["finally"] = new ILToken (Token.K_FINALLY, "finally");
\r
499 keywords ["fault"] = new ILToken (Token.K_FAULT, "fault");
\r
500 keywords ["handler"] = new ILToken (Token.K_HANDLER, "handler");
\r
501 keywords ["tls"] = new ILToken (Token.K_TLS, "tls");
\r
502 keywords ["field"] = new ILToken (Token.K_FIELD, "field");
\r
503 keywords ["request"] = new ILToken (Token.K_REQUEST, "request");
\r
504 keywords ["demand"] = new ILToken (Token.K_DEMAND, "demand");
\r
505 keywords ["assert"] = new ILToken (Token.K_ASSERT, "assert");
\r
506 keywords ["deny"] = new ILToken (Token.K_DENY, "deny");
\r
507 keywords ["permitonly"] = new ILToken (Token.K_PERMITONLY, "permitonly");
\r
508 keywords ["linkcheck"] = new ILToken (Token.K_LINKCHECK, "linkcheck");
\r
509 keywords ["inheritcheck"] = new ILToken (Token.K_INHERITCHECK, "inheritcheck");
\r
510 keywords ["reqmin"] = new ILToken (Token.K_REQMIN, "reqmin");
\r
511 keywords ["reqopt"] = new ILToken (Token.K_REQOPT, "reqopt");
\r
512 keywords ["reqrefuse"] = new ILToken (Token.K_REQREFUSE, "reqrefuse");
\r
513 keywords ["prejitgrant"] = new ILToken (Token.K_PREJITGRANT, "prejitgrant");
\r
514 keywords ["prejitdeny"] = new ILToken (Token.K_PREJITDENY, "prejitdeny");
\r
515 keywords ["noncasdemand"] = new ILToken (Token.K_NONCASDEMAND, "noncasdemand");
\r
516 keywords ["noncaslinkdemand"] = new ILToken (Token.K_NONCASLINKDEMAND, "noncaslinkdemand");
\r
517 keywords ["noncasinheritance"] = new ILToken (Token.K_NONCASINHERITANCE, "noncasinheritance");
\r
518 keywords ["readonly"] = new ILToken (Token.K_READONLY, "readonly");
\r
519 keywords ["nometadata"] = new ILToken (Token.K_NOMETADATA, "nometadata");
\r
520 keywords ["algorithm"] = new ILToken (Token.K_ALGORITHM, "algorithm");
\r
521 keywords ["fullorigin"] = new ILToken (Token.K_FULLORIGIN, "fullorigin");
\r
522 // keywords ["nan"] = new ILToken (Token.K_NAN, "nan");
\r
523 // keywords ["inf"] = new ILToken (Token.K_INF, "inf");
\r
524 keywords ["publickey"] = new ILToken (Token.K_PUBLICKEY, "publickey");
\r
525 keywords ["enablejittracking"] = new ILToken (Token.K_ENABLEJITTRACKING, "enablejittracking");
\r
526 keywords ["disablejitoptimizer"] = new ILToken (Token.K_DISABLEJITOPTIMIZER, "disablejitoptimizer");
\r
527 keywords ["preservesig"] = new ILToken (Token.K_PRESERVESIG, "preservesig");
\r
528 keywords ["beforefieldinit"] = new ILToken (Token.K_BEFOREFIELDINIT, "beforefieldinit");
\r
529 keywords ["alignment"] = new ILToken (Token.K_ALIGNMENT, "alignment");
\r
530 keywords ["nullref"] = new ILToken (Token.K_NULLREF, "nullref");
\r
531 keywords ["valuetype"] = new ILToken (Token.K_VALUETYPE, "valuetype");
\r
532 keywords ["Compilercontrolled"] = new ILToken (Token.K_COMPILERCONTROLLED, "Compilercontrolled");
\r
533 keywords ["reqsecobj"] = new ILToken (Token.K_REQSECOBJ, "reqsecobj");
\r
534 keywords ["enum"] = new ILToken (Token.K_ENUM, "enum");
\r
535 keywords ["object"] = new ILToken (Token.K_OBJECT, "object");
\r
536 keywords ["string"] = new ILToken (Token.K_STRING, "string");
\r
537 keywords ["true"] = new ILToken (Token.K_TRUE, "true");
\r
538 keywords ["false"] = new ILToken (Token.K_FALSE, "false");
\r
547 } // class ILTables
\r
552 } // namespace Mono.ILASM
\r