use nitg to bootstrap; drop bootstrap of nitc
[nit.git] / c_src / metamodel___abstractmetamodel._sep.h
diff --git a/c_src/metamodel___abstractmetamodel._sep.h b/c_src/metamodel___abstractmetamodel._sep.h
deleted file mode 100644 (file)
index da43f24..0000000
+++ /dev/null
@@ -1,498 +0,0 @@
-/* This C header file is generated by NIT to compile modules and programs that requires ./metamodel/abstractmetamodel. */
-#ifndef metamodel___abstractmetamodel_sep
-#define metamodel___abstractmetamodel_sep
-#include "metamodel___partial_order._sep.h"
-#include "location._sep.h"
-#include "symbol._sep.h"
-#include <nit_common.h>
-
-extern const classtable_elt_t VFT_metamodel___abstractmetamodel___MMContext[];
-
-extern const classtable_elt_t VFT_metamodel___abstractmetamodel___MMDirectory[];
-
-extern const classtable_elt_t VFT_metamodel___abstractmetamodel___MMModule[];
-
-extern const classtable_elt_t VFT_metamodel___abstractmetamodel___MMGlobalClass[];
-
-extern const classtable_elt_t VFT_metamodel___abstractmetamodel___MMLocalClass[];
-
-extern const classtable_elt_t VFT_metamodel___abstractmetamodel___MMGlobalProperty[];
-
-extern const classtable_elt_t VFT_metamodel___abstractmetamodel___MMLocalProperty[];
-
-extern const classtable_elt_t VFT_metamodel___abstractmetamodel___MMAttribute[];
-
-extern const classtable_elt_t VFT_metamodel___abstractmetamodel___MMExplicitImport[];
-
-extern const classtable_elt_t VFT_metamodel___abstractmetamodel___MMMethod[];
-
-extern const classtable_elt_t VFT_metamodel___abstractmetamodel___MMConcreteClass[];
-extern const char LOCATE_metamodel___abstractmetamodel[];
-extern const int SFT_metamodel___abstractmetamodel[];
-#define ID_metamodel___abstractmetamodel___MMContext (SFT_metamodel___abstractmetamodel[0])
-#define COLOR_metamodel___abstractmetamodel___MMContext (SFT_metamodel___abstractmetamodel[1])
-#define ATTR_metamodel___abstractmetamodel___MMContext____module_hierarchy(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[2] + 0))
-#define ATTR_metamodel___abstractmetamodel___MMContext____class_hierarchy(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[2] + 1))
-#define ATTR_metamodel___abstractmetamodel___MMContext____global_classes(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[2] + 2))
-#define ATTR_metamodel___abstractmetamodel___MMContext____modules(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[2] + 3))
-#define INIT_TABLE_POS_metamodel___abstractmetamodel___MMContext (SFT_metamodel___abstractmetamodel[3] + 0)
-#define CALL_metamodel___abstractmetamodel___MMContext___init(recv) ((metamodel___abstractmetamodel___MMContext___init_t)CALL((recv), (SFT_metamodel___abstractmetamodel[3] + 1)))
-#define CALL_metamodel___abstractmetamodel___MMContext___module_hierarchy(recv) ((metamodel___abstractmetamodel___MMContext___module_hierarchy_t)CALL((recv), (SFT_metamodel___abstractmetamodel[3] + 2)))
-#define CALL_metamodel___abstractmetamodel___MMContext___class_hierarchy(recv) ((metamodel___abstractmetamodel___MMContext___class_hierarchy_t)CALL((recv), (SFT_metamodel___abstractmetamodel[3] + 3)))
-#define CALL_metamodel___abstractmetamodel___MMContext___modules(recv) ((metamodel___abstractmetamodel___MMContext___modules_t)CALL((recv), (SFT_metamodel___abstractmetamodel[3] + 4)))
-#define CALL_metamodel___abstractmetamodel___MMContext___add_module(recv) ((metamodel___abstractmetamodel___MMContext___add_module_t)CALL((recv), (SFT_metamodel___abstractmetamodel[3] + 5)))
-#define CALL_metamodel___abstractmetamodel___MMContext___add_global_class(recv) ((metamodel___abstractmetamodel___MMContext___add_global_class_t)CALL((recv), (SFT_metamodel___abstractmetamodel[3] + 6)))
-#define CALL_metamodel___abstractmetamodel___MMContext___add_local_class(recv) ((metamodel___abstractmetamodel___MMContext___add_local_class_t)CALL((recv), (SFT_metamodel___abstractmetamodel[3] + 7)))
-#define ID_metamodel___abstractmetamodel___MMDirectory (SFT_metamodel___abstractmetamodel[4])
-#define COLOR_metamodel___abstractmetamodel___MMDirectory (SFT_metamodel___abstractmetamodel[5])
-#define ATTR_metamodel___abstractmetamodel___MMDirectory____name(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[6] + 0))
-#define ATTR_metamodel___abstractmetamodel___MMDirectory____path(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[6] + 1))
-#define ATTR_metamodel___abstractmetamodel___MMDirectory____parent(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[6] + 2))
-#define ATTR_metamodel___abstractmetamodel___MMDirectory____owner(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[6] + 3))
-#define ATTR_metamodel___abstractmetamodel___MMDirectory____modules(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[6] + 4))
-#define INIT_TABLE_POS_metamodel___abstractmetamodel___MMDirectory (SFT_metamodel___abstractmetamodel[7] + 0)
-#define CALL_metamodel___abstractmetamodel___MMDirectory___name(recv) ((metamodel___abstractmetamodel___MMDirectory___name_t)CALL((recv), (SFT_metamodel___abstractmetamodel[7] + 1)))
-#define CALL_metamodel___abstractmetamodel___MMDirectory___path(recv) ((metamodel___abstractmetamodel___MMDirectory___path_t)CALL((recv), (SFT_metamodel___abstractmetamodel[7] + 2)))
-#define CALL_metamodel___abstractmetamodel___MMDirectory___parent(recv) ((metamodel___abstractmetamodel___MMDirectory___parent_t)CALL((recv), (SFT_metamodel___abstractmetamodel[7] + 3)))
-#define CALL_metamodel___abstractmetamodel___MMDirectory___owner(recv) ((metamodel___abstractmetamodel___MMDirectory___owner_t)CALL((recv), (SFT_metamodel___abstractmetamodel[7] + 4)))
-#define CALL_metamodel___abstractmetamodel___MMDirectory___owner__eq(recv) ((metamodel___abstractmetamodel___MMDirectory___owner__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[7] + 5)))
-#define CALL_metamodel___abstractmetamodel___MMDirectory___modules(recv) ((metamodel___abstractmetamodel___MMDirectory___modules_t)CALL((recv), (SFT_metamodel___abstractmetamodel[7] + 6)))
-#define CALL_metamodel___abstractmetamodel___MMDirectory___add_module(recv) ((metamodel___abstractmetamodel___MMDirectory___add_module_t)CALL((recv), (SFT_metamodel___abstractmetamodel[7] + 7)))
-#define CALL_metamodel___abstractmetamodel___MMDirectory___init(recv) ((metamodel___abstractmetamodel___MMDirectory___init_t)CALL((recv), (SFT_metamodel___abstractmetamodel[7] + 8)))
-#define CALL_metamodel___abstractmetamodel___MMDirectory___full_name_for(recv) ((metamodel___abstractmetamodel___MMDirectory___full_name_for_t)CALL((recv), (SFT_metamodel___abstractmetamodel[7] + 9)))
-#define ID_metamodel___abstractmetamodel___MMModule (SFT_metamodel___abstractmetamodel[8])
-#define COLOR_metamodel___abstractmetamodel___MMModule (SFT_metamodel___abstractmetamodel[9])
-#define ATTR_metamodel___abstractmetamodel___MMModule____context(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 0))
-#define ATTR_metamodel___abstractmetamodel___MMModule____name(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 1))
-#define ATTR_metamodel___abstractmetamodel___MMModule____full_name(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 2))
-#define ATTR_metamodel___abstractmetamodel___MMModule____directory(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 3))
-#define ATTR_metamodel___abstractmetamodel___MMModule____location(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 4))
-#define ATTR_metamodel___abstractmetamodel___MMModule____mhe(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 5))
-#define ATTR_metamodel___abstractmetamodel___MMModule____global_classes(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 6))
-#define ATTR_metamodel___abstractmetamodel___MMModule____local_classes(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 7))
-#define ATTR_metamodel___abstractmetamodel___MMModule____class_specialization_hierarchy(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 8))
-#define ATTR_metamodel___abstractmetamodel___MMModule____intrude_modules(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 9))
-#define ATTR_metamodel___abstractmetamodel___MMModule____public_modules(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 10))
-#define ATTR_metamodel___abstractmetamodel___MMModule____private_modules(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 11))
-#define ATTR_metamodel___abstractmetamodel___MMModule____explicit_imported_modules(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 12))
-#define ATTR_metamodel___abstractmetamodel___MMModule____local_class_by_global(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 13))
-#define ATTR_metamodel___abstractmetamodel___MMModule____global_class_by_name(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 14))
-#define ATTR_metamodel___abstractmetamodel___MMModule_____atis_extern_hybrid(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[10] + 15))
-#define INIT_TABLE_POS_metamodel___abstractmetamodel___MMModule (SFT_metamodel___abstractmetamodel[11] + 0)
-#define CALL_metamodel___abstractmetamodel___MMModule___context(recv) ((metamodel___abstractmetamodel___MMModule___context_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 1)))
-#define CALL_metamodel___abstractmetamodel___MMModule___name(recv) ((metamodel___abstractmetamodel___MMModule___name_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 2)))
-#define CALL_metamodel___abstractmetamodel___MMModule___full_name(recv) ((metamodel___abstractmetamodel___MMModule___full_name_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 3)))
-#define CALL_metamodel___abstractmetamodel___MMModule___directory(recv) ((metamodel___abstractmetamodel___MMModule___directory_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 4)))
-#define CALL_metamodel___abstractmetamodel___MMModule___location(recv) ((metamodel___abstractmetamodel___MMModule___location_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 5)))
-#define CALL_metamodel___abstractmetamodel___MMModule___mhe(recv) ((metamodel___abstractmetamodel___MMModule___mhe_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 6)))
-#define CALL_metamodel___abstractmetamodel___MMModule___global_classes(recv) ((metamodel___abstractmetamodel___MMModule___global_classes_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 7)))
-#define CALL_metamodel___abstractmetamodel___MMModule___local_classes(recv) ((metamodel___abstractmetamodel___MMModule___local_classes_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 8)))
-#define CALL_metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy(recv) ((metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 9)))
-#define CALL_metamodel___abstractmetamodel___MMModule___explicit_imported_modules(recv) ((metamodel___abstractmetamodel___MMModule___explicit_imported_modules_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 10)))
-#define CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid(recv) ((metamodel___abstractmetamodel___MMModule___is_extern_hybrid_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 11)))
-#define CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid__eq(recv) ((metamodel___abstractmetamodel___MMModule___is_extern_hybrid__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 12)))
-#define CALL_metamodel___abstractmetamodel___MMModule___uses_ffi(recv) ((metamodel___abstractmetamodel___MMModule___uses_ffi_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 13)))
-#define CALL_metamodel___abstractmetamodel___MMModule___init(recv) ((metamodel___abstractmetamodel___MMModule___init_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 14)))
-#define CALL_metamodel___abstractmetamodel___MMModule___add_super_module(recv) ((metamodel___abstractmetamodel___MMModule___add_super_module_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 15)))
-#define CALL_metamodel___abstractmetamodel___MMModule___visibility_for(recv) ((metamodel___abstractmetamodel___MMModule___visibility_for_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 16)))
-#define CALL_metamodel___abstractmetamodel___MMModule_____bra(recv) ((metamodel___abstractmetamodel___MMModule_____bra_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 17)))
-#define CALL_metamodel___abstractmetamodel___MMModule___class_by_name(recv) ((metamodel___abstractmetamodel___MMModule___class_by_name_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 18)))
-#define CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(recv) ((metamodel___abstractmetamodel___MMModule___has_global_class_named_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 19)))
-#define CALL_metamodel___abstractmetamodel___MMModule___global_class_named(recv) ((metamodel___abstractmetamodel___MMModule___global_class_named_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 20)))
-#define CALL_metamodel___abstractmetamodel___MMModule___set_supers_class(recv) ((metamodel___abstractmetamodel___MMModule___set_supers_class_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 21)))
-#define CALL_metamodel___abstractmetamodel___MMModule___register_global_class(recv) ((metamodel___abstractmetamodel___MMModule___register_global_class_t)CALL((recv), (SFT_metamodel___abstractmetamodel[11] + 22)))
-#define ID_metamodel___abstractmetamodel___MMGlobalClass (SFT_metamodel___abstractmetamodel[12])
-#define COLOR_metamodel___abstractmetamodel___MMGlobalClass (SFT_metamodel___abstractmetamodel[13])
-#define ATTR_metamodel___abstractmetamodel___MMGlobalClass____intro(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[14] + 0))
-#define ATTR_metamodel___abstractmetamodel___MMGlobalClass____class_refinement_hierarchy(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[14] + 1))
-#define ATTR_metamodel___abstractmetamodel___MMGlobalClass____is_interface(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[14] + 2))
-#define ATTR_metamodel___abstractmetamodel___MMGlobalClass____is_abstract(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[14] + 3))
-#define ATTR_metamodel___abstractmetamodel___MMGlobalClass____is_enum(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[14] + 4))
-#define ATTR_metamodel___abstractmetamodel___MMGlobalClass____is_extern(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[14] + 5))
-#define ATTR_metamodel___abstractmetamodel___MMGlobalClass____visibility_level(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[14] + 6))
-#define ATTR_metamodel___abstractmetamodel___MMGlobalClass____mixin_of(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[14] + 7))
-#define INIT_TABLE_POS_metamodel___abstractmetamodel___MMGlobalClass (SFT_metamodel___abstractmetamodel[15] + 0)
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(recv) ((metamodel___abstractmetamodel___MMGlobalClass___intro_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 1)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(recv) ((metamodel___abstractmetamodel___MMGlobalClass___class_refinement_hierarchy_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 2)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___init(recv) ((metamodel___abstractmetamodel___MMGlobalClass___init_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 3)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___name(recv) ((metamodel___abstractmetamodel___MMGlobalClass___name_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 4)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(recv) ((metamodel___abstractmetamodel___MMGlobalClass___mmmodule_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 5)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___register_local_class(recv) ((metamodel___abstractmetamodel___MMGlobalClass___register_local_class_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 6)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(recv) ((metamodel___abstractmetamodel___MMGlobalClass___is_interface_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 7)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(recv) ((metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 8)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(recv) ((metamodel___abstractmetamodel___MMGlobalClass___is_abstract_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 9)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(recv) ((metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 10)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(recv) ((metamodel___abstractmetamodel___MMGlobalClass___is_enum_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 11)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(recv) ((metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 12)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(recv) ((metamodel___abstractmetamodel___MMGlobalClass___is_extern_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 13)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern__eq(recv) ((metamodel___abstractmetamodel___MMGlobalClass___is_extern__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 14)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(recv) ((metamodel___abstractmetamodel___MMGlobalClass___visibility_level_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 15)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(recv) ((metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 16)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___is_mixin(recv) ((metamodel___abstractmetamodel___MMGlobalClass___is_mixin_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 17)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___mixin_of(recv) ((metamodel___abstractmetamodel___MMGlobalClass___mixin_of_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 18)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalClass___mixin_of__eq(recv) ((metamodel___abstractmetamodel___MMGlobalClass___mixin_of__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[15] + 19)))
-#define ID_metamodel___abstractmetamodel___MMLocalClass (SFT_metamodel___abstractmetamodel[16])
-#define COLOR_metamodel___abstractmetamodel___MMLocalClass (SFT_metamodel___abstractmetamodel[17])
-#define ATTR_metamodel___abstractmetamodel___MMLocalClass____name(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[18] + 0))
-#define ATTR_metamodel___abstractmetamodel___MMLocalClass____arity(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[18] + 1))
-#define ATTR_metamodel___abstractmetamodel___MMLocalClass____mmmodule(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[18] + 2))
-#define ATTR_metamodel___abstractmetamodel___MMLocalClass____global(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[18] + 3))
-#define ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[18] + 4))
-#define ATTR_metamodel___abstractmetamodel___MMLocalClass____cshe(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[18] + 5))
-#define ATTR_metamodel___abstractmetamodel___MMLocalClass____che(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[18] + 6))
-#define ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[18] + 7))
-#define ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[18] + 8))
-#define ATTR_metamodel___abstractmetamodel___MMLocalClass____local_local_properties(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[18] + 9))
-#define ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[18] + 10))
-#define INIT_TABLE_POS_metamodel___abstractmetamodel___MMLocalClass (SFT_metamodel___abstractmetamodel[19] + 0)
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___name(recv) ((metamodel___abstractmetamodel___MMLocalClass___name_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 1)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___arity(recv) ((metamodel___abstractmetamodel___MMLocalClass___arity_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 2)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(recv) ((metamodel___abstractmetamodel___MMLocalClass___mmmodule_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 3)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___global(recv) ((metamodel___abstractmetamodel___MMLocalClass___global_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 4)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___crhe(recv) ((metamodel___abstractmetamodel___MMLocalClass___crhe_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 5)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(recv) ((metamodel___abstractmetamodel___MMLocalClass___cshe_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 6)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___che(recv) ((metamodel___abstractmetamodel___MMLocalClass___che_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 7)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(recv) ((metamodel___abstractmetamodel___MMLocalClass___global_properties_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 8)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___local_local_properties(recv) ((metamodel___abstractmetamodel___MMLocalClass___local_local_properties_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 9)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___init(recv) ((metamodel___abstractmetamodel___MMLocalClass___init_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 10)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___for_module(recv) ((metamodel___abstractmetamodel___MMLocalClass___for_module_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 11)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(recv) ((metamodel___abstractmetamodel___MMLocalClass___new_global_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 12)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___set_global(recv) ((metamodel___abstractmetamodel___MMLocalClass___set_global_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 13)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(recv) ((metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 14)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(recv) ((metamodel___abstractmetamodel___MMLocalClass___get_property_by_name_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 15)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___attribute(recv) ((metamodel___abstractmetamodel___MMLocalClass___attribute_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 16)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___method(recv) ((metamodel___abstractmetamodel___MMLocalClass___method_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 17)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___select_method(recv) ((metamodel___abstractmetamodel___MMLocalClass___select_method_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 18)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___select_attribute(recv) ((metamodel___abstractmetamodel___MMLocalClass___select_attribute_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 19)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___super_methods_named(recv) ((metamodel___abstractmetamodel___MMLocalClass___super_methods_named_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 20)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___register_local_property(recv) ((metamodel___abstractmetamodel___MMLocalClass___register_local_property_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 21)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___register_global_property(recv) ((metamodel___abstractmetamodel___MMLocalClass___register_global_property_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 22)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property(recv) ((metamodel___abstractmetamodel___MMLocalClass___has_global_property_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 23)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(recv) ((metamodel___abstractmetamodel___MMLocalClass_____bra_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 24)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___context(recv) ((metamodel___abstractmetamodel___MMLocalClass___context_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 25)))
-#define CALL_metamodel___abstractmetamodel___MMLocalClass___total_order_compare(recv) ((metamodel___abstractmetamodel___MMLocalClass___total_order_compare_t)CALL((recv), (SFT_metamodel___abstractmetamodel[19] + 26)))
-#define ID_metamodel___abstractmetamodel___MMGlobalProperty (SFT_metamodel___abstractmetamodel[20])
-#define COLOR_metamodel___abstractmetamodel___MMGlobalProperty (SFT_metamodel___abstractmetamodel[21])
-#define ATTR_metamodel___abstractmetamodel___MMGlobalProperty____intro(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[22] + 0))
-#define ATTR_metamodel___abstractmetamodel___MMGlobalProperty____property_hierarchy(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[22] + 1))
-#define ATTR_metamodel___abstractmetamodel___MMGlobalProperty____is_init(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[22] + 2))
-#define ATTR_metamodel___abstractmetamodel___MMGlobalProperty____visibility_level(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[22] + 3))
-#define INIT_TABLE_POS_metamodel___abstractmetamodel___MMGlobalProperty (SFT_metamodel___abstractmetamodel[23] + 0)
-#define CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(recv) ((metamodel___abstractmetamodel___MMGlobalProperty___intro_t)CALL((recv), (SFT_metamodel___abstractmetamodel[23] + 1)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(recv) ((metamodel___abstractmetamodel___MMGlobalProperty___local_class_t)CALL((recv), (SFT_metamodel___abstractmetamodel[23] + 2)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalProperty___property_hierarchy(recv) ((metamodel___abstractmetamodel___MMGlobalProperty___property_hierarchy_t)CALL((recv), (SFT_metamodel___abstractmetamodel[23] + 3)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalProperty___init(recv) ((metamodel___abstractmetamodel___MMGlobalProperty___init_t)CALL((recv), (SFT_metamodel___abstractmetamodel[23] + 4)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalProperty___add_local_property(recv) ((metamodel___abstractmetamodel___MMGlobalProperty___add_local_property_t)CALL((recv), (SFT_metamodel___abstractmetamodel[23] + 5)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_attribute(recv) ((metamodel___abstractmetamodel___MMGlobalProperty___is_attribute_t)CALL((recv), (SFT_metamodel___abstractmetamodel[23] + 6)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_method(recv) ((metamodel___abstractmetamodel___MMGlobalProperty___is_method_t)CALL((recv), (SFT_metamodel___abstractmetamodel[23] + 7)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(recv) ((metamodel___abstractmetamodel___MMGlobalProperty___is_init_t)CALL((recv), (SFT_metamodel___abstractmetamodel[23] + 8)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init__eq(recv) ((metamodel___abstractmetamodel___MMGlobalProperty___is_init__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[23] + 9)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init_for(recv) ((metamodel___abstractmetamodel___MMGlobalProperty___is_init_for_t)CALL((recv), (SFT_metamodel___abstractmetamodel[23] + 10)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(recv) ((metamodel___abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL((recv), (SFT_metamodel___abstractmetamodel[23] + 11)))
-#define CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(recv) ((metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[23] + 12)))
-#define ID_metamodel___abstractmetamodel___MMLocalProperty (SFT_metamodel___abstractmetamodel[24])
-#define COLOR_metamodel___abstractmetamodel___MMLocalProperty (SFT_metamodel___abstractmetamodel[25])
-#define ATTR_metamodel___abstractmetamodel___MMLocalProperty____name(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[26] + 0))
-#define ATTR_metamodel___abstractmetamodel___MMLocalProperty____local_class(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[26] + 1))
-#define ATTR_metamodel___abstractmetamodel___MMLocalProperty____global(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[26] + 2))
-#define ATTR_metamodel___abstractmetamodel___MMLocalProperty____prhe(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[26] + 3))
-#define ATTR_metamodel___abstractmetamodel___MMLocalProperty____need_super(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[26] + 4))
-#define INIT_TABLE_POS_metamodel___abstractmetamodel___MMLocalProperty (SFT_metamodel___abstractmetamodel[27] + 0)
-#define CALL_metamodel___abstractmetamodel___MMLocalProperty___name(recv) ((metamodel___abstractmetamodel___MMLocalProperty___name_t)CALL((recv), (SFT_metamodel___abstractmetamodel[27] + 1)))
-#define CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(recv) ((metamodel___abstractmetamodel___MMLocalProperty___local_class_t)CALL((recv), (SFT_metamodel___abstractmetamodel[27] + 2)))
-#define CALL_metamodel___abstractmetamodel___MMLocalProperty___global(recv) ((metamodel___abstractmetamodel___MMLocalProperty___global_t)CALL((recv), (SFT_metamodel___abstractmetamodel[27] + 3)))
-#define CALL_metamodel___abstractmetamodel___MMLocalProperty___is_global_set(recv) ((metamodel___abstractmetamodel___MMLocalProperty___is_global_set_t)CALL((recv), (SFT_metamodel___abstractmetamodel[27] + 4)))
-#define CALL_metamodel___abstractmetamodel___MMLocalProperty___prhe(recv) ((metamodel___abstractmetamodel___MMLocalProperty___prhe_t)CALL((recv), (SFT_metamodel___abstractmetamodel[27] + 5)))
-#define CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(recv) ((metamodel___abstractmetamodel___MMLocalProperty___mmmodule_t)CALL((recv), (SFT_metamodel___abstractmetamodel[27] + 6)))
-#define CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(recv) ((metamodel___abstractmetamodel___MMLocalProperty___full_name_t)CALL((recv), (SFT_metamodel___abstractmetamodel[27] + 7)))
-#define CALL_metamodel___abstractmetamodel___MMLocalProperty___set_global(recv) ((metamodel___abstractmetamodel___MMLocalProperty___set_global_t)CALL((recv), (SFT_metamodel___abstractmetamodel[27] + 8)))
-#define CALL_metamodel___abstractmetamodel___MMLocalProperty___new_global(recv) ((metamodel___abstractmetamodel___MMLocalProperty___new_global_t)CALL((recv), (SFT_metamodel___abstractmetamodel[27] + 9)))
-#define CALL_metamodel___abstractmetamodel___MMLocalProperty___need_super(recv) ((metamodel___abstractmetamodel___MMLocalProperty___need_super_t)CALL((recv), (SFT_metamodel___abstractmetamodel[27] + 10)))
-#define CALL_metamodel___abstractmetamodel___MMLocalProperty___need_super__eq(recv) ((metamodel___abstractmetamodel___MMLocalProperty___need_super__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[27] + 11)))
-#define CALL_metamodel___abstractmetamodel___MMLocalProperty___init(recv) ((metamodel___abstractmetamodel___MMLocalProperty___init_t)CALL((recv), (SFT_metamodel___abstractmetamodel[27] + 12)))
-#define ID_metamodel___abstractmetamodel___MMAttribute (SFT_metamodel___abstractmetamodel[28])
-#define COLOR_metamodel___abstractmetamodel___MMAttribute (SFT_metamodel___abstractmetamodel[29])
-#define INIT_TABLE_POS_metamodel___abstractmetamodel___MMAttribute (SFT_metamodel___abstractmetamodel[30] + 0)
-#define ID_metamodel___abstractmetamodel___MMExplicitImport (SFT_metamodel___abstractmetamodel[31])
-#define COLOR_metamodel___abstractmetamodel___MMExplicitImport (SFT_metamodel___abstractmetamodel[32])
-#define ATTR_metamodel___abstractmetamodel___MMExplicitImport_____atlocal_class(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[33] + 0))
-#define ATTR_metamodel___abstractmetamodel___MMExplicitImport_____atmethod(recv) ATTR(recv, (SFT_metamodel___abstractmetamodel[33] + 1))
-#define INIT_TABLE_POS_metamodel___abstractmetamodel___MMExplicitImport (SFT_metamodel___abstractmetamodel[34] + 0)
-#define CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(recv) ((metamodel___abstractmetamodel___MMExplicitImport___local_class_t)CALL((recv), (SFT_metamodel___abstractmetamodel[34] + 1)))
-#define CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class__eq(recv) ((metamodel___abstractmetamodel___MMExplicitImport___local_class__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[34] + 2)))
-#define CALL_metamodel___abstractmetamodel___MMExplicitImport___method(recv) ((metamodel___abstractmetamodel___MMExplicitImport___method_t)CALL((recv), (SFT_metamodel___abstractmetamodel[34] + 3)))
-#define CALL_metamodel___abstractmetamodel___MMExplicitImport___method__eq(recv) ((metamodel___abstractmetamodel___MMExplicitImport___method__eq_t)CALL((recv), (SFT_metamodel___abstractmetamodel[34] + 4)))
-#define CALL_metamodel___abstractmetamodel___MMExplicitImport___init(recv) ((metamodel___abstractmetamodel___MMExplicitImport___init_t)CALL((recv), (SFT_metamodel___abstractmetamodel[34] + 5)))
-#define ID_metamodel___abstractmetamodel___MMMethod (SFT_metamodel___abstractmetamodel[35])
-#define COLOR_metamodel___abstractmetamodel___MMMethod (SFT_metamodel___abstractmetamodel[36])
-#define INIT_TABLE_POS_metamodel___abstractmetamodel___MMMethod (SFT_metamodel___abstractmetamodel[37] + 0)
-#define CALL_metamodel___abstractmetamodel___MMMethod___is_intern(recv) ((metamodel___abstractmetamodel___MMMethod___is_intern_t)CALL((recv), (SFT_metamodel___abstractmetamodel[37] + 1)))
-#define CALL_metamodel___abstractmetamodel___MMMethod___is_abstract(recv) ((metamodel___abstractmetamodel___MMMethod___is_abstract_t)CALL((recv), (SFT_metamodel___abstractmetamodel[37] + 2)))
-#define CALL_metamodel___abstractmetamodel___MMMethod___is_extern(recv) ((metamodel___abstractmetamodel___MMMethod___is_extern_t)CALL((recv), (SFT_metamodel___abstractmetamodel[37] + 3)))
-#define CALL_metamodel___abstractmetamodel___MMMethod___extern_name(recv) ((metamodel___abstractmetamodel___MMMethod___extern_name_t)CALL((recv), (SFT_metamodel___abstractmetamodel[37] + 4)))
-#define CALL_metamodel___abstractmetamodel___MMMethod___explicit_imports(recv) ((metamodel___abstractmetamodel___MMMethod___explicit_imports_t)CALL((recv), (SFT_metamodel___abstractmetamodel[37] + 5)))
-#define ID_metamodel___abstractmetamodel___MMConcreteClass (SFT_metamodel___abstractmetamodel[38])
-#define COLOR_metamodel___abstractmetamodel___MMConcreteClass (SFT_metamodel___abstractmetamodel[39])
-#define INIT_TABLE_POS_metamodel___abstractmetamodel___MMConcreteClass (SFT_metamodel___abstractmetamodel[40] + 0)
-void metamodel___abstractmetamodel___MMContext___init(val_t p0, int* init_table);
-typedef void (*metamodel___abstractmetamodel___MMContext___init_t)(val_t p0, int* init_table);
-val_t NEW_MMContext_metamodel___abstractmetamodel___MMContext___init();
-val_t metamodel___abstractmetamodel___MMContext___module_hierarchy(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMContext___module_hierarchy_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMContext___class_hierarchy(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMContext___class_hierarchy_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMContext___modules(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMContext___modules_t)(val_t p0);
-void metamodel___abstractmetamodel___MMContext___add_module(val_t p0, val_t p1, val_t p2);
-typedef void (*metamodel___abstractmetamodel___MMContext___add_module_t)(val_t p0, val_t p1, val_t p2);
-void metamodel___abstractmetamodel___MMContext___add_global_class(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMContext___add_global_class_t)(val_t p0, val_t p1);
-void metamodel___abstractmetamodel___MMContext___add_local_class(val_t p0, val_t p1, val_t p2);
-typedef void (*metamodel___abstractmetamodel___MMContext___add_local_class_t)(val_t p0, val_t p1, val_t p2);
-val_t metamodel___abstractmetamodel___MMDirectory___name(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMDirectory___name_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMDirectory___path(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMDirectory___path_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMDirectory___parent(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMDirectory___parent_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMDirectory___owner(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMDirectory___owner_t)(val_t p0);
-void metamodel___abstractmetamodel___MMDirectory___owner__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMDirectory___owner__eq_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMDirectory___modules(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMDirectory___modules_t)(val_t p0);
-void metamodel___abstractmetamodel___MMDirectory___add_module(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMDirectory___add_module_t)(val_t p0, val_t p1);
-void metamodel___abstractmetamodel___MMDirectory___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table);
-typedef void (*metamodel___abstractmetamodel___MMDirectory___init_t)(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table);
-val_t NEW_MMDirectory_metamodel___abstractmetamodel___MMDirectory___init(val_t p0, val_t p1, val_t p2);
-val_t metamodel___abstractmetamodel___MMDirectory___full_name_for(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMDirectory___full_name_for_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMModule___context(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___context_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMModule___name(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___name_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMModule___full_name(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___full_name_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMModule___directory(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___directory_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMModule___location(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___location_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMModule___mhe(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___mhe_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMModule___global_classes(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___global_classes_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMModule___local_classes(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___local_classes_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMModule___explicit_imported_modules(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___explicit_imported_modules_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMModule___is_extern_hybrid(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___is_extern_hybrid_t)(val_t p0);
-void metamodel___abstractmetamodel___MMModule___is_extern_hybrid__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMModule___is_extern_hybrid__eq_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMModule___uses_ffi(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___uses_ffi_t)(val_t p0);
-void metamodel___abstractmetamodel___MMModule___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table);
-typedef void (*metamodel___abstractmetamodel___MMModule___init_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table);
-val_t NEW_MMModule_metamodel___abstractmetamodel___MMModule___init(val_t p0, val_t p1, val_t p2, val_t p3);
-void metamodel___abstractmetamodel___MMModule___add_super_module(val_t p0, val_t p1, val_t p2);
-typedef void (*metamodel___abstractmetamodel___MMModule___add_super_module_t)(val_t p0, val_t p1, val_t p2);
-val_t metamodel___abstractmetamodel___MMModule___visibility_for(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___visibility_for_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMModule_____bra(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMModule_____bra_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMModule___class_by_name(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___class_by_name_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMModule___has_global_class_named(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___has_global_class_named_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMModule___global_class_named(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___global_class_named_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMModule___to_s(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMModule___to_s_t)(val_t p0);
-void metamodel___abstractmetamodel___MMModule___set_supers_class(val_t p0, val_t p1, val_t p2);
-typedef void (*metamodel___abstractmetamodel___MMModule___set_supers_class_t)(val_t p0, val_t p1, val_t p2);
-void metamodel___abstractmetamodel___MMModule___register_global_class(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMModule___register_global_class_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMGlobalClass___intro(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalClass___intro_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalClass___class_refinement_hierarchy_t)(val_t p0);
-void metamodel___abstractmetamodel___MMGlobalClass___init(val_t p0, val_t p1, int* init_table);
-typedef void (*metamodel___abstractmetamodel___MMGlobalClass___init_t)(val_t p0, val_t p1, int* init_table);
-val_t NEW_MMGlobalClass_metamodel___abstractmetamodel___MMGlobalClass___init(val_t p0);
-val_t metamodel___abstractmetamodel___MMGlobalClass___name(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalClass___name_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMGlobalClass___mmmodule(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalClass___mmmodule_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMGlobalClass___to_s(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalClass___to_s_t)(val_t p0);
-void metamodel___abstractmetamodel___MMGlobalClass___register_local_class(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMGlobalClass___register_local_class_t)(val_t p0, val_t p1);
-  typedef void (*CLOS_OC_metamodel___abstractmetamodel___MMGlobalClass___register_local_class_1_0)(struct stack_frame_t *);
-  void OC_metamodel___abstractmetamodel___MMGlobalClass___register_local_class_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
-  typedef void (*OC_metamodel___abstractmetamodel___MMGlobalClass___register_local_class_1_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
-val_t metamodel___abstractmetamodel___MMGlobalClass___is_interface(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalClass___is_interface_t)(val_t p0);
-void metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMGlobalClass___is_abstract(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalClass___is_abstract_t)(val_t p0);
-void metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMGlobalClass___is_enum(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalClass___is_enum_t)(val_t p0);
-void metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMGlobalClass___is_extern(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalClass___is_extern_t)(val_t p0);
-void metamodel___abstractmetamodel___MMGlobalClass___is_extern__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMGlobalClass___is_extern__eq_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMGlobalClass___visibility_level(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalClass___visibility_level_t)(val_t p0);
-void metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMGlobalClass___is_mixin(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalClass___is_mixin_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMGlobalClass___mixin_of(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalClass___mixin_of_t)(val_t p0);
-void metamodel___abstractmetamodel___MMGlobalClass___mixin_of__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMGlobalClass___mixin_of__eq_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMLocalClass___name(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___name_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalClass___arity(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___arity_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalClass___mmmodule(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___mmmodule_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalClass___global(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___global_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalClass___crhe(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___crhe_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalClass___cshe(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___cshe_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalClass___che(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___che_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalClass___global_properties(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___global_properties_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalClass___local_local_properties(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___local_local_properties_t)(val_t p0);
-void metamodel___abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table);
-typedef void (*metamodel___abstractmetamodel___MMLocalClass___init_t)(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table);
-val_t NEW_MMLocalClass_metamodel___abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1, val_t p2);
-val_t metamodel___abstractmetamodel___MMLocalClass___for_module(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___for_module_t)(val_t p0, val_t p1);
-void metamodel___abstractmetamodel___MMLocalClass___new_global(val_t p0);
-typedef void (*metamodel___abstractmetamodel___MMLocalClass___new_global_t)(val_t p0);
-void metamodel___abstractmetamodel___MMLocalClass___set_global(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMLocalClass___set_global_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___get_property_by_name_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMLocalClass___attribute(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___attribute_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMLocalClass___method(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___method_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMLocalClass___select_method(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___select_method_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMLocalClass___select_attribute(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___select_attribute_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMLocalClass___super_methods_named(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___super_methods_named_t)(val_t p0, val_t p1);
-  typedef void (*CLOS_OC_metamodel___abstractmetamodel___MMLocalClass___super_methods_named_1_0)(struct stack_frame_t *);
-  void OC_metamodel___abstractmetamodel___MMLocalClass___super_methods_named_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
-  typedef void (*OC_metamodel___abstractmetamodel___MMLocalClass___super_methods_named_1_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
-void metamodel___abstractmetamodel___MMLocalClass___register_local_property(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMLocalClass___register_local_property_t)(val_t p0, val_t p1);
-void metamodel___abstractmetamodel___MMLocalClass___register_global_property(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMLocalClass___register_global_property_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMLocalClass___has_global_property(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___has_global_property_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMLocalClass_____bra(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass_____bra_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMLocalClass___context(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___context_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalClass___to_s(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___to_s_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalClass___total_order_compare(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalClass___total_order_compare_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMGlobalProperty___intro(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalProperty___intro_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMGlobalProperty___local_class(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalProperty___local_class_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMGlobalProperty___property_hierarchy(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalProperty___property_hierarchy_t)(val_t p0);
-void metamodel___abstractmetamodel___MMGlobalProperty___init(val_t p0, val_t p1, int* init_table);
-typedef void (*metamodel___abstractmetamodel___MMGlobalProperty___init_t)(val_t p0, val_t p1, int* init_table);
-val_t NEW_MMGlobalProperty_metamodel___abstractmetamodel___MMGlobalProperty___init(val_t p0);
-val_t metamodel___abstractmetamodel___MMGlobalProperty___to_s(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalProperty___to_s_t)(val_t p0);
-void metamodel___abstractmetamodel___MMGlobalProperty___add_local_property(val_t p0, val_t p1, val_t p2);
-typedef void (*metamodel___abstractmetamodel___MMGlobalProperty___add_local_property_t)(val_t p0, val_t p1, val_t p2);
-val_t metamodel___abstractmetamodel___MMGlobalProperty___is_attribute(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalProperty___is_attribute_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMGlobalProperty___is_method(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalProperty___is_method_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMGlobalProperty___is_init(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalProperty___is_init_t)(val_t p0);
-void metamodel___abstractmetamodel___MMGlobalProperty___is_init__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMGlobalProperty___is_init__eq_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMGlobalProperty___is_init_for(val_t p0, val_t p1);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalProperty___is_init_for_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMGlobalProperty___visibility_level_t)(val_t p0);
-void metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMLocalProperty___name(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalProperty___name_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalProperty___local_class(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalProperty___local_class_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalProperty___global(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalProperty___global_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalProperty___is_global_set(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalProperty___is_global_set_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalProperty___prhe(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalProperty___prhe_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalProperty___mmmodule(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalProperty___mmmodule_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalProperty___full_name(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalProperty___full_name_t)(val_t p0);
-void metamodel___abstractmetamodel___MMLocalProperty___set_global(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMLocalProperty___set_global_t)(val_t p0, val_t p1);
-void metamodel___abstractmetamodel___MMLocalProperty___new_global(val_t p0);
-typedef void (*metamodel___abstractmetamodel___MMLocalProperty___new_global_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalProperty___to_s(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalProperty___to_s_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMLocalProperty___need_super(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMLocalProperty___need_super_t)(val_t p0);
-void metamodel___abstractmetamodel___MMLocalProperty___need_super__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMLocalProperty___need_super__eq_t)(val_t p0, val_t p1);
-void metamodel___abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1, val_t p2, int* init_table);
-typedef void (*metamodel___abstractmetamodel___MMLocalProperty___init_t)(val_t p0, val_t p1, val_t p2, int* init_table);
-val_t NEW_MMLocalProperty_metamodel___abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
-val_t NEW_MMAttribute_metamodel___abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMExplicitImport___local_class(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMExplicitImport___local_class_t)(val_t p0);
-void metamodel___abstractmetamodel___MMExplicitImport___local_class__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMExplicitImport___local_class__eq_t)(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMExplicitImport___method(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMExplicitImport___method_t)(val_t p0);
-void metamodel___abstractmetamodel___MMExplicitImport___method__eq(val_t p0, val_t p1);
-typedef void (*metamodel___abstractmetamodel___MMExplicitImport___method__eq_t)(val_t p0, val_t p1);
-void metamodel___abstractmetamodel___MMExplicitImport___init(val_t p0, val_t p1, val_t p2, int* init_table);
-typedef void (*metamodel___abstractmetamodel___MMExplicitImport___init_t)(val_t p0, val_t p1, val_t p2, int* init_table);
-val_t NEW_MMExplicitImport_metamodel___abstractmetamodel___MMExplicitImport___init(val_t p0, val_t p1);
-val_t metamodel___abstractmetamodel___MMMethod___is_intern(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMMethod___is_intern_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMMethod___is_abstract(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMMethod___is_abstract_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMMethod___is_extern(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMMethod___is_extern_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMMethod___extern_name(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMMethod___extern_name_t)(val_t p0);
-val_t metamodel___abstractmetamodel___MMMethod___explicit_imports(val_t p0);
-typedef val_t (*metamodel___abstractmetamodel___MMMethod___explicit_imports_t)(val_t p0);
-val_t NEW_MMMethod_metamodel___abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
-val_t NEW_MMConcreteClass_metamodel___abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1, val_t p2);
-#endif