-const static struct {
- const unsigned char *description;
- const char *name;
-} tables [] = {
- /* 0 */ { ModuleSchema, "Module" },
- /* 1 */ { TypeRefSchema, "TypeRef" },
- /* 2 */ { TypeDefSchema, "TypeDef" },
- /* 3 */ { NULL, NULL },
- /* 4 */ { FieldSchema, "Field" },
- /* 5 */ { NULL, NULL },
- /* 6 */ { MethodSchema, "Method" },
- /* 7 */ { NULL, NULL },
- /* 8 */ { ParamSchema, "Param" },
- /* 9 */ { InterfaceImplSchema, "InterfaceImpl" },
- /* A */ { MemberRefSchema, "MemberRef" },
- /* B */ { ConstantSchema, "Constant" },
- /* C */ { CustomAttributeSchema, "CustomAttribute" },
- /* D */ { FieldMarshalSchema, "FieldMarshal" },
- /* E */ { DeclSecuritySchema, "DeclSecurity" },
- /* F */ { ClassLayoutSchema, "ClassLayout" },
- /* 10 */ { FieldLayoutSchema, "FieldLayout" },
- /* 11 */ { StandaloneSigSchema, "StandaloneSig" },
- /* 12 */ { EventMapSchema, "EventMap" },
- /* 13 */ { NULL, NULL },
- /* 14 */ { EventSchema, "Event" },
- /* 15 */ { PropertyMapSchema, "PropertyMap" },
- /* 16 */ { NULL, NULL },
- /* 17 */ { PropertySchema, "PropertyTable" },
- /* 18 */ { MethodSemanticsSchema, "MethodSemantics" },
- /* 19 */ { MethodImplSchema, "MethodImpl" },
- /* 1A */ { ModuleRefSchema, "ModuleRef" },
- /* 1B */ { TypeSpecSchema, "TypeSpec" },
- /* 1C */ { ImplMapSchema, "ImplMap" },
- /* 1D */ { FieldRVASchema, "FieldRVA" },
- /* 1E */ { NULL, NULL },
- /* 1F */ { NULL, NULL },
- /* 20 */ { AssemblySchema, "Assembly" },
- /* 21 */ { AssemblyProcessorSchema, "AssemblyProcessor" },
- /* 22 */ { AssemblyOSSchema, "AssemblyOS" },
- /* 23 */ { AssemblyRefSchema, "AssemblyRef" },
- /* 24 */ { AssemblyRefProcessorSchema, "AssemblyRefProcessor" },
- /* 25 */ { AssemblyRefOSSchema, "AssemblyRefOS" },
- /* 26 */ { FileSchema, "File" },
- /* 27 */ { ExportedTypeSchema, "ExportedType" },
- /* 28 */ { ManifestResourceSchema, "ManifestResource" },
- /* 29 */ { NestedClassSchema, "NestedClass" },
- /* 2A */ { GenericParamSchema, "GenericParam" },
- /* 2B */ { MethodSpecSchema, "MethodSpec" },
- /* 2C */ { GenericParamConstraintSchema, "GenericParamConstraint" },
+/* Must be the same order as MONO_TABLE_* */
+const static unsigned char
+table_description [] = {
+ MODULE_SCHEMA_OFFSET,
+ TYPEREF_SCHEMA_OFFSET,
+ TYPEDEF_SCHEMA_OFFSET,
+ FIELD_POINTER_SCHEMA_OFFSET,
+ FIELD_SCHEMA_OFFSET,
+ METHOD_POINTER_SCHEMA_OFFSET,
+ METHOD_SCHEMA_OFFSET,
+ PARAM_POINTER_SCHEMA_OFFSET,
+ PARAM_SCHEMA_OFFSET,
+ IFACEMAP_SCHEMA_OFFSET,
+ MEMBERREF_SCHEMA_OFFSET, /* 0xa */
+ CONSTANT_SCHEMA_OFFSET,
+ CUSTOM_ATTR_SCHEMA_OFFSET,
+ FIELD_MARSHAL_SCHEMA_OFFSET,
+ DECL_SEC_SCHEMA_OFFSET,
+ CLASS_LAYOUT_SCHEMA_OFFSET,
+ FIELD_LAYOUT_SCHEMA_OFFSET, /* 0x10 */
+ STDALON_SIG_SCHEMA_OFFSET,
+ EVENTMAP_SCHEMA_OFFSET,
+ EVENT_POINTER_SCHEMA_OFFSET,
+ EVENT_SCHEMA_OFFSET,
+ PROPERTY_MAP_SCHEMA_OFFSET,
+ PROPERTY_POINTER_SCHEMA_OFFSET,
+ PROPERTY_SCHEMA_OFFSET,
+ METHOD_SEMA_SCHEMA_OFFSET,
+ METHOD_IMPL_SCHEMA_OFFSET,
+ MODULEREF_SCHEMA_OFFSET, /* 0x1a */
+ TYPESPEC_SCHEMA_OFFSET,
+ IMPLMAP_SCHEMA_OFFSET,
+ FIELD_RVA_SCHEMA_OFFSET,
+ NULL_SCHEMA_OFFSET,
+ NULL_SCHEMA_OFFSET,
+ ASSEMBLY_SCHEMA_OFFSET, /* 0x20 */
+ ASSEMBLYPROC_SCHEMA_OFFSET,
+ ASSEMBLYOS_SCHEMA_OFFSET,
+ ASSEMBLYREF_SCHEMA_OFFSET,
+ ASSEMBLYREFPROC_SCHEMA_OFFSET,
+ ASSEMBLYREFOS_SCHEMA_OFFSET,
+ FILE_SCHEMA_OFFSET,
+ EXPORTED_TYPE_SCHEMA_OFFSET,
+ MANIFEST_SCHEMA_OFFSET,
+ NESTED_CLASS_SCHEMA_OFFSET,
+ GENPARAM_SCHEMA_OFFSET, /* 0x2a */
+ METHOD_SPEC_SCHEMA_OFFSET,
+ GEN_CONSTRAINT_SCHEMA_OFFSET
+};
+
+#ifdef HAVE_ARRAY_ELEM_INIT
+#define MSGSTRFIELD(line) MSGSTRFIELD1(line)
+#define MSGSTRFIELD1(line) str##line
+static const struct msgstr_t {
+#define TABLEDEF(a,b) char MSGSTRFIELD(__LINE__) [sizeof (b)];
+#include "mono/cil/tables.def"
+#undef TABLEDEF
+} tablestr = {
+#define TABLEDEF(a,b) b,
+#include "mono/cil/tables.def"
+#undef TABLEDEF
+};
+static const gint16 tableidx [] = {
+#define TABLEDEF(a,b) [a] = offsetof (struct msgstr_t, MSGSTRFIELD(__LINE__)),
+#include "mono/cil/tables.def"
+#undef TABLEDEF
+};
+
+#else
+#define TABLEDEF(a,b) b,
+static const char* const
+mono_tables_names [] = {
+#include "mono/cil/tables.def"
+ NULL