summaryrefslogtreecommitdiff
path: root/src/inc/il_kywd.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/inc/il_kywd.h')
-rw-r--r--src/inc/il_kywd.h303
1 files changed, 303 insertions, 0 deletions
diff --git a/src/inc/il_kywd.h b/src/inc/il_kywd.h
new file mode 100644
index 0000000000..e16d7c7b9d
--- /dev/null
+++ b/src/inc/il_kywd.h
@@ -0,0 +1,303 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+//
+//
+// COM+ IL keywords, symbols and values
+//
+// This is the master table used in ILASM (asmparse.y)
+// and ILDASM (dis.cpp)
+// symbols and values are defined in asmparse.y
+// and not used in dis.cpp
+//
+
+#ifndef __IL_KYWD_H_
+#define __IL_KYWD_H_
+
+ KYWD( "void", VOID_, NO_VALUE )
+ KYWD( "bool", BOOL_, NO_VALUE )
+ KYWD( "char", CHAR_, NO_VALUE )
+ KYWD( "wchar", CHAR_, NO_VALUE )
+ KYWD( "int", INT_, NO_VALUE )
+ KYWD( "int8", INT8_, NO_VALUE )
+ KYWD( "int16", INT16_, NO_VALUE )
+ KYWD( "int32", INT32_, NO_VALUE )
+ KYWD( "int64", INT64_, NO_VALUE )
+ KYWD( "uint", UINT_, NO_VALUE )
+ KYWD( "uint8", UINT8_, NO_VALUE )
+ KYWD( "uint16", UINT16_, NO_VALUE )
+ KYWD( "uint32", UINT32_, NO_VALUE )
+ KYWD( "uint64", UINT64_, NO_VALUE )
+ KYWD( "float", FLOAT_, NO_VALUE )
+ KYWD( "float32", FLOAT32_, NO_VALUE )
+ KYWD( "float64", FLOAT64_, NO_VALUE )
+ KYWD( "refany", TYPEDREF_, NO_VALUE )
+ KYWD( "typedref", TYPEDREF_, NO_VALUE )
+ KYWD( "object", OBJECT_, NO_VALUE )
+ KYWD( "string", STRING_, NO_VALUE )
+ KYWD( "native", NATIVE_, NO_VALUE )
+ KYWD( "unsigned", UNSIGNED_, NO_VALUE )
+ KYWD( "value", VALUE_, NO_VALUE )
+ KYWD( "valuetype", VALUETYPE_, NO_VALUE )
+ KYWD( "class", CLASS_, NO_VALUE )
+ KYWD( "vararg", VARARG_, NO_VALUE )
+ KYWD( "default", DEFAULT_, NO_VALUE )
+ KYWD( "stdcall", STDCALL_, NO_VALUE )
+ KYWD( "thiscall", THISCALL_, NO_VALUE )
+ KYWD( "fastcall", FASTCALL_, NO_VALUE )
+ KYWD( "unmanaged", UNMANAGED_, NO_VALUE )
+ KYWD( "beforefieldinit",BEFOREFIELDINIT_, NO_VALUE )
+ KYWD( "instance", INSTANCE_, NO_VALUE )
+ KYWD( "filter", FILTER_, NO_VALUE )
+ KYWD( "catch", CATCH_, NO_VALUE )
+ KYWD( "static", STATIC_ , NO_VALUE )
+ KYWD( "public", PUBLIC_, NO_VALUE )
+ KYWD( "private", PRIVATE_, NO_VALUE )
+ KYWD( "forwarder", FORWARDER_, NO_VALUE )
+ KYWD( "synchronized", SYNCHRONIZED_, NO_VALUE )
+ KYWD( "interface", INTERFACE_, NO_VALUE )
+ KYWD( "extends", EXTENDS_, NO_VALUE )
+ KYWD( "implements", IMPLEMENTS_, NO_VALUE )
+ KYWD( "handler", HANDLER_, NO_VALUE )
+ KYWD( "finally", FINALLY_, NO_VALUE )
+ KYWD( "fault", FAULT_, NO_VALUE )
+ KYWD( "to", TO_, NO_VALUE )
+ KYWD( "abstract", ABSTRACT_, NO_VALUE )
+ KYWD( "auto", AUTO_, NO_VALUE )
+ KYWD( "sequential", SEQUENTIAL_, NO_VALUE )
+ KYWD( "explicit", EXPLICIT_, NO_VALUE )
+ KYWD( "ansi", ANSI_, NO_VALUE )
+ KYWD( "unicode", UNICODE_, NO_VALUE )
+ KYWD( "autochar", AUTOCHAR_, NO_VALUE )
+ KYWD( "import", IMPORT_, NO_VALUE )
+ KYWD( "enum", ENUM_, NO_VALUE )
+ KYWD( "virtual", VIRTUAL_, NO_VALUE )
+ KYWD( "strict", STRICT_, NO_VALUE )
+ KYWD( "il", CIL_, NO_VALUE )
+ KYWD( "cil", CIL_, NO_VALUE )
+ KYWD( "optil", OPTIL_, NO_VALUE )
+ KYWD( "managed", MANAGED_, NO_VALUE )
+ KYWD( "preservesig", PRESERVESIG_, NO_VALUE )
+ KYWD( "runtime", RUNTIME_, NO_VALUE )
+ KYWD( "method", METHOD_, NO_VALUE )
+ KYWD( "field", FIELD_, NO_VALUE )
+ KYWD( "property", PROPERTY_, NO_VALUE )
+ KYWD( "bytearray", BYTEARRAY_, NO_VALUE )
+ KYWD( "final", FINAL_, NO_VALUE )
+ KYWD( "sealed", SEALED_, NO_VALUE )
+ KYWD( "specialname", SPECIALNAME_, NO_VALUE )
+ KYWD( "family", FAMILY_, NO_VALUE )
+ KYWD( "assembly", ASSEMBLY_, NO_VALUE )
+ KYWD( "famandassem", FAMANDASSEM_, NO_VALUE )
+ KYWD( "famorassem", FAMORASSEM_, NO_VALUE )
+ KYWD( "privatescope", PRIVATESCOPE_, NO_VALUE )
+ KYWD( "nested", NESTED_, NO_VALUE )
+ KYWD( "hidebysig", HIDEBYSIG_, NO_VALUE )
+ KYWD( "newslot", NEWSLOT_, NO_VALUE )
+ KYWD( "aggressiveinlining",AGGRESSIVEINLINING_,NO_VALUE )
+ KYWD( "rtspecialname", RTSPECIALNAME_, NO_VALUE )
+ KYWD( "pinvokeimpl", PINVOKEIMPL_, NO_VALUE )
+ KYWD( "unmanagedexp", UNMANAGEDEXP_, NO_VALUE )
+ KYWD( "reqsecobj", REQSECOBJ_, NO_VALUE )
+ KYWD( ".ctor", _CTOR, NO_VALUE )
+ KYWD( ".cctor", _CCTOR, NO_VALUE )
+ KYWD( "initonly", INITONLY_, NO_VALUE )
+ KYWD( "literal", LITERAL_, NO_VALUE )
+ KYWD( "notserialized", NOTSERIALIZED_, NO_VALUE )
+ KYWD( "forwardref", FORWARDREF_, NO_VALUE )
+ KYWD( "internalcall", INTERNALCALL_, NO_VALUE )
+ KYWD( "noinlining", NOINLINING_, NO_VALUE )
+ KYWD( "nooptimization", NOOPTIMIZATION_, NO_VALUE )
+ KYWD( "nomangle", NOMANGLE_, NO_VALUE )
+ KYWD( "lasterr", LASTERR_, NO_VALUE )
+ KYWD( "winapi", WINAPI_, NO_VALUE )
+ KYWD( "cdecl", CDECL_, NO_VALUE )
+ KYWD( "as", AS_, NO_VALUE )
+ KYWD( "pinned", PINNED_, NO_VALUE )
+ KYWD( "modreq", MODREQ_, NO_VALUE )
+ KYWD( "modopt", MODOPT_, NO_VALUE )
+ KYWD( "serializable", SERIALIZABLE_, NO_VALUE )
+ KYWD( "at", AT_, NO_VALUE )
+ KYWD( "tls", TLS_, NO_VALUE )
+ KYWD( "true", TRUE_, NO_VALUE )
+ KYWD( "false", FALSE_, NO_VALUE )
+ KYWD( "on", ON_, NO_VALUE )
+ KYWD( "off", OFF_, NO_VALUE )
+ KYWD( "bestfit", BESTFIT_, NO_VALUE )
+ KYWD( "charmaperror", CHARMAPERROR_, NO_VALUE )
+
+ /* assembler directives */
+ KYWD( ".class", _CLASS, NO_VALUE )
+ KYWD( ".this", _THIS, NO_VALUE )
+ KYWD( ".base", _BASE, NO_VALUE )
+ KYWD( ".nester", _NESTER, NO_VALUE )
+ KYWD( ".namespace", _NAMESPACE, NO_VALUE )
+ KYWD( ".method", _METHOD, NO_VALUE )
+ KYWD( ".field", _FIELD, NO_VALUE )
+ KYWD( ".emitbyte", _EMITBYTE, NO_VALUE )
+ KYWD( ".try", _TRY, NO_VALUE )
+ KYWD( ".maxstack", _MAXSTACK, NO_VALUE )
+ KYWD( ".locals", _LOCALS, NO_VALUE )
+ KYWD( ".entrypoint", _ENTRYPOINT, NO_VALUE )
+ KYWD( ".zeroinit", _ZEROINIT, NO_VALUE )
+ KYWD( ".data", _DATA, NO_VALUE )
+
+ KYWD( ".event", _EVENT, NO_VALUE )
+ KYWD( ".addon", _ADDON, NO_VALUE )
+ KYWD( ".removeon", _REMOVEON, NO_VALUE )
+ KYWD( ".fire", _FIRE, NO_VALUE )
+ KYWD( ".other", _OTHER, NO_VALUE )
+
+ KYWD( ".property", _PROPERTY, NO_VALUE )
+ KYWD( ".set", _SET, NO_VALUE )
+ KYWD( ".get", _GET, NO_VALUE )
+
+ KYWD( ".permission", _PERMISSION, NO_VALUE )
+ KYWD( ".permissionset", _PERMISSIONSET, NO_VALUE )
+
+ /* security actions */
+ KYWD( "request", REQUEST_, NO_VALUE )
+ KYWD( "demand", DEMAND_, NO_VALUE )
+ KYWD( "assert", ASSERT_, NO_VALUE )
+ KYWD( "deny", DENY_, NO_VALUE )
+ KYWD( "permitonly", PERMITONLY_, NO_VALUE )
+ KYWD( "linkcheck", LINKCHECK_, NO_VALUE )
+ KYWD( "inheritcheck", INHERITCHECK_, NO_VALUE )
+ KYWD( "reqmin", REQMIN_, NO_VALUE )
+ KYWD( "reqopt", REQOPT_, NO_VALUE )
+ KYWD( "reqrefuse", REQREFUSE_, NO_VALUE )
+ KYWD( "prejitgrant", PREJITGRANT_, NO_VALUE )
+ KYWD( "prejitdeny", PREJITDENY_, NO_VALUE )
+ KYWD( "noncasdemand", NONCASDEMAND_, NO_VALUE )
+ KYWD( "noncaslinkdemand",NONCASLINKDEMAND_, NO_VALUE )
+ KYWD( "noncasinheritance",NONCASINHERITANCE_,NO_VALUE )
+
+ /* extern debug data specifier */
+ KYWD( ".line", _LINE, NO_VALUE )
+ KYWD( ".language", _LANGUAGE, NO_VALUE )
+ KYWD( "#line", P_LINE, NO_VALUE )
+ /* custom value specifier */
+ KYWD( ".custom", _CUSTOM, NO_VALUE )
+ /* IL method attribute */
+ KYWD( "init", INIT_, NO_VALUE )
+ /* Class layout directives */
+ KYWD( ".size", _SIZE, NO_VALUE )
+ KYWD( ".pack", _PACK, NO_VALUE )
+ /* Manifest-related keywords */
+ KYWD( ".file", _FILE, NO_VALUE )
+ KYWD( "nometadata", NOMETADATA_, NO_VALUE )
+ KYWD( ".hash", _HASH, NO_VALUE )
+ KYWD( ".assembly", _ASSEMBLY, NO_VALUE )
+ KYWD( "retargetable", RETARGETABLE_, NO_VALUE )
+ KYWD( "windowsruntime", WINDOWSRUNTIME_, NO_VALUE )
+ KYWD( "noplatform", NOPLATFORM_, NO_VALUE )
+ KYWD( "legacy", LEGACY_, NO_VALUE )
+ KYWD( "library", LIBRARY_, NO_VALUE )
+ KYWD( "x86", X86_, NO_VALUE )
+ KYWD( "ia64", IA64_, NO_VALUE )
+ KYWD( "amd64", AMD64_, NO_VALUE )
+ KYWD( "arm", ARM_, NO_VALUE )
+ KYWD( ".publickey", _PUBLICKEY, NO_VALUE )
+ KYWD( ".publickeytoken",_PUBLICKEYTOKEN, NO_VALUE )
+ KYWD( "algorithm", ALGORITHM_, NO_VALUE )
+ KYWD( ".ver", _VER, NO_VALUE )
+ KYWD( ".locale", _LOCALE, NO_VALUE )
+ KYWD( "extern", EXTERN_, NO_VALUE )
+ KYWD( ".export", _EXPORT, NO_VALUE )
+ KYWD( ".manifestres", _MRESOURCE, NO_VALUE )
+ KYWD( ".mresource", _MRESOURCE, NO_VALUE )
+ KYWD( ".module", _MODULE, NO_VALUE )
+ /* Field marshaling keywords */
+ KYWD( "marshal", MARSHAL_, NO_VALUE )
+ KYWD( "custom", CUSTOM_, NO_VALUE )
+ KYWD( "sysstring", SYSSTRING_, NO_VALUE )
+ KYWD( "fixed", FIXED_, NO_VALUE )
+ KYWD( "variant", VARIANT_, NO_VALUE )
+ KYWD( "currency", CURRENCY_, NO_VALUE )
+ KYWD( "syschar", SYSCHAR_, NO_VALUE )
+ KYWD( "decimal", DECIMAL_, NO_VALUE )
+ KYWD( "date", DATE_, NO_VALUE )
+ KYWD( "bstr", BSTR_, NO_VALUE )
+ KYWD( "tbstr", TBSTR_, NO_VALUE )
+ KYWD( "lpstr", LPSTR_, NO_VALUE )
+ KYWD( "lpwstr", LPWSTR_, NO_VALUE )
+ KYWD( "lptstr", LPTSTR_, NO_VALUE )
+ KYWD( "objectref", OBJECTREF_, NO_VALUE )
+ KYWD( "iunknown", IUNKNOWN_, NO_VALUE )
+ KYWD( "idispatch", IDISPATCH_, NO_VALUE )
+ KYWD( "iidparam", IIDPARAM_, NO_VALUE )
+ KYWD( "struct", STRUCT_, NO_VALUE )
+ KYWD( "safearray", SAFEARRAY_, NO_VALUE )
+ KYWD( "byvalstr", BYVALSTR_, NO_VALUE )
+ KYWD( "lpvoid", LPVOID_, NO_VALUE )
+ KYWD( "any", ANY_, NO_VALUE )
+ KYWD( "array", ARRAY_, NO_VALUE )
+ KYWD( "lpstruct", LPSTRUCT_, NO_VALUE )
+ /* VTable fixup keywords */
+ KYWD( ".vtfixup", _VTFIXUP, NO_VALUE )
+ KYWD( "fromunmanaged", FROMUNMANAGED_, NO_VALUE )
+ KYWD( "retainappdomain",RETAINAPPDOMAIN_, NO_VALUE )
+ KYWD( "callmostderived",CALLMOSTDERIVED_, NO_VALUE )
+ KYWD( ".vtentry", _VTENTRY, NO_VALUE )
+ /* Parameter attributes */
+ KYWD( "in", IN_, NO_VALUE )
+ KYWD( "out", OUT_, NO_VALUE )
+ KYWD( "opt", OPT_, NO_VALUE )
+ KYWD( ".param", PARAM_, NO_VALUE )
+ /* Method implementations */
+ KYWD( ".override", _OVERRIDE, NO_VALUE )
+ KYWD( "with", WITH_, NO_VALUE )
+ /* VariantType keywords */
+ KYWD( "null", NULL_, NO_VALUE )
+ KYWD( "error", ERROR_, NO_VALUE )
+ KYWD( "hresult", HRESULT_, NO_VALUE )
+ KYWD( "carray", CARRAY_, NO_VALUE )
+ KYWD( "userdefined", USERDEFINED_, NO_VALUE )
+ KYWD( "record", RECORD_, NO_VALUE )
+ KYWD( "filetime", FILETIME_, NO_VALUE )
+ KYWD( "blob", BLOB_, NO_VALUE )
+ KYWD( "stream", STREAM_, NO_VALUE )
+ KYWD( "storage", STORAGE_, NO_VALUE )
+ KYWD( "streamed_object",STREAMED_OBJECT_, NO_VALUE )
+ KYWD( "stored_object", STORED_OBJECT_, NO_VALUE )
+ KYWD( "blob_object", BLOB_OBJECT_, NO_VALUE )
+ KYWD( "cf", CF_, NO_VALUE )
+ KYWD( "clsid", CLSID_, NO_VALUE )
+ KYWD( "vector", VECTOR_, NO_VALUE )
+ /* Null reference keyword for InitOpt */
+ KYWD( "nullref", NULLREF_, NO_VALUE )
+ KYWD( "type", TYPE_, NO_VALUE )
+ KYWD( ".interfaceimpl", _INTERFACEIMPL, NO_VALUE )
+ /* Header flags keywords */
+ KYWD( ".subsystem", _SUBSYSTEM, NO_VALUE )
+ KYWD( ".corflags", _CORFLAGS, NO_VALUE )
+ KYWD( "alignment", ALIGNMENT_, NO_VALUE )
+ KYWD( ".imagebase", _IMAGEBASE, NO_VALUE )
+ KYWD( ".stackreserve", _STACKRESERVE, NO_VALUE )
+ /* Explicit binary flag specification keywords */
+ KYWD( "flags", FLAGS_, NO_VALUE )
+ KYWD( "callconv", CALLCONV_, NO_VALUE )
+ KYWD( "mdtoken", MDTOKEN_, NO_VALUE )
+
+ /* Some ILASM-specific syntactic sugar */
+ KYWD( ".typedef", _TYPEDEF, NO_VALUE )
+ KYWD( ".template", _TEMPLATE, NO_VALUE )
+ KYWD( ".typelist", _TYPELIST, NO_VALUE )
+ KYWD( ".mscorlib", _MSCORLIB, NO_VALUE )
+
+ /* Compilation control keywords */
+ KYWD( "#define", P_DEFINE, NO_VALUE )
+ KYWD( "#undef", P_UNDEF, NO_VALUE )
+ KYWD( "#ifdef", P_IFDEF, NO_VALUE )
+ KYWD( "#ifndef", P_IFNDEF, NO_VALUE )
+ KYWD( "#else", P_ELSE, NO_VALUE )
+ KYWD( "#endif", P_ENDIF, NO_VALUE )
+ KYWD( "#include", P_INCLUDE, NO_VALUE )
+
+
+ /* Deprecated keywords */
+ KYWD( ".vtable", _VTABLE, NO_VALUE )
+
+
+ KYWD( "^THE_END^", 0, NO_VALUE )
+#endif