add bug info
[mcs.git] / ilasm / scanner / ILTables.cs
blob4e7646d020eb8529ccadc9d8cb955cfc025760b7
1 // ILTables.cs
2 // Mechanically generated - DO NOT EDIT!
3 //
4 // (C) Sergey Chaban (serge@wildwestsoftware.com)
6 using System;
7 using System.Collections;
8 using System.Reflection.Emit;
10 namespace Mono.ILASM {
16 public sealed class ILTables {
18 private static Hashtable keywords = null;
19 private static Hashtable directives = null;
20 private static readonly object mutex;
23 private ILTables ()
27 static ILTables ()
29 mutex = new object ();
32 private static void AllocTable (ref Hashtable tbl, int size)
34 lock (mutex) {
35 if (tbl == null)
36 tbl = new Hashtable (size);
40 public static Hashtable Directives
42 get {
43 if (directives != null) return directives;
45 AllocTable (ref directives, 300);
47 directives [".addon"] = new ILToken (Token.D_ADDON, ".addon");
48 directives [".algorithm"] = new ILToken (Token.D_ALGORITHM, ".algorithm");
49 directives [".assembly"] = new ILToken (Token.D_ASSEMBLY, ".assembly");
50 directives [".backing"] = new ILToken (Token.D_BACKING, ".backing");
51 directives [".blob"] = new ILToken (Token.D_BLOB, ".blob");
52 directives [".capability"] = new ILToken (Token.D_CAPABILITY, ".capability");
53 directives [".cctor"] = new ILToken (Token.D_CCTOR, ".cctor");
54 directives [".class"] = new ILToken (Token.D_CLASS, ".class");
55 directives [".comtype"] = new ILToken (Token.D_COMTYPE, ".comtype");
56 directives [".config"] = new ILToken (Token.D_CONFIG, ".config");
57 directives [".imagebase"] = new ILToken (Token.D_IMAGEBASE, ".imagebase");
58 directives [".corflags"] = new ILToken (Token.D_CORFLAGS, ".corflags");
59 directives [".ctor"] = new ILToken (Token.D_CTOR, ".ctor");
60 directives [".custom"] = new ILToken (Token.D_CUSTOM, ".custom");
61 directives [".data"] = new ILToken (Token.D_DATA, ".data");
62 directives [".emitbyte"] = new ILToken (Token.D_EMITBYTE, ".emitbyte");
63 directives [".entrypoint"] = new ILToken (Token.D_ENTRYPOINT, ".entrypoint");
64 directives [".event"] = new ILToken (Token.D_EVENT, ".event");
65 directives [".exeloc"] = new ILToken (Token.D_EXELOC, ".exeloc");
66 directives [".export"] = new ILToken (Token.D_EXPORT, ".export");
67 directives [".field"] = new ILToken (Token.D_FIELD, ".field");
68 directives [".file"] = new ILToken (Token.D_FILE, ".file");
69 directives [".fire"] = new ILToken (Token.D_FIRE, ".fire");
70 directives [".get"] = new ILToken (Token.D_GET, ".get");
71 directives [".hash"] = new ILToken (Token.D_HASH, ".hash");
72 directives [".implicitcom"] = new ILToken (Token.D_IMPLICITCOM, ".implicitcom");
73 directives [".language"] = new ILToken (Token.D_LANGUAGE, ".language");
74 directives [".line"] = new ILToken (Token.D_LINE, ".line");
75 directives ["#line"] = new ILToken (Token.D_XLINE, "#line");
76 directives [".locale"] = new ILToken (Token.D_LOCALE, ".locale");
77 directives [".locals"] = new ILToken (Token.D_LOCALS, ".locals");
78 directives [".manifestres"] = new ILToken (Token.D_MANIFESTRES, ".manifestres");
79 directives [".maxstack"] = new ILToken (Token.D_MAXSTACK, ".maxstack");
80 directives [".method"] = new ILToken (Token.D_METHOD, ".method");
81 directives [".mime"] = new ILToken (Token.D_MIME, ".mime");
82 directives [".module"] = new ILToken (Token.D_MODULE, ".module");
83 directives [".mresource"] = new ILToken (Token.D_MRESOURCE, ".mresource");
84 directives [".namespace"] = new ILToken (Token.D_NAMESPACE, ".namespace");
85 directives [".originator"] = new ILToken (Token.D_ORIGINATOR, ".originator");
86 directives [".os"] = new ILToken (Token.D_OS, ".os");
87 directives [".other"] = new ILToken (Token.D_OTHER, ".other");
88 directives [".override"] = new ILToken (Token.D_OVERRIDE, ".override");
89 directives [".pack"] = new ILToken (Token.D_PACK, ".pack");
90 directives [".param"] = new ILToken (Token.D_PARAM, ".param");
91 directives [".permission"] = new ILToken (Token.D_PERMISSION, ".permission");
92 directives [".permissionset"] = new ILToken (Token.D_PERMISSIONSET, ".permissionset");
93 directives [".processor"] = new ILToken (Token.D_PROCESSOR, ".processor");
94 directives [".property"] = new ILToken (Token.D_PROPERTY, ".property");
95 directives [".publickey"] = new ILToken (Token.D_PUBLICKEY, ".publickey");
96 directives [".publickeytoken"] = new ILToken (Token.D_PUBLICKEYTOKEN, ".publickeytoken");
97 directives [".removeon"] = new ILToken (Token.D_REMOVEON, ".removeon");
98 directives [".set"] = new ILToken (Token.D_SET, ".set");
99 directives [".size"] = new ILToken (Token.D_SIZE, ".size");
100 directives [".stackreserve"] = new ILToken (Token.D_STACKRESERVE, ".stackreserve");
101 directives [".subsystem"] = new ILToken (Token.D_SUBSYSTEM, ".subsystem");
102 directives [".title"] = new ILToken (Token.D_TITLE, ".title");
103 directives [".try"] = new ILToken (Token.D_TRY, ".try");
104 directives [".ver"] = new ILToken (Token.D_VER, ".ver");
105 directives [".vtable"] = new ILToken (Token.D_VTABLE, ".vtable");
106 directives [".vtentry"] = new ILToken (Token.D_VTENTRY, ".vtentry");
107 directives [".vtfixup"] = new ILToken (Token.D_VTFIXUP, ".vtfixup");
108 directives [".zeroinit"] = new ILToken (Token.D_ZEROINIT, ".zeroinit");
110 return directives;
116 public static Hashtable Keywords
118 get {
119 if (keywords != null) return keywords;
121 AllocTable (ref keywords, 300);
123 keywords ["at"] = new ILToken (Token.K_AT, "at");
124 keywords ["as"] = new ILToken (Token.K_AS, "as");
125 keywords ["implicitcom"] = new ILToken (Token.K_IMPLICITCOM, "implicitcom");
126 keywords ["implicitres"] = new ILToken (Token.K_IMPLICITRES, "implicitres");
127 keywords ["noappdomain"] = new ILToken (Token.K_NOAPPDOMAIN, "noappdomain");
128 keywords ["noprocess"] = new ILToken (Token.K_NOPROCESS, "noprocess");
129 keywords ["nomachine"] = new ILToken (Token.K_NOMACHINE, "nomachine");
130 keywords ["extern"] = new ILToken (Token.K_EXTERN, "extern");
131 keywords ["instance"] = new ILToken (Token.K_INSTANCE, "instance");
132 keywords ["explicit"] = new ILToken (Token.K_EXPLICIT, "explicit");
133 keywords ["default"] = new ILToken (Token.K_DEFAULT, "default");
134 keywords ["vararg"] = new ILToken (Token.K_VARARG, "vararg");
135 keywords ["unmanaged"] = new ILToken (Token.K_UNMANAGED, "unmanaged");
136 keywords ["cdecl"] = new ILToken (Token.K_CDECL, "cdecl");
137 keywords ["stdcall"] = new ILToken (Token.K_STDCALL, "stdcall");
138 keywords ["thiscall"] = new ILToken (Token.K_THISCALL, "thiscall");
139 keywords ["fastcall"] = new ILToken (Token.K_FASTCALL, "fastcall");
140 keywords ["marshal"] = new ILToken (Token.K_MARSHAL, "marshal");
141 keywords ["in"] = new ILToken (Token.K_IN, "in");
142 keywords ["out"] = new ILToken (Token.K_OUT, "out");
143 keywords ["opt"] = new ILToken (Token.K_OPT, "opt");
144 // Not a keyword according to ilasm 1.1
145 // keywords ["lcid"] = new ILToken (Token.K_LCID, "lcid");
146 keywords ["retval"] = new ILToken (Token.K_RETVAL, "retval");
147 keywords ["static"] = new ILToken (Token.K_STATIC, "static");
148 keywords ["public"] = new ILToken (Token.K_PUBLIC, "public");
149 keywords ["private"] = new ILToken (Token.K_PRIVATE, "private");
150 keywords ["family"] = new ILToken (Token.K_FAMILY, "family");
151 keywords ["initonly"] = new ILToken (Token.K_INITONLY, "initonly");
152 keywords ["rtspecialname"] = new ILToken (Token.K_RTSPECIALNAME, "rtspecialname");
153 keywords ["specialname"] = new ILToken (Token.K_SPECIALNAME, "specialname");
154 keywords ["assembly"] = new ILToken (Token.K_ASSEMBLY, "assembly");
155 keywords ["famandassem"] = new ILToken (Token.K_FAMANDASSEM, "famandassem");
156 keywords ["famorassem"] = new ILToken (Token.K_FAMORASSEM, "famorassem");
157 keywords ["privatescope"] = new ILToken (Token.K_PRIVATESCOPE, "privatescope");
158 keywords ["literal"] = new ILToken (Token.K_LITERAL, "literal");
159 keywords ["notserialized"] = new ILToken (Token.K_NOTSERIALIZED, "notserialized");
160 keywords ["value"] = new ILToken (Token.K_VALUE, "value");
161 keywords ["not_in_gc_heap"] = new ILToken (Token.K_NOT_IN_GC_HEAP, "not_in_gc_heap");
162 keywords ["interface"] = new ILToken (Token.K_INTERFACE, "interface");
163 keywords ["sealed"] = new ILToken (Token.K_SEALED, "sealed");
164 keywords ["abstract"] = new ILToken (Token.K_ABSTRACT, "abstract");
165 keywords ["auto"] = new ILToken (Token.K_AUTO, "auto");
166 keywords ["sequential"] = new ILToken (Token.K_SEQUENTIAL, "sequential");
167 keywords ["ansi"] = new ILToken (Token.K_ANSI, "ansi");
168 keywords ["unicode"] = new ILToken (Token.K_UNICODE, "unicode");
169 keywords ["autochar"] = new ILToken (Token.K_AUTOCHAR, "autochar");
170 keywords ["bestfit"] = new ILToken (Token.K_BESTFIT, "bestfit");
171 keywords ["charmaperror"] = new ILToken (Token.K_CHARMAPERROR, "charmaperror");
172 keywords ["import"] = new ILToken (Token.K_IMPORT, "import");
173 keywords ["serializable"] = new ILToken (Token.K_SERIALIZABLE, "serializable");
174 keywords ["nested"] = new ILToken (Token.K_NESTED, "nested");
175 keywords ["lateinit"] = new ILToken (Token.K_LATEINIT, "lateinit");
176 keywords ["extends"] = new ILToken (Token.K_EXTENDS, "extends");
177 keywords ["implements"] = new ILToken (Token.K_IMPLEMENTS, "implements");
178 keywords ["final"] = new ILToken (Token.K_FINAL, "final");
179 keywords ["virtual"] = new ILToken (Token.K_VIRTUAL, "virtual");
180 keywords ["hidebysig"] = new ILToken (Token.K_HIDEBYSIG, "hidebysig");
181 keywords ["newslot"] = new ILToken (Token.K_NEWSLOT, "newslot");
182 keywords ["unmanagedexp"] = new ILToken (Token.K_UNMANAGEDEXP, "unmanagedexp");
183 keywords ["pinvokeimpl"] = new ILToken (Token.K_PINVOKEIMPL, "pinvokeimpl");
184 keywords ["nomangle"] = new ILToken (Token.K_NOMANGLE, "nomangle");
185 keywords ["ole"] = new ILToken (Token.K_OLE, "ole");
186 keywords ["lasterr"] = new ILToken (Token.K_LASTERR, "lasterr");
187 keywords ["winapi"] = new ILToken (Token.K_WINAPI, "winapi");
188 keywords ["native"] = new ILToken (Token.K_NATIVE, "native");
189 keywords ["il"] = new ILToken (Token.K_IL, "il");
190 keywords ["cil"] = new ILToken (Token.K_CIL, "cil");
191 keywords ["optil"] = new ILToken (Token.K_OPTIL, "optil");
192 keywords ["managed"] = new ILToken (Token.K_MANAGED, "managed");
193 keywords ["forwardref"] = new ILToken (Token.K_FORWARDREF, "forwardref");
194 keywords ["runtime"] = new ILToken (Token.K_RUNTIME, "runtime");
195 keywords ["internalcall"] = new ILToken (Token.K_INTERNALCALL, "internalcall");
196 keywords ["synchronized"] = new ILToken (Token.K_SYNCHRONIZED, "synchronized");
197 keywords ["noinlining"] = new ILToken (Token.K_NOINLINING, "noinlining");
198 keywords ["custom"] = new ILToken (Token.K_CUSTOM, "custom");
199 keywords ["fixed"] = new ILToken (Token.K_FIXED, "fixed");
200 keywords ["sysstring"] = new ILToken (Token.K_SYSSTRING, "sysstring");
201 keywords ["array"] = new ILToken (Token.K_ARRAY, "array");
202 keywords ["variant"] = new ILToken (Token.K_VARIANT, "variant");
203 keywords ["currency"] = new ILToken (Token.K_CURRENCY, "currency");
204 keywords ["syschar"] = new ILToken (Token.K_SYSCHAR, "syschar");
205 keywords ["void"] = new ILToken (Token.K_VOID, "void");
206 keywords ["bool"] = new ILToken (Token.K_BOOL, "bool");
207 keywords ["int8"] = new ILToken (Token.K_INT8, "int8");
208 keywords ["int16"] = new ILToken (Token.K_INT16, "int16");
209 keywords ["int32"] = new ILToken (Token.K_INT32, "int32");
210 keywords ["int64"] = new ILToken (Token.K_INT64, "int64");
211 keywords ["float32"] = new ILToken (Token.K_FLOAT32, "float32");
212 keywords ["float64"] = new ILToken (Token.K_FLOAT64, "float64");
213 keywords ["error"] = new ILToken (Token.K_ERROR, "error");
214 keywords ["unsigned"] = new ILToken (Token.K_UNSIGNED, "unsigned");
215 keywords ["uint"] = new ILToken (Token.K_UINT, "uint");
216 keywords ["uint8"] = new ILToken (Token.K_UINT8, "uint8");
217 keywords ["uint16"] = new ILToken (Token.K_UINT16, "uint16");
218 keywords ["uint32"] = new ILToken (Token.K_UINT32, "uint32");
219 keywords ["uint64"] = new ILToken (Token.K_UINT64, "uint64");
220 keywords ["decimal"] = new ILToken (Token.K_DECIMAL, "decimal");
221 keywords ["date"] = new ILToken (Token.K_DATE, "date");
222 keywords ["bstr"] = new ILToken (Token.K_BSTR, "bstr");
223 keywords ["lpstr"] = new ILToken (Token.K_LPSTR, "lpstr");
224 keywords ["lpwstr"] = new ILToken (Token.K_LPWSTR, "lpwstr");
225 keywords ["lptstr"] = new ILToken (Token.K_LPTSTR, "lptstr");
226 keywords ["objectref"] = new ILToken (Token.K_OBJECTREF, "objectref");
227 keywords ["iunknown"] = new ILToken (Token.K_IUNKNOWN, "iunknown");
228 keywords ["idispatch"] = new ILToken (Token.K_IDISPATCH, "idispatch");
229 keywords ["struct"] = new ILToken (Token.K_STRUCT, "struct");
230 keywords ["safearray"] = new ILToken (Token.K_SAFEARRAY, "safearray");
231 keywords ["int"] = new ILToken (Token.K_INT, "int");
232 keywords ["byvalstr"] = new ILToken (Token.K_BYVALSTR, "byvalstr");
233 keywords ["tbstr"] = new ILToken (Token.K_TBSTR, "tbstr");
234 keywords ["lpvoid"] = new ILToken (Token.K_LPVOID, "lpvoid");
235 keywords ["any"] = new ILToken (Token.K_ANY, "any");
236 keywords ["float"] = new ILToken (Token.K_FLOAT, "float");
237 keywords ["lpstruct"] = new ILToken (Token.K_LPSTRUCT, "lpstruct");
238 keywords ["null"] = new ILToken (Token.K_NULL, "null");
239 // keywords ["ptr"] = new ILToken (Token.K_PTR, "ptr");
240 keywords ["vector"] = new ILToken (Token.K_VECTOR, "vector");
241 keywords ["hresult"] = new ILToken (Token.K_HRESULT, "hresult");
242 keywords ["carray"] = new ILToken (Token.K_CARRAY, "carray");
243 keywords ["userdefined"] = new ILToken (Token.K_USERDEFINED, "userdefined");
244 keywords ["record"] = new ILToken (Token.K_RECORD, "record");
245 keywords ["filetime"] = new ILToken (Token.K_FILETIME, "filetime");
246 keywords ["blob"] = new ILToken (Token.K_BLOB, "blob");
247 keywords ["stream"] = new ILToken (Token.K_STREAM, "stream");
248 keywords ["storage"] = new ILToken (Token.K_STORAGE, "storage");
249 keywords ["streamed_object"] = new ILToken (Token.K_STREAMED_OBJECT, "streamed_object");
250 keywords ["stored_object"] = new ILToken (Token.K_STORED_OBJECT, "stored_object");
251 keywords ["blob_object"] = new ILToken (Token.K_BLOB_OBJECT, "blob_object");
252 keywords ["cf"] = new ILToken (Token.K_CF, "cf");
253 keywords ["clsid"] = new ILToken (Token.K_CLSID, "clsid");
254 keywords ["method"] = new ILToken (Token.K_METHOD, "method");
255 keywords ["class"] = new ILToken (Token.K_CLASS, "class");
256 keywords ["pinned"] = new ILToken (Token.K_PINNED, "pinned");
257 keywords ["modreq"] = new ILToken (Token.K_MODREQ, "modreq");
258 keywords ["modopt"] = new ILToken (Token.K_MODOPT, "modopt");
259 keywords ["typedref"] = new ILToken (Token.K_TYPEDREF, "typedref");
260 keywords ["property"] = new ILToken (Token.K_PROPERTY, "property");
261 #if NET_2_0 || BOOTSTRAP_NET_2_0
262 keywords ["type"] = new ILToken (Token.K_TYPE, "type");
263 #endif
264 keywords ["refany"] = new ILToken (Token.K_TYPEDREF, "typedref");
265 keywords ["wchar"] = new ILToken (Token.K_WCHAR, "wchar");
266 keywords ["char"] = new ILToken (Token.K_CHAR, "char");
267 keywords ["fromunmanaged"] = new ILToken (Token.K_FROMUNMANAGED, "fromunmanaged");
268 keywords ["callmostderived"] = new ILToken (Token.K_CALLMOSTDERIVED, "callmostderived");
269 keywords ["bytearray"] = new ILToken (Token.K_BYTEARRAY, "bytearray");
270 keywords ["with"] = new ILToken (Token.K_WITH, "with");
271 keywords ["init"] = new ILToken (Token.K_INIT, "init");
272 keywords ["to"] = new ILToken (Token.K_TO, "to");
273 keywords ["catch"] = new ILToken (Token.K_CATCH, "catch");
274 keywords ["filter"] = new ILToken (Token.K_FILTER, "filter");
275 keywords ["finally"] = new ILToken (Token.K_FINALLY, "finally");
276 keywords ["fault"] = new ILToken (Token.K_FAULT, "fault");
277 keywords ["handler"] = new ILToken (Token.K_HANDLER, "handler");
278 keywords ["tls"] = new ILToken (Token.K_TLS, "tls");
279 keywords ["field"] = new ILToken (Token.K_FIELD, "field");
280 keywords ["request"] = new ILToken (Token.K_REQUEST, "request");
281 keywords ["demand"] = new ILToken (Token.K_DEMAND, "demand");
282 keywords ["assert"] = new ILToken (Token.K_ASSERT, "assert");
283 keywords ["deny"] = new ILToken (Token.K_DENY, "deny");
284 keywords ["permitonly"] = new ILToken (Token.K_PERMITONLY, "permitonly");
285 keywords ["linkcheck"] = new ILToken (Token.K_LINKCHECK, "linkcheck");
286 keywords ["inheritcheck"] = new ILToken (Token.K_INHERITCHECK, "inheritcheck");
287 keywords ["reqmin"] = new ILToken (Token.K_REQMIN, "reqmin");
288 keywords ["reqopt"] = new ILToken (Token.K_REQOPT, "reqopt");
289 keywords ["reqrefuse"] = new ILToken (Token.K_REQREFUSE, "reqrefuse");
290 keywords ["prejitgrant"] = new ILToken (Token.K_PREJITGRANT, "prejitgrant");
291 keywords ["prejitdeny"] = new ILToken (Token.K_PREJITDENY, "prejitdeny");
292 keywords ["noncasdemand"] = new ILToken (Token.K_NONCASDEMAND, "noncasdemand");
293 keywords ["noncaslinkdemand"] = new ILToken (Token.K_NONCASLINKDEMAND, "noncaslinkdemand");
294 keywords ["noncasinheritance"] = new ILToken (Token.K_NONCASINHERITANCE, "noncasinheritance");
295 keywords ["readonly"] = new ILToken (Token.K_READONLY, "readonly");
296 keywords ["nometadata"] = new ILToken (Token.K_NOMETADATA, "nometadata");
297 keywords ["algorithm"] = new ILToken (Token.K_ALGORITHM, "algorithm");
298 keywords ["fullorigin"] = new ILToken (Token.K_FULLORIGIN, "fullorigin");
299 // keywords ["nan"] = new ILToken (Token.K_NAN, "nan");
300 // keywords ["inf"] = new ILToken (Token.K_INF, "inf");
301 // keywords ["publickey"] = new ILToken (Token.K_PUBLICKEY, "publickey");
302 keywords ["enablejittracking"] = new ILToken (Token.K_ENABLEJITTRACKING, "enablejittracking");
303 keywords ["disablejitoptimizer"] = new ILToken (Token.K_DISABLEJITOPTIMIZER, "disablejitoptimizer");
304 keywords ["retargetable"] = new ILToken (Token.K_RETARGETABLE, "retargetable");
305 keywords ["preservesig"] = new ILToken (Token.K_PRESERVESIG, "preservesig");
306 keywords ["beforefieldinit"] = new ILToken (Token.K_BEFOREFIELDINIT, "beforefieldinit");
307 keywords ["alignment"] = new ILToken (Token.K_ALIGNMENT, "alignment");
308 keywords ["nullref"] = new ILToken (Token.K_NULLREF, "nullref");
309 keywords ["valuetype"] = new ILToken (Token.K_VALUETYPE, "valuetype");
310 keywords ["compilercontrolled"] = new ILToken (Token.K_COMPILERCONTROLLED, "compilercontrolled");
311 keywords ["reqsecobj"] = new ILToken (Token.K_REQSECOBJ, "reqsecobj");
312 keywords ["enum"] = new ILToken (Token.K_ENUM, "enum");
313 keywords ["object"] = new ILToken (Token.K_OBJECT, "object");
314 keywords ["string"] = new ILToken (Token.K_STRING, "string");
315 keywords ["true"] = new ILToken (Token.K_TRUE, "true");
316 keywords ["false"] = new ILToken (Token.K_FALSE, "false");
317 keywords ["is"] = new ILToken (Token.K_IS, "is");
318 keywords ["on"] = new ILToken (Token.K_ON, "on");
319 keywords ["off"] = new ILToken (Token.K_OFF, "off");
320 keywords ["strict"] = new ILToken (Token.K_STRICT, "strict");
322 return keywords;
329 } // class ILTables
334 } // namespace Mono.ILASM