c_src: update for 0.4
[nit.git] / c_src / abstractmetamodel._sep.h
index 4254594..517b9e5 100644 (file)
@@ -2,6 +2,7 @@
 #ifndef abstractmetamodel_sep
 #define abstractmetamodel_sep
 #include "partial_order._sep.h"
+#include "location._sep.h"
 #include <nit_common.h>
 
 extern const classtable_elt_t VFT_MMContext[];
@@ -46,7 +47,6 @@ extern const int SFT_abstractmetamodel[];
 #define ATTR_abstractmetamodel___MMDirectory____parent(recv) ATTR(recv, (SFT_abstractmetamodel[6] + 2))
 #define ATTR_abstractmetamodel___MMDirectory____owner(recv) ATTR(recv, (SFT_abstractmetamodel[6] + 3))
 #define ATTR_abstractmetamodel___MMDirectory____modules(recv) ATTR(recv, (SFT_abstractmetamodel[6] + 4))
-#define ATTR_abstractmetamodel___MMDirectory____dhe(recv) ATTR(recv, (SFT_abstractmetamodel[6] + 5))
 #define INIT_TABLE_POS_MMDirectory (SFT_abstractmetamodel[7] + 0)
 #define CALL_abstractmetamodel___MMDirectory___name(recv) ((abstractmetamodel___MMDirectory___name_t)CALL((recv), (SFT_abstractmetamodel[7] + 1)))
 #define CALL_abstractmetamodel___MMDirectory___path(recv) ((abstractmetamodel___MMDirectory___path_t)CALL((recv), (SFT_abstractmetamodel[7] + 2)))
@@ -55,40 +55,40 @@ extern const int SFT_abstractmetamodel[];
 #define CALL_abstractmetamodel___MMDirectory___owner__eq(recv) ((abstractmetamodel___MMDirectory___owner__eq_t)CALL((recv), (SFT_abstractmetamodel[7] + 5)))
 #define CALL_abstractmetamodel___MMDirectory___modules(recv) ((abstractmetamodel___MMDirectory___modules_t)CALL((recv), (SFT_abstractmetamodel[7] + 6)))
 #define CALL_abstractmetamodel___MMDirectory___add_module(recv) ((abstractmetamodel___MMDirectory___add_module_t)CALL((recv), (SFT_abstractmetamodel[7] + 7)))
-#define CALL_abstractmetamodel___MMDirectory___dhe(recv) ((abstractmetamodel___MMDirectory___dhe_t)CALL((recv), (SFT_abstractmetamodel[7] + 8)))
-#define CALL_abstractmetamodel___MMDirectory___init(recv) ((abstractmetamodel___MMDirectory___init_t)CALL((recv), (SFT_abstractmetamodel[7] + 9)))
-#define CALL_abstractmetamodel___MMDirectory___full_name_for(recv) ((abstractmetamodel___MMDirectory___full_name_for_t)CALL((recv), (SFT_abstractmetamodel[7] + 10)))
+#define CALL_abstractmetamodel___MMDirectory___init(recv) ((abstractmetamodel___MMDirectory___init_t)CALL((recv), (SFT_abstractmetamodel[7] + 8)))
+#define CALL_abstractmetamodel___MMDirectory___full_name_for(recv) ((abstractmetamodel___MMDirectory___full_name_for_t)CALL((recv), (SFT_abstractmetamodel[7] + 9)))
 #define ID_MMModule (SFT_abstractmetamodel[8])
 #define COLOR_MMModule (SFT_abstractmetamodel[9])
 #define ATTR_abstractmetamodel___MMModule____context(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 0))
 #define ATTR_abstractmetamodel___MMModule____name(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 1))
 #define ATTR_abstractmetamodel___MMModule____full_name(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 2))
 #define ATTR_abstractmetamodel___MMModule____directory(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 3))
-#define ATTR_abstractmetamodel___MMModule____mhe(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 4))
-#define ATTR_abstractmetamodel___MMModule____global_classes(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 5))
-#define ATTR_abstractmetamodel___MMModule____local_classes(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 6))
-#define ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 7))
-#define ATTR_abstractmetamodel___MMModule____intrude_modules(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 8))
-#define ATTR_abstractmetamodel___MMModule____public_modules(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 9))
-#define ATTR_abstractmetamodel___MMModule____private_modules(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 10))
-#define ATTR_abstractmetamodel___MMModule____explicit_imported_modules(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 11))
-#define ATTR_abstractmetamodel___MMModule____local_class_by_global(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 12))
-#define ATTR_abstractmetamodel___MMModule____global_class_by_name(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 13))
+#define ATTR_abstractmetamodel___MMModule____location(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 4))
+#define ATTR_abstractmetamodel___MMModule____mhe(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 5))
+#define ATTR_abstractmetamodel___MMModule____global_classes(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 6))
+#define ATTR_abstractmetamodel___MMModule____local_classes(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 7))
+#define ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 8))
+#define ATTR_abstractmetamodel___MMModule____intrude_modules(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 9))
+#define ATTR_abstractmetamodel___MMModule____public_modules(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 10))
+#define ATTR_abstractmetamodel___MMModule____private_modules(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 11))
+#define ATTR_abstractmetamodel___MMModule____explicit_imported_modules(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 12))
+#define ATTR_abstractmetamodel___MMModule____local_class_by_global(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 13))
+#define ATTR_abstractmetamodel___MMModule____global_class_by_name(recv) ATTR(recv, (SFT_abstractmetamodel[10] + 14))
 #define INIT_TABLE_POS_MMModule (SFT_abstractmetamodel[11] + 0)
 #define CALL_abstractmetamodel___MMModule___context(recv) ((abstractmetamodel___MMModule___context_t)CALL((recv), (SFT_abstractmetamodel[11] + 1)))
 #define CALL_abstractmetamodel___MMModule___name(recv) ((abstractmetamodel___MMModule___name_t)CALL((recv), (SFT_abstractmetamodel[11] + 2)))
 #define CALL_abstractmetamodel___MMModule___full_name(recv) ((abstractmetamodel___MMModule___full_name_t)CALL((recv), (SFT_abstractmetamodel[11] + 3)))
 #define CALL_abstractmetamodel___MMModule___directory(recv) ((abstractmetamodel___MMModule___directory_t)CALL((recv), (SFT_abstractmetamodel[11] + 4)))
-#define CALL_abstractmetamodel___MMModule___mhe(recv) ((abstractmetamodel___MMModule___mhe_t)CALL((recv), (SFT_abstractmetamodel[11] + 5)))
-#define CALL_abstractmetamodel___MMModule___global_classes(recv) ((abstractmetamodel___MMModule___global_classes_t)CALL((recv), (SFT_abstractmetamodel[11] + 6)))
-#define CALL_abstractmetamodel___MMModule___local_classes(recv) ((abstractmetamodel___MMModule___local_classes_t)CALL((recv), (SFT_abstractmetamodel[11] + 7)))
-#define CALL_abstractmetamodel___MMModule___class_specialization_hierarchy(recv) ((abstractmetamodel___MMModule___class_specialization_hierarchy_t)CALL((recv), (SFT_abstractmetamodel[11] + 8)))
-#define CALL_abstractmetamodel___MMModule___explicit_imported_modules(recv) ((abstractmetamodel___MMModule___explicit_imported_modules_t)CALL((recv), (SFT_abstractmetamodel[11] + 9)))
-#define CALL_abstractmetamodel___MMModule___init(recv) ((abstractmetamodel___MMModule___init_t)CALL((recv), (SFT_abstractmetamodel[11] + 10)))
-#define CALL_abstractmetamodel___MMModule___add_super_module(recv) ((abstractmetamodel___MMModule___add_super_module_t)CALL((recv), (SFT_abstractmetamodel[11] + 11)))
-#define CALL_abstractmetamodel___MMModule___visibility_for(recv) ((abstractmetamodel___MMModule___visibility_for_t)CALL((recv), (SFT_abstractmetamodel[11] + 12)))
-#define CALL_abstractmetamodel___MMModule_____bra(recv) ((abstractmetamodel___MMModule_____bra_t)CALL((recv), (SFT_abstractmetamodel[11] + 13)))
-#define CALL_abstractmetamodel___MMModule___add_local_class(recv) ((abstractmetamodel___MMModule___add_local_class_t)CALL((recv), (SFT_abstractmetamodel[11] + 14)))
+#define CALL_abstractmetamodel___MMModule___location(recv) ((abstractmetamodel___MMModule___location_t)CALL((recv), (SFT_abstractmetamodel[11] + 5)))
+#define CALL_abstractmetamodel___MMModule___mhe(recv) ((abstractmetamodel___MMModule___mhe_t)CALL((recv), (SFT_abstractmetamodel[11] + 6)))
+#define CALL_abstractmetamodel___MMModule___global_classes(recv) ((abstractmetamodel___MMModule___global_classes_t)CALL((recv), (SFT_abstractmetamodel[11] + 7)))
+#define CALL_abstractmetamodel___MMModule___local_classes(recv) ((abstractmetamodel___MMModule___local_classes_t)CALL((recv), (SFT_abstractmetamodel[11] + 8)))
+#define CALL_abstractmetamodel___MMModule___class_specialization_hierarchy(recv) ((abstractmetamodel___MMModule___class_specialization_hierarchy_t)CALL((recv), (SFT_abstractmetamodel[11] + 9)))
+#define CALL_abstractmetamodel___MMModule___explicit_imported_modules(recv) ((abstractmetamodel___MMModule___explicit_imported_modules_t)CALL((recv), (SFT_abstractmetamodel[11] + 10)))
+#define CALL_abstractmetamodel___MMModule___init(recv) ((abstractmetamodel___MMModule___init_t)CALL((recv), (SFT_abstractmetamodel[11] + 11)))
+#define CALL_abstractmetamodel___MMModule___add_super_module(recv) ((abstractmetamodel___MMModule___add_super_module_t)CALL((recv), (SFT_abstractmetamodel[11] + 12)))
+#define CALL_abstractmetamodel___MMModule___visibility_for(recv) ((abstractmetamodel___MMModule___visibility_for_t)CALL((recv), (SFT_abstractmetamodel[11] + 13)))
+#define CALL_abstractmetamodel___MMModule_____bra(recv) ((abstractmetamodel___MMModule_____bra_t)CALL((recv), (SFT_abstractmetamodel[11] + 14)))
 #define CALL_abstractmetamodel___MMModule___class_by_name(recv) ((abstractmetamodel___MMModule___class_by_name_t)CALL((recv), (SFT_abstractmetamodel[11] + 15)))
 #define CALL_abstractmetamodel___MMModule___has_global_class_named(recv) ((abstractmetamodel___MMModule___has_global_class_named_t)CALL((recv), (SFT_abstractmetamodel[11] + 16)))
 #define CALL_abstractmetamodel___MMModule___global_class_named(recv) ((abstractmetamodel___MMModule___global_class_named_t)CALL((recv), (SFT_abstractmetamodel[11] + 17)))
@@ -100,7 +100,7 @@ extern const int SFT_abstractmetamodel[];
 #define ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy(recv) ATTR(recv, (SFT_abstractmetamodel[14] + 1))
 #define ATTR_abstractmetamodel___MMGlobalClass____is_interface(recv) ATTR(recv, (SFT_abstractmetamodel[14] + 2))
 #define ATTR_abstractmetamodel___MMGlobalClass____is_abstract(recv) ATTR(recv, (SFT_abstractmetamodel[14] + 3))
-#define ATTR_abstractmetamodel___MMGlobalClass____is_universal(recv) ATTR(recv, (SFT_abstractmetamodel[14] + 4))
+#define ATTR_abstractmetamodel___MMGlobalClass____is_enum(recv) ATTR(recv, (SFT_abstractmetamodel[14] + 4))
 #define ATTR_abstractmetamodel___MMGlobalClass____visibility_level(recv) ATTR(recv, (SFT_abstractmetamodel[14] + 5))
 #define ATTR_abstractmetamodel___MMGlobalClass____mixin_of(recv) ATTR(recv, (SFT_abstractmetamodel[14] + 6))
 #define INIT_TABLE_POS_MMGlobalClass (SFT_abstractmetamodel[15] + 0)
@@ -108,14 +108,14 @@ extern const int SFT_abstractmetamodel[];
 #define CALL_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(recv) ((abstractmetamodel___MMGlobalClass___class_refinement_hierarchy_t)CALL((recv), (SFT_abstractmetamodel[15] + 2)))
 #define CALL_abstractmetamodel___MMGlobalClass___init(recv) ((abstractmetamodel___MMGlobalClass___init_t)CALL((recv), (SFT_abstractmetamodel[15] + 3)))
 #define CALL_abstractmetamodel___MMGlobalClass___name(recv) ((abstractmetamodel___MMGlobalClass___name_t)CALL((recv), (SFT_abstractmetamodel[15] + 4)))
-#define CALL_abstractmetamodel___MMGlobalClass___module(recv) ((abstractmetamodel___MMGlobalClass___module_t)CALL((recv), (SFT_abstractmetamodel[15] + 5)))
+#define CALL_abstractmetamodel___MMGlobalClass___mmmodule(recv) ((abstractmetamodel___MMGlobalClass___mmmodule_t)CALL((recv), (SFT_abstractmetamodel[15] + 5)))
 #define CALL_abstractmetamodel___MMGlobalClass___register_local_class(recv) ((abstractmetamodel___MMGlobalClass___register_local_class_t)CALL((recv), (SFT_abstractmetamodel[15] + 6)))
 #define CALL_abstractmetamodel___MMGlobalClass___is_interface(recv) ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL((recv), (SFT_abstractmetamodel[15] + 7)))
 #define CALL_abstractmetamodel___MMGlobalClass___is_interface__eq(recv) ((abstractmetamodel___MMGlobalClass___is_interface__eq_t)CALL((recv), (SFT_abstractmetamodel[15] + 8)))
 #define CALL_abstractmetamodel___MMGlobalClass___is_abstract(recv) ((abstractmetamodel___MMGlobalClass___is_abstract_t)CALL((recv), (SFT_abstractmetamodel[15] + 9)))
 #define CALL_abstractmetamodel___MMGlobalClass___is_abstract__eq(recv) ((abstractmetamodel___MMGlobalClass___is_abstract__eq_t)CALL((recv), (SFT_abstractmetamodel[15] + 10)))
-#define CALL_abstractmetamodel___MMGlobalClass___is_universal(recv) ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL((recv), (SFT_abstractmetamodel[15] + 11)))
-#define CALL_abstractmetamodel___MMGlobalClass___is_universal__eq(recv) ((abstractmetamodel___MMGlobalClass___is_universal__eq_t)CALL((recv), (SFT_abstractmetamodel[15] + 12)))
+#define CALL_abstractmetamodel___MMGlobalClass___is_enum(recv) ((abstractmetamodel___MMGlobalClass___is_enum_t)CALL((recv), (SFT_abstractmetamodel[15] + 11)))
+#define CALL_abstractmetamodel___MMGlobalClass___is_enum__eq(recv) ((abstractmetamodel___MMGlobalClass___is_enum__eq_t)CALL((recv), (SFT_abstractmetamodel[15] + 12)))
 #define CALL_abstractmetamodel___MMGlobalClass___visibility_level(recv) ((abstractmetamodel___MMGlobalClass___visibility_level_t)CALL((recv), (SFT_abstractmetamodel[15] + 13)))
 #define CALL_abstractmetamodel___MMGlobalClass___visibility_level__eq(recv) ((abstractmetamodel___MMGlobalClass___visibility_level__eq_t)CALL((recv), (SFT_abstractmetamodel[15] + 14)))
 #define CALL_abstractmetamodel___MMGlobalClass___is_mixin(recv) ((abstractmetamodel___MMGlobalClass___is_mixin_t)CALL((recv), (SFT_abstractmetamodel[15] + 15)))
@@ -125,40 +125,42 @@ extern const int SFT_abstractmetamodel[];
 #define COLOR_MMLocalClass (SFT_abstractmetamodel[17])
 #define ATTR_abstractmetamodel___MMLocalClass____name(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 0))
 #define ATTR_abstractmetamodel___MMLocalClass____arity(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 1))
-#define ATTR_abstractmetamodel___MMLocalClass____module(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 2))
+#define ATTR_abstractmetamodel___MMLocalClass____mmmodule(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 2))
 #define ATTR_abstractmetamodel___MMLocalClass____global(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 3))
 #define ATTR_abstractmetamodel___MMLocalClass____crhe(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 4))
 #define ATTR_abstractmetamodel___MMLocalClass____cshe(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 5))
 #define ATTR_abstractmetamodel___MMLocalClass____che(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 6))
 #define ATTR_abstractmetamodel___MMLocalClass____local_property_by_global(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 7))
 #define ATTR_abstractmetamodel___MMLocalClass____global_properties(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 8))
-#define ATTR_abstractmetamodel___MMLocalClass____properties_by_name(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 9))
+#define ATTR_abstractmetamodel___MMLocalClass____local_local_properties(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 9))
+#define ATTR_abstractmetamodel___MMLocalClass____properties_by_name(recv) ATTR(recv, (SFT_abstractmetamodel[18] + 10))
 #define INIT_TABLE_POS_MMLocalClass (SFT_abstractmetamodel[19] + 0)
 #define CALL_abstractmetamodel___MMLocalClass___name(recv) ((abstractmetamodel___MMLocalClass___name_t)CALL((recv), (SFT_abstractmetamodel[19] + 1)))
 #define CALL_abstractmetamodel___MMLocalClass___arity(recv) ((abstractmetamodel___MMLocalClass___arity_t)CALL((recv), (SFT_abstractmetamodel[19] + 2)))
-#define CALL_abstractmetamodel___MMLocalClass___module(recv) ((abstractmetamodel___MMLocalClass___module_t)CALL((recv), (SFT_abstractmetamodel[19] + 3)))
+#define CALL_abstractmetamodel___MMLocalClass___mmmodule(recv) ((abstractmetamodel___MMLocalClass___mmmodule_t)CALL((recv), (SFT_abstractmetamodel[19] + 3)))
 #define CALL_abstractmetamodel___MMLocalClass___global(recv) ((abstractmetamodel___MMLocalClass___global_t)CALL((recv), (SFT_abstractmetamodel[19] + 4)))
 #define CALL_abstractmetamodel___MMLocalClass___crhe(recv) ((abstractmetamodel___MMLocalClass___crhe_t)CALL((recv), (SFT_abstractmetamodel[19] + 5)))
 #define CALL_abstractmetamodel___MMLocalClass___cshe(recv) ((abstractmetamodel___MMLocalClass___cshe_t)CALL((recv), (SFT_abstractmetamodel[19] + 6)))
 #define CALL_abstractmetamodel___MMLocalClass___che(recv) ((abstractmetamodel___MMLocalClass___che_t)CALL((recv), (SFT_abstractmetamodel[19] + 7)))
-#define CALL_abstractmetamodel___MMLocalClass___local_property_by_global(recv) ((abstractmetamodel___MMLocalClass___local_property_by_global_t)CALL((recv), (SFT_abstractmetamodel[19] + 8)))
-#define CALL_abstractmetamodel___MMLocalClass___global_properties(recv) ((abstractmetamodel___MMLocalClass___global_properties_t)CALL((recv), (SFT_abstractmetamodel[19] + 9)))
-#define CALL_abstractmetamodel___MMLocalClass___properties_by_name(recv) ((abstractmetamodel___MMLocalClass___properties_by_name_t)CALL((recv), (SFT_abstractmetamodel[19] + 10)))
-#define CALL_abstractmetamodel___MMLocalClass___init(recv) ((abstractmetamodel___MMLocalClass___init_t)CALL((recv), (SFT_abstractmetamodel[19] + 11)))
-#define CALL_abstractmetamodel___MMLocalClass___for_module(recv) ((abstractmetamodel___MMLocalClass___for_module_t)CALL((recv), (SFT_abstractmetamodel[19] + 12)))
-#define CALL_abstractmetamodel___MMLocalClass___new_global(recv) ((abstractmetamodel___MMLocalClass___new_global_t)CALL((recv), (SFT_abstractmetamodel[19] + 13)))
-#define CALL_abstractmetamodel___MMLocalClass___set_global(recv) ((abstractmetamodel___MMLocalClass___set_global_t)CALL((recv), (SFT_abstractmetamodel[19] + 14)))
-#define CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name(recv) ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL((recv), (SFT_abstractmetamodel[19] + 15)))
-#define CALL_abstractmetamodel___MMLocalClass___get_property_by_name(recv) ((abstractmetamodel___MMLocalClass___get_property_by_name_t)CALL((recv), (SFT_abstractmetamodel[19] + 16)))
-#define CALL_abstractmetamodel___MMLocalClass___attribute(recv) ((abstractmetamodel___MMLocalClass___attribute_t)CALL((recv), (SFT_abstractmetamodel[19] + 17)))
-#define CALL_abstractmetamodel___MMLocalClass___method(recv) ((abstractmetamodel___MMLocalClass___method_t)CALL((recv), (SFT_abstractmetamodel[19] + 18)))
-#define CALL_abstractmetamodel___MMLocalClass___select_method(recv) ((abstractmetamodel___MMLocalClass___select_method_t)CALL((recv), (SFT_abstractmetamodel[19] + 19)))
-#define CALL_abstractmetamodel___MMLocalClass___select_attribute(recv) ((abstractmetamodel___MMLocalClass___select_attribute_t)CALL((recv), (SFT_abstractmetamodel[19] + 20)))
-#define CALL_abstractmetamodel___MMLocalClass___super_methods_named(recv) ((abstractmetamodel___MMLocalClass___super_methods_named_t)CALL((recv), (SFT_abstractmetamodel[19] + 21)))
-#define CALL_abstractmetamodel___MMLocalClass___register_local_property(recv) ((abstractmetamodel___MMLocalClass___register_local_property_t)CALL((recv), (SFT_abstractmetamodel[19] + 22)))
-#define CALL_abstractmetamodel___MMLocalClass___register_global_property(recv) ((abstractmetamodel___MMLocalClass___register_global_property_t)CALL((recv), (SFT_abstractmetamodel[19] + 23)))
+#define CALL_abstractmetamodel___MMLocalClass___global_properties(recv) ((abstractmetamodel___MMLocalClass___global_properties_t)CALL((recv), (SFT_abstractmetamodel[19] + 8)))
+#define CALL_abstractmetamodel___MMLocalClass___local_local_properties(recv) ((abstractmetamodel___MMLocalClass___local_local_properties_t)CALL((recv), (SFT_abstractmetamodel[19] + 9)))
+#define CALL_abstractmetamodel___MMLocalClass___init(recv) ((abstractmetamodel___MMLocalClass___init_t)CALL((recv), (SFT_abstractmetamodel[19] + 10)))
+#define CALL_abstractmetamodel___MMLocalClass___for_module(recv) ((abstractmetamodel___MMLocalClass___for_module_t)CALL((recv), (SFT_abstractmetamodel[19] + 11)))
+#define CALL_abstractmetamodel___MMLocalClass___new_global(recv) ((abstractmetamodel___MMLocalClass___new_global_t)CALL((recv), (SFT_abstractmetamodel[19] + 12)))
+#define CALL_abstractmetamodel___MMLocalClass___set_global(recv) ((abstractmetamodel___MMLocalClass___set_global_t)CALL((recv), (SFT_abstractmetamodel[19] + 13)))
+#define CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name(recv) ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL((recv), (SFT_abstractmetamodel[19] + 14)))
+#define CALL_abstractmetamodel___MMLocalClass___get_property_by_name(recv) ((abstractmetamodel___MMLocalClass___get_property_by_name_t)CALL((recv), (SFT_abstractmetamodel[19] + 15)))
+#define CALL_abstractmetamodel___MMLocalClass___attribute(recv) ((abstractmetamodel___MMLocalClass___attribute_t)CALL((recv), (SFT_abstractmetamodel[19] + 16)))
+#define CALL_abstractmetamodel___MMLocalClass___method(recv) ((abstractmetamodel___MMLocalClass___method_t)CALL((recv), (SFT_abstractmetamodel[19] + 17)))
+#define CALL_abstractmetamodel___MMLocalClass___select_method(recv) ((abstractmetamodel___MMLocalClass___select_method_t)CALL((recv), (SFT_abstractmetamodel[19] + 18)))
+#define CALL_abstractmetamodel___MMLocalClass___select_attribute(recv) ((abstractmetamodel___MMLocalClass___select_attribute_t)CALL((recv), (SFT_abstractmetamodel[19] + 19)))
+#define CALL_abstractmetamodel___MMLocalClass___super_methods_named(recv) ((abstractmetamodel___MMLocalClass___super_methods_named_t)CALL((recv), (SFT_abstractmetamodel[19] + 20)))
+#define CALL_abstractmetamodel___MMLocalClass___register_local_property(recv) ((abstractmetamodel___MMLocalClass___register_local_property_t)CALL((recv), (SFT_abstractmetamodel[19] + 21)))
+#define CALL_abstractmetamodel___MMLocalClass___register_global_property(recv) ((abstractmetamodel___MMLocalClass___register_global_property_t)CALL((recv), (SFT_abstractmetamodel[19] + 22)))
+#define CALL_abstractmetamodel___MMLocalClass___has_global_property(recv) ((abstractmetamodel___MMLocalClass___has_global_property_t)CALL((recv), (SFT_abstractmetamodel[19] + 23)))
 #define CALL_abstractmetamodel___MMLocalClass_____bra(recv) ((abstractmetamodel___MMLocalClass_____bra_t)CALL((recv), (SFT_abstractmetamodel[19] + 24)))
 #define CALL_abstractmetamodel___MMLocalClass___context(recv) ((abstractmetamodel___MMLocalClass___context_t)CALL((recv), (SFT_abstractmetamodel[19] + 25)))
+#define CALL_abstractmetamodel___MMLocalClass___total_order_compare(recv) ((abstractmetamodel___MMLocalClass___total_order_compare_t)CALL((recv), (SFT_abstractmetamodel[19] + 26)))
 #define ID_MMGlobalProperty (SFT_abstractmetamodel[20])
 #define COLOR_MMGlobalProperty (SFT_abstractmetamodel[21])
 #define ATTR_abstractmetamodel___MMGlobalProperty____intro(recv) ATTR(recv, (SFT_abstractmetamodel[22] + 0))
@@ -189,349 +191,371 @@ extern const int SFT_abstractmetamodel[];
 #define CALL_abstractmetamodel___MMLocalProperty___name(recv) ((abstractmetamodel___MMLocalProperty___name_t)CALL((recv), (SFT_abstractmetamodel[27] + 1)))
 #define CALL_abstractmetamodel___MMLocalProperty___local_class(recv) ((abstractmetamodel___MMLocalProperty___local_class_t)CALL((recv), (SFT_abstractmetamodel[27] + 2)))
 #define CALL_abstractmetamodel___MMLocalProperty___global(recv) ((abstractmetamodel___MMLocalProperty___global_t)CALL((recv), (SFT_abstractmetamodel[27] + 3)))
-#define CALL_abstractmetamodel___MMLocalProperty___prhe(recv) ((abstractmetamodel___MMLocalProperty___prhe_t)CALL((recv), (SFT_abstractmetamodel[27] + 4)))
-#define CALL_abstractmetamodel___MMLocalProperty___module(recv) ((abstractmetamodel___MMLocalProperty___module_t)CALL((recv), (SFT_abstractmetamodel[27] + 5)))
-#define CALL_abstractmetamodel___MMLocalProperty___full_name(recv) ((abstractmetamodel___MMLocalProperty___full_name_t)CALL((recv), (SFT_abstractmetamodel[27] + 6)))
-#define CALL_abstractmetamodel___MMLocalProperty___set_global(recv) ((abstractmetamodel___MMLocalProperty___set_global_t)CALL((recv), (SFT_abstractmetamodel[27] + 7)))
-#define CALL_abstractmetamodel___MMLocalProperty___new_global(recv) ((abstractmetamodel___MMLocalProperty___new_global_t)CALL((recv), (SFT_abstractmetamodel[27] + 8)))
-#define CALL_abstractmetamodel___MMLocalProperty___need_super(recv) ((abstractmetamodel___MMLocalProperty___need_super_t)CALL((recv), (SFT_abstractmetamodel[27] + 9)))
-#define CALL_abstractmetamodel___MMLocalProperty___need_super__eq(recv) ((abstractmetamodel___MMLocalProperty___need_super__eq_t)CALL((recv), (SFT_abstractmetamodel[27] + 10)))
-#define CALL_abstractmetamodel___MMLocalProperty___init(recv) ((abstractmetamodel___MMLocalProperty___init_t)CALL((recv), (SFT_abstractmetamodel[27] + 11)))
+#define CALL_abstractmetamodel___MMLocalProperty___is_global_set(recv) ((abstractmetamodel___MMLocalProperty___is_global_set_t)CALL((recv), (SFT_abstractmetamodel[27] + 4)))
+#define CALL_abstractmetamodel___MMLocalProperty___prhe(recv) ((abstractmetamodel___MMLocalProperty___prhe_t)CALL((recv), (SFT_abstractmetamodel[27] + 5)))
+#define CALL_abstractmetamodel___MMLocalProperty___mmmodule(recv) ((abstractmetamodel___MMLocalProperty___mmmodule_t)CALL((recv), (SFT_abstractmetamodel[27] + 6)))
+#define CALL_abstractmetamodel___MMLocalProperty___full_name(recv) ((abstractmetamodel___MMLocalProperty___full_name_t)CALL((recv), (SFT_abstractmetamodel[27] + 7)))
+#define CALL_abstractmetamodel___MMLocalProperty___set_global(recv) ((abstractmetamodel___MMLocalProperty___set_global_t)CALL((recv), (SFT_abstractmetamodel[27] + 8)))
+#define CALL_abstractmetamodel___MMLocalProperty___new_global(recv) ((abstractmetamodel___MMLocalProperty___new_global_t)CALL((recv), (SFT_abstractmetamodel[27] + 9)))
+#define CALL_abstractmetamodel___MMLocalProperty___need_super(recv) ((abstractmetamodel___MMLocalProperty___need_super_t)CALL((recv), (SFT_abstractmetamodel[27] + 10)))
+#define CALL_abstractmetamodel___MMLocalProperty___need_super__eq(recv) ((abstractmetamodel___MMLocalProperty___need_super__eq_t)CALL((recv), (SFT_abstractmetamodel[27] + 11)))
+#define CALL_abstractmetamodel___MMLocalProperty___init(recv) ((abstractmetamodel___MMLocalProperty___init_t)CALL((recv), (SFT_abstractmetamodel[27] + 12)))
 #define ID_MMAttribute (SFT_abstractmetamodel[28])
 #define COLOR_MMAttribute (SFT_abstractmetamodel[29])
 #define INIT_TABLE_POS_MMAttribute (SFT_abstractmetamodel[30] + 0)
 #define ID_MMMethod (SFT_abstractmetamodel[31])
 #define COLOR_MMMethod (SFT_abstractmetamodel[32])
 #define INIT_TABLE_POS_MMMethod (SFT_abstractmetamodel[33] + 0)
+#define CALL_abstractmetamodel___MMMethod___is_intern(recv) ((abstractmetamodel___MMMethod___is_intern_t)CALL((recv), (SFT_abstractmetamodel[33] + 1)))
+#define CALL_abstractmetamodel___MMMethod___is_abstract(recv) ((abstractmetamodel___MMMethod___is_abstract_t)CALL((recv), (SFT_abstractmetamodel[33] + 2)))
+#define CALL_abstractmetamodel___MMMethod___extern_name(recv) ((abstractmetamodel___MMMethod___extern_name_t)CALL((recv), (SFT_abstractmetamodel[33] + 3)))
 #define ID_MMConcreteClass (SFT_abstractmetamodel[34])
 #define COLOR_MMConcreteClass (SFT_abstractmetamodel[35])
 #define INIT_TABLE_POS_MMConcreteClass (SFT_abstractmetamodel[36] + 0)
-typedef void (* abstractmetamodel___MMContext___init_t)(val_t  self, int* init_table);
-void abstractmetamodel___MMContext___init(val_t  self, int* init_table);
-#define LOCATE_abstractmetamodel___MMContext___init "abstractmetamodel::MMContext::init"
+static const char * const LOCATE_abstractmetamodel___MMContext___init = "abstractmetamodel::MMContext::init";
+void abstractmetamodel___MMContext___init(val_t p0, int* init_table);
+typedef void (*abstractmetamodel___MMContext___init_t)(val_t p0, int* init_table);
 val_t NEW_MMContext_abstractmetamodel___MMContext___init();
-typedef val_t (* abstractmetamodel___MMContext___module_hierarchy_t)(val_t  self);
-val_t abstractmetamodel___MMContext___module_hierarchy(val_t  self);
-#define LOCATE_abstractmetamodel___MMContext___module_hierarchy "abstractmetamodel::MMContext::module_hierarchy"
-typedef val_t (* abstractmetamodel___MMContext___class_hierarchy_t)(val_t  self);
-val_t abstractmetamodel___MMContext___class_hierarchy(val_t  self);
-#define LOCATE_abstractmetamodel___MMContext___class_hierarchy "abstractmetamodel::MMContext::class_hierarchy"
-typedef val_t (* abstractmetamodel___MMContext___modules_t)(val_t  self);
-val_t abstractmetamodel___MMContext___modules(val_t  self);
-#define LOCATE_abstractmetamodel___MMContext___modules "abstractmetamodel::MMContext::modules"
-typedef void (* abstractmetamodel___MMContext___add_module_t)(val_t  self, val_t  param0, val_t  param1);
-void abstractmetamodel___MMContext___add_module(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_abstractmetamodel___MMContext___add_module "abstractmetamodel::MMContext::add_module"
-typedef void (* abstractmetamodel___MMContext___add_global_class_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMContext___add_global_class(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMContext___add_global_class "abstractmetamodel::MMContext::add_global_class"
-typedef void (* abstractmetamodel___MMContext___add_local_class_t)(val_t  self, val_t  param0, val_t  param1);
-void abstractmetamodel___MMContext___add_local_class(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_abstractmetamodel___MMContext___add_local_class "abstractmetamodel::MMContext::add_local_class"
-typedef val_t (* abstractmetamodel___MMDirectory___name_t)(val_t  self);
-val_t abstractmetamodel___MMDirectory___name(val_t  self);
-#define LOCATE_abstractmetamodel___MMDirectory___name "abstractmetamodel::MMDirectory::name"
-typedef val_t (* abstractmetamodel___MMDirectory___path_t)(val_t  self);
-val_t abstractmetamodel___MMDirectory___path(val_t  self);
-#define LOCATE_abstractmetamodel___MMDirectory___path "abstractmetamodel::MMDirectory::path"
-typedef val_t (* abstractmetamodel___MMDirectory___parent_t)(val_t  self);
-val_t abstractmetamodel___MMDirectory___parent(val_t  self);
-#define LOCATE_abstractmetamodel___MMDirectory___parent "abstractmetamodel::MMDirectory::parent"
-typedef val_t (* abstractmetamodel___MMDirectory___owner_t)(val_t  self);
-val_t abstractmetamodel___MMDirectory___owner(val_t  self);
-#define LOCATE_abstractmetamodel___MMDirectory___owner "abstractmetamodel::MMDirectory::owner"
-typedef void (* abstractmetamodel___MMDirectory___owner__eq_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMDirectory___owner__eq(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMDirectory___owner__eq "abstractmetamodel::MMDirectory::owner="
-typedef val_t (* abstractmetamodel___MMDirectory___modules_t)(val_t  self);
-val_t abstractmetamodel___MMDirectory___modules(val_t  self);
-#define LOCATE_abstractmetamodel___MMDirectory___modules "abstractmetamodel::MMDirectory::modules"
-typedef void (* abstractmetamodel___MMDirectory___add_module_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMDirectory___add_module(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMDirectory___add_module "abstractmetamodel::MMDirectory::add_module"
-typedef val_t (* abstractmetamodel___MMDirectory___dhe_t)(val_t  self);
-val_t abstractmetamodel___MMDirectory___dhe(val_t  self);
-#define LOCATE_abstractmetamodel___MMDirectory___dhe "abstractmetamodel::MMDirectory::dhe"
-typedef void (* abstractmetamodel___MMDirectory___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void abstractmetamodel___MMDirectory___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-#define LOCATE_abstractmetamodel___MMDirectory___init "abstractmetamodel::MMDirectory::init"
+static const char * const LOCATE_abstractmetamodel___MMContext___module_hierarchy = "abstractmetamodel::MMContext::module_hierarchy";
+val_t abstractmetamodel___MMContext___module_hierarchy(val_t p0);
+typedef val_t (*abstractmetamodel___MMContext___module_hierarchy_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMContext___class_hierarchy = "abstractmetamodel::MMContext::class_hierarchy";
+val_t abstractmetamodel___MMContext___class_hierarchy(val_t p0);
+typedef val_t (*abstractmetamodel___MMContext___class_hierarchy_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMContext___modules = "abstractmetamodel::MMContext::modules";
+val_t abstractmetamodel___MMContext___modules(val_t p0);
+typedef val_t (*abstractmetamodel___MMContext___modules_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMContext___add_module = "abstractmetamodel::MMContext::add_module";
+void abstractmetamodel___MMContext___add_module(val_t p0, val_t p1, val_t p2);
+typedef void (*abstractmetamodel___MMContext___add_module_t)(val_t p0, val_t p1, val_t p2);
+static const char * const LOCATE_abstractmetamodel___MMContext___add_global_class = "abstractmetamodel::MMContext::add_global_class";
+void abstractmetamodel___MMContext___add_global_class(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMContext___add_global_class_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMContext___add_local_class = "abstractmetamodel::MMContext::add_local_class";
+void abstractmetamodel___MMContext___add_local_class(val_t p0, val_t p1, val_t p2);
+typedef void (*abstractmetamodel___MMContext___add_local_class_t)(val_t p0, val_t p1, val_t p2);
+static const char * const LOCATE_abstractmetamodel___MMDirectory___name = "abstractmetamodel::MMDirectory::name";
+val_t abstractmetamodel___MMDirectory___name(val_t p0);
+typedef val_t (*abstractmetamodel___MMDirectory___name_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMDirectory___path = "abstractmetamodel::MMDirectory::path";
+val_t abstractmetamodel___MMDirectory___path(val_t p0);
+typedef val_t (*abstractmetamodel___MMDirectory___path_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMDirectory___parent = "abstractmetamodel::MMDirectory::parent";
+val_t abstractmetamodel___MMDirectory___parent(val_t p0);
+typedef val_t (*abstractmetamodel___MMDirectory___parent_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMDirectory___owner = "abstractmetamodel::MMDirectory::owner";
+val_t abstractmetamodel___MMDirectory___owner(val_t p0);
+typedef val_t (*abstractmetamodel___MMDirectory___owner_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMDirectory___owner__eq = "abstractmetamodel::MMDirectory::owner=";
+void abstractmetamodel___MMDirectory___owner__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMDirectory___owner__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMDirectory___modules = "abstractmetamodel::MMDirectory::modules";
+val_t abstractmetamodel___MMDirectory___modules(val_t p0);
+typedef val_t (*abstractmetamodel___MMDirectory___modules_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMDirectory___add_module = "abstractmetamodel::MMDirectory::add_module";
+void abstractmetamodel___MMDirectory___add_module(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMDirectory___add_module_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMDirectory___init = "abstractmetamodel::MMDirectory::init";
+void abstractmetamodel___MMDirectory___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table);
+typedef void (*abstractmetamodel___MMDirectory___init_t)(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table);
 val_t NEW_MMDirectory_abstractmetamodel___MMDirectory___init(val_t p0, val_t p1, val_t p2);
-typedef val_t (* abstractmetamodel___MMDirectory___full_name_for_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMDirectory___full_name_for(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMDirectory___full_name_for "abstractmetamodel::MMDirectory::full_name_for"
-typedef val_t (* abstractmetamodel___MMModule___to_s_t)(val_t  self);
-val_t abstractmetamodel___MMModule___to_s(val_t  self);
-#define LOCATE_abstractmetamodel___MMModule___to_s "abstractmetamodel::MMModule::(string::Object::to_s)"
-typedef val_t (* abstractmetamodel___MMModule___context_t)(val_t  self);
-val_t abstractmetamodel___MMModule___context(val_t  self);
-#define LOCATE_abstractmetamodel___MMModule___context "abstractmetamodel::MMModule::context"
-typedef val_t (* abstractmetamodel___MMModule___name_t)(val_t  self);
-val_t abstractmetamodel___MMModule___name(val_t  self);
-#define LOCATE_abstractmetamodel___MMModule___name "abstractmetamodel::MMModule::name"
-typedef val_t (* abstractmetamodel___MMModule___full_name_t)(val_t  self);
-val_t abstractmetamodel___MMModule___full_name(val_t  self);
-#define LOCATE_abstractmetamodel___MMModule___full_name "abstractmetamodel::MMModule::full_name"
-typedef val_t (* abstractmetamodel___MMModule___directory_t)(val_t  self);
-val_t abstractmetamodel___MMModule___directory(val_t  self);
-#define LOCATE_abstractmetamodel___MMModule___directory "abstractmetamodel::MMModule::directory"
-typedef val_t (* abstractmetamodel___MMModule___mhe_t)(val_t  self);
-val_t abstractmetamodel___MMModule___mhe(val_t  self);
-#define LOCATE_abstractmetamodel___MMModule___mhe "abstractmetamodel::MMModule::mhe"
-typedef val_t (* abstractmetamodel___MMModule___global_classes_t)(val_t  self);
-val_t abstractmetamodel___MMModule___global_classes(val_t  self);
-#define LOCATE_abstractmetamodel___MMModule___global_classes "abstractmetamodel::MMModule::global_classes"
-typedef val_t (* abstractmetamodel___MMModule___local_classes_t)(val_t  self);
-val_t abstractmetamodel___MMModule___local_classes(val_t  self);
-#define LOCATE_abstractmetamodel___MMModule___local_classes "abstractmetamodel::MMModule::local_classes"
-typedef val_t (* abstractmetamodel___MMModule___class_specialization_hierarchy_t)(val_t  self);
-val_t abstractmetamodel___MMModule___class_specialization_hierarchy(val_t  self);
-#define LOCATE_abstractmetamodel___MMModule___class_specialization_hierarchy "abstractmetamodel::MMModule::class_specialization_hierarchy"
-typedef val_t (* abstractmetamodel___MMModule___explicit_imported_modules_t)(val_t  self);
-val_t abstractmetamodel___MMModule___explicit_imported_modules(val_t  self);
-#define LOCATE_abstractmetamodel___MMModule___explicit_imported_modules "abstractmetamodel::MMModule::explicit_imported_modules"
-typedef void (* abstractmetamodel___MMModule___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-void abstractmetamodel___MMModule___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, int* init_table);
-#define LOCATE_abstractmetamodel___MMModule___init "abstractmetamodel::MMModule::init"
-val_t NEW_MMModule_abstractmetamodel___MMModule___init(val_t p0, val_t p1, val_t p2);
-typedef void (* abstractmetamodel___MMModule___add_super_module_t)(val_t  self, val_t  param0, val_t  param1);
-void abstractmetamodel___MMModule___add_super_module(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_abstractmetamodel___MMModule___add_super_module "abstractmetamodel::MMModule::add_super_module"
-typedef val_t (* abstractmetamodel___MMModule___visibility_for_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMModule___visibility_for(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMModule___visibility_for "abstractmetamodel::MMModule::visibility_for"
-typedef val_t (* abstractmetamodel___MMModule_____bra_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMModule_____bra(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMModule_____bra "abstractmetamodel::MMModule::[]"
-typedef void (* abstractmetamodel___MMModule___add_local_class_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMModule___add_local_class(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMModule___add_local_class "abstractmetamodel::MMModule::add_local_class"
-typedef val_t (* abstractmetamodel___MMModule___class_by_name_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMModule___class_by_name(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMModule___class_by_name "abstractmetamodel::MMModule::class_by_name"
-typedef val_t (* abstractmetamodel___MMModule___has_global_class_named_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMModule___has_global_class_named(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMModule___has_global_class_named "abstractmetamodel::MMModule::has_global_class_named"
-typedef val_t (* abstractmetamodel___MMModule___global_class_named_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMModule___global_class_named(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMModule___global_class_named "abstractmetamodel::MMModule::global_class_named"
-typedef void (* abstractmetamodel___MMModule___set_supers_class_t)(val_t  self, val_t  param0, val_t  param1);
-void abstractmetamodel___MMModule___set_supers_class(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_abstractmetamodel___MMModule___set_supers_class "abstractmetamodel::MMModule::set_supers_class"
-typedef void (* abstractmetamodel___MMModule___register_global_class_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMModule___register_global_class(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMModule___register_global_class "abstractmetamodel::MMModule::register_global_class"
-typedef val_t (* abstractmetamodel___MMGlobalClass___to_s_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalClass___to_s(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___to_s "abstractmetamodel::MMGlobalClass::(string::Object::to_s)"
-typedef val_t (* abstractmetamodel___MMGlobalClass___intro_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalClass___intro(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___intro "abstractmetamodel::MMGlobalClass::intro"
-typedef val_t (* abstractmetamodel___MMGlobalClass___class_refinement_hierarchy_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy "abstractmetamodel::MMGlobalClass::class_refinement_hierarchy"
-typedef void (* abstractmetamodel___MMGlobalClass___init_t)(val_t  self, val_t  param0, int* init_table);
-void abstractmetamodel___MMGlobalClass___init(val_t  self, val_t  param0, int* init_table);
-#define LOCATE_abstractmetamodel___MMGlobalClass___init "abstractmetamodel::MMGlobalClass::init"
+static const char * const LOCATE_abstractmetamodel___MMDirectory___full_name_for = "abstractmetamodel::MMDirectory::full_name_for";
+val_t abstractmetamodel___MMDirectory___full_name_for(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMDirectory___full_name_for_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMModule___context = "abstractmetamodel::MMModule::context";
+val_t abstractmetamodel___MMModule___context(val_t p0);
+typedef val_t (*abstractmetamodel___MMModule___context_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMModule___name = "abstractmetamodel::MMModule::name";
+val_t abstractmetamodel___MMModule___name(val_t p0);
+typedef val_t (*abstractmetamodel___MMModule___name_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMModule___full_name = "abstractmetamodel::MMModule::full_name";
+val_t abstractmetamodel___MMModule___full_name(val_t p0);
+typedef val_t (*abstractmetamodel___MMModule___full_name_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMModule___directory = "abstractmetamodel::MMModule::directory";
+val_t abstractmetamodel___MMModule___directory(val_t p0);
+typedef val_t (*abstractmetamodel___MMModule___directory_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMModule___location = "abstractmetamodel::MMModule::location";
+val_t abstractmetamodel___MMModule___location(val_t p0);
+typedef val_t (*abstractmetamodel___MMModule___location_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMModule___mhe = "abstractmetamodel::MMModule::mhe";
+val_t abstractmetamodel___MMModule___mhe(val_t p0);
+typedef val_t (*abstractmetamodel___MMModule___mhe_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMModule___global_classes = "abstractmetamodel::MMModule::global_classes";
+val_t abstractmetamodel___MMModule___global_classes(val_t p0);
+typedef val_t (*abstractmetamodel___MMModule___global_classes_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMModule___local_classes = "abstractmetamodel::MMModule::local_classes";
+val_t abstractmetamodel___MMModule___local_classes(val_t p0);
+typedef val_t (*abstractmetamodel___MMModule___local_classes_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMModule___class_specialization_hierarchy = "abstractmetamodel::MMModule::class_specialization_hierarchy";
+val_t abstractmetamodel___MMModule___class_specialization_hierarchy(val_t p0);
+typedef val_t (*abstractmetamodel___MMModule___class_specialization_hierarchy_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMModule___explicit_imported_modules = "abstractmetamodel::MMModule::explicit_imported_modules";
+val_t abstractmetamodel___MMModule___explicit_imported_modules(val_t p0);
+typedef val_t (*abstractmetamodel___MMModule___explicit_imported_modules_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMModule___init = "abstractmetamodel::MMModule::init";
+void abstractmetamodel___MMModule___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table);
+typedef void (*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_abstractmetamodel___MMModule___init(val_t p0, val_t p1, val_t p2, val_t p3);
+static const char * const LOCATE_abstractmetamodel___MMModule___add_super_module = "abstractmetamodel::MMModule::add_super_module";
+void abstractmetamodel___MMModule___add_super_module(val_t p0, val_t p1, val_t p2);
+typedef void (*abstractmetamodel___MMModule___add_super_module_t)(val_t p0, val_t p1, val_t p2);
+static const char * const LOCATE_abstractmetamodel___MMModule___visibility_for = "abstractmetamodel::MMModule::visibility_for";
+val_t abstractmetamodel___MMModule___visibility_for(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMModule___visibility_for_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMModule_____bra = "abstractmetamodel::MMModule::[]";
+val_t abstractmetamodel___MMModule_____bra(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMModule_____bra_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMModule___class_by_name = "abstractmetamodel::MMModule::class_by_name";
+val_t abstractmetamodel___MMModule___class_by_name(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMModule___class_by_name_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMModule___has_global_class_named = "abstractmetamodel::MMModule::has_global_class_named";
+val_t abstractmetamodel___MMModule___has_global_class_named(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMModule___has_global_class_named_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMModule___global_class_named = "abstractmetamodel::MMModule::global_class_named";
+val_t abstractmetamodel___MMModule___global_class_named(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMModule___global_class_named_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMModule___to_s = "abstractmetamodel::MMModule::(string::Object::to_s)";
+val_t abstractmetamodel___MMModule___to_s(val_t p0);
+typedef val_t (*abstractmetamodel___MMModule___to_s_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMModule___set_supers_class = "abstractmetamodel::MMModule::set_supers_class";
+void abstractmetamodel___MMModule___set_supers_class(val_t p0, val_t p1, val_t p2);
+typedef void (*abstractmetamodel___MMModule___set_supers_class_t)(val_t p0, val_t p1, val_t p2);
+static const char * const LOCATE_abstractmetamodel___MMModule___register_global_class = "abstractmetamodel::MMModule::register_global_class";
+void abstractmetamodel___MMModule___register_global_class(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMModule___register_global_class_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___intro = "abstractmetamodel::MMGlobalClass::intro";
+val_t abstractmetamodel___MMGlobalClass___intro(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___intro_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy = "abstractmetamodel::MMGlobalClass::class_refinement_hierarchy";
+val_t abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___class_refinement_hierarchy_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___init = "abstractmetamodel::MMGlobalClass::init";
+void abstractmetamodel___MMGlobalClass___init(val_t p0, val_t p1, int* init_table);
+typedef void (*abstractmetamodel___MMGlobalClass___init_t)(val_t p0, val_t p1, int* init_table);
 val_t NEW_MMGlobalClass_abstractmetamodel___MMGlobalClass___init(val_t p0);
-typedef val_t (* abstractmetamodel___MMGlobalClass___name_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalClass___name(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___name "abstractmetamodel::MMGlobalClass::name"
-typedef val_t (* abstractmetamodel___MMGlobalClass___module_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalClass___module(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___module "abstractmetamodel::MMGlobalClass::module"
-typedef void (* abstractmetamodel___MMGlobalClass___register_local_class_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMGlobalClass___register_local_class(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMGlobalClass___register_local_class "abstractmetamodel::MMGlobalClass::register_local_class"
-typedef val_t (* abstractmetamodel___MMGlobalClass___is_interface_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalClass___is_interface(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_interface "abstractmetamodel::MMGlobalClass::is_interface"
-typedef void (* abstractmetamodel___MMGlobalClass___is_interface__eq_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMGlobalClass___is_interface__eq(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_interface__eq "abstractmetamodel::MMGlobalClass::is_interface="
-typedef val_t (* abstractmetamodel___MMGlobalClass___is_abstract_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalClass___is_abstract(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_abstract "abstractmetamodel::MMGlobalClass::is_abstract"
-typedef void (* abstractmetamodel___MMGlobalClass___is_abstract__eq_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMGlobalClass___is_abstract__eq(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_abstract__eq "abstractmetamodel::MMGlobalClass::is_abstract="
-typedef val_t (* abstractmetamodel___MMGlobalClass___is_universal_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalClass___is_universal(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_universal "abstractmetamodel::MMGlobalClass::is_universal"
-typedef void (* abstractmetamodel___MMGlobalClass___is_universal__eq_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMGlobalClass___is_universal__eq(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_universal__eq "abstractmetamodel::MMGlobalClass::is_universal="
-typedef val_t (* abstractmetamodel___MMGlobalClass___visibility_level_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalClass___visibility_level(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___visibility_level "abstractmetamodel::MMGlobalClass::visibility_level"
-typedef void (* abstractmetamodel___MMGlobalClass___visibility_level__eq_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMGlobalClass___visibility_level__eq(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMGlobalClass___visibility_level__eq "abstractmetamodel::MMGlobalClass::visibility_level="
-typedef val_t (* abstractmetamodel___MMGlobalClass___is_mixin_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalClass___is_mixin(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___is_mixin "abstractmetamodel::MMGlobalClass::is_mixin"
-typedef val_t (* abstractmetamodel___MMGlobalClass___mixin_of_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalClass___mixin_of(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalClass___mixin_of "abstractmetamodel::MMGlobalClass::mixin_of"
-typedef void (* abstractmetamodel___MMGlobalClass___mixin_of__eq_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMGlobalClass___mixin_of__eq(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMGlobalClass___mixin_of__eq "abstractmetamodel::MMGlobalClass::mixin_of="
-typedef val_t (* abstractmetamodel___MMLocalClass___to_s_t)(val_t  self);
-val_t abstractmetamodel___MMLocalClass___to_s(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___to_s "abstractmetamodel::MMLocalClass::(string::Object::to_s)"
-typedef val_t (* abstractmetamodel___MMLocalClass___name_t)(val_t  self);
-val_t abstractmetamodel___MMLocalClass___name(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___name "abstractmetamodel::MMLocalClass::name"
-typedef val_t (* abstractmetamodel___MMLocalClass___arity_t)(val_t  self);
-val_t abstractmetamodel___MMLocalClass___arity(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___arity "abstractmetamodel::MMLocalClass::arity"
-typedef val_t (* abstractmetamodel___MMLocalClass___module_t)(val_t  self);
-val_t abstractmetamodel___MMLocalClass___module(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___module "abstractmetamodel::MMLocalClass::module"
-typedef val_t (* abstractmetamodel___MMLocalClass___global_t)(val_t  self);
-val_t abstractmetamodel___MMLocalClass___global(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___global "abstractmetamodel::MMLocalClass::global"
-typedef val_t (* abstractmetamodel___MMLocalClass___crhe_t)(val_t  self);
-val_t abstractmetamodel___MMLocalClass___crhe(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___crhe "abstractmetamodel::MMLocalClass::crhe"
-typedef val_t (* abstractmetamodel___MMLocalClass___cshe_t)(val_t  self);
-val_t abstractmetamodel___MMLocalClass___cshe(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___cshe "abstractmetamodel::MMLocalClass::cshe"
-typedef val_t (* abstractmetamodel___MMLocalClass___che_t)(val_t  self);
-val_t abstractmetamodel___MMLocalClass___che(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___che "abstractmetamodel::MMLocalClass::che"
-typedef val_t (* abstractmetamodel___MMLocalClass___local_property_by_global_t)(val_t  self);
-val_t abstractmetamodel___MMLocalClass___local_property_by_global(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___local_property_by_global "abstractmetamodel::MMLocalClass::local_property_by_global"
-typedef val_t (* abstractmetamodel___MMLocalClass___global_properties_t)(val_t  self);
-val_t abstractmetamodel___MMLocalClass___global_properties(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___global_properties "abstractmetamodel::MMLocalClass::global_properties"
-typedef val_t (* abstractmetamodel___MMLocalClass___properties_by_name_t)(val_t  self);
-val_t abstractmetamodel___MMLocalClass___properties_by_name(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___properties_by_name "abstractmetamodel::MMLocalClass::properties_by_name"
-typedef void (* abstractmetamodel___MMLocalClass___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void abstractmetamodel___MMLocalClass___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-#define LOCATE_abstractmetamodel___MMLocalClass___init "abstractmetamodel::MMLocalClass::init"
-val_t NEW_MMLocalClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1);
-typedef val_t (* abstractmetamodel___MMLocalClass___for_module_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMLocalClass___for_module(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalClass___for_module "abstractmetamodel::MMLocalClass::for_module"
-typedef void (* abstractmetamodel___MMLocalClass___new_global_t)(val_t  self);
-void abstractmetamodel___MMLocalClass___new_global(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___new_global "abstractmetamodel::MMLocalClass::new_global"
-typedef void (* abstractmetamodel___MMLocalClass___set_global_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMLocalClass___set_global(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalClass___set_global "abstractmetamodel::MMLocalClass::set_global"
-typedef val_t (* abstractmetamodel___MMLocalClass___has_global_property_by_name_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMLocalClass___has_global_property_by_name(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalClass___has_global_property_by_name "abstractmetamodel::MMLocalClass::has_global_property_by_name"
-typedef val_t (* abstractmetamodel___MMLocalClass___get_property_by_name_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMLocalClass___get_property_by_name(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalClass___get_property_by_name "abstractmetamodel::MMLocalClass::get_property_by_name"
-typedef val_t (* abstractmetamodel___MMLocalClass___attribute_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMLocalClass___attribute(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalClass___attribute "abstractmetamodel::MMLocalClass::attribute"
-typedef val_t (* abstractmetamodel___MMLocalClass___method_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMLocalClass___method(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalClass___method "abstractmetamodel::MMLocalClass::method"
-typedef val_t (* abstractmetamodel___MMLocalClass___select_method_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMLocalClass___select_method(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalClass___select_method "abstractmetamodel::MMLocalClass::select_method"
-typedef val_t (* abstractmetamodel___MMLocalClass___select_attribute_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMLocalClass___select_attribute(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalClass___select_attribute "abstractmetamodel::MMLocalClass::select_attribute"
-typedef val_t (* abstractmetamodel___MMLocalClass___super_methods_named_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMLocalClass___super_methods_named(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalClass___super_methods_named "abstractmetamodel::MMLocalClass::super_methods_named"
-typedef void (* abstractmetamodel___MMLocalClass___register_local_property_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMLocalClass___register_local_property(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalClass___register_local_property "abstractmetamodel::MMLocalClass::register_local_property"
-typedef void (* abstractmetamodel___MMLocalClass___register_global_property_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMLocalClass___register_global_property(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalClass___register_global_property "abstractmetamodel::MMLocalClass::register_global_property"
-typedef val_t (* abstractmetamodel___MMLocalClass_____bra_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMLocalClass_____bra(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalClass_____bra "abstractmetamodel::MMLocalClass::[]"
-typedef val_t (* abstractmetamodel___MMLocalClass___context_t)(val_t  self);
-val_t abstractmetamodel___MMLocalClass___context(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalClass___context "abstractmetamodel::MMLocalClass::context"
-typedef val_t (* abstractmetamodel___MMGlobalProperty___to_s_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalProperty___to_s(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___to_s "abstractmetamodel::MMGlobalProperty::(string::Object::to_s)"
-typedef val_t (* abstractmetamodel___MMGlobalProperty___intro_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalProperty___intro(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___intro "abstractmetamodel::MMGlobalProperty::intro"
-typedef val_t (* abstractmetamodel___MMGlobalProperty___local_class_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalProperty___local_class(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___local_class "abstractmetamodel::MMGlobalProperty::local_class"
-typedef val_t (* abstractmetamodel___MMGlobalProperty___property_hierarchy_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalProperty___property_hierarchy(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___property_hierarchy "abstractmetamodel::MMGlobalProperty::property_hierarchy"
-typedef void (* abstractmetamodel___MMGlobalProperty___init_t)(val_t  self, val_t  param0, int* init_table);
-void abstractmetamodel___MMGlobalProperty___init(val_t  self, val_t  param0, int* init_table);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___init "abstractmetamodel::MMGlobalProperty::init"
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___name = "abstractmetamodel::MMGlobalClass::name";
+val_t abstractmetamodel___MMGlobalClass___name(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___name_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___mmmodule = "abstractmetamodel::MMGlobalClass::mmmodule";
+val_t abstractmetamodel___MMGlobalClass___mmmodule(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___mmmodule_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___to_s = "abstractmetamodel::MMGlobalClass::(string::Object::to_s)";
+val_t abstractmetamodel___MMGlobalClass___to_s(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___to_s_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___register_local_class = "abstractmetamodel::MMGlobalClass::register_local_class";
+void abstractmetamodel___MMGlobalClass___register_local_class(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalClass___register_local_class_t)(val_t p0, val_t p1);
+  typedef void (*CLOS_OC_abstractmetamodel___MMGlobalClass___register_local_class_1_0)(struct stack_frame_t *);
+  void OC_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_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);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_interface = "abstractmetamodel::MMGlobalClass::is_interface";
+val_t abstractmetamodel___MMGlobalClass___is_interface(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___is_interface_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_interface__eq = "abstractmetamodel::MMGlobalClass::is_interface=";
+void abstractmetamodel___MMGlobalClass___is_interface__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalClass___is_interface__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_abstract = "abstractmetamodel::MMGlobalClass::is_abstract";
+val_t abstractmetamodel___MMGlobalClass___is_abstract(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___is_abstract_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_abstract__eq = "abstractmetamodel::MMGlobalClass::is_abstract=";
+void abstractmetamodel___MMGlobalClass___is_abstract__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalClass___is_abstract__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_enum = "abstractmetamodel::MMGlobalClass::is_enum";
+val_t abstractmetamodel___MMGlobalClass___is_enum(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___is_enum_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_enum__eq = "abstractmetamodel::MMGlobalClass::is_enum=";
+void abstractmetamodel___MMGlobalClass___is_enum__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalClass___is_enum__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___visibility_level = "abstractmetamodel::MMGlobalClass::visibility_level";
+val_t abstractmetamodel___MMGlobalClass___visibility_level(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___visibility_level_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___visibility_level__eq = "abstractmetamodel::MMGlobalClass::visibility_level=";
+void abstractmetamodel___MMGlobalClass___visibility_level__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalClass___visibility_level__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___is_mixin = "abstractmetamodel::MMGlobalClass::is_mixin";
+val_t abstractmetamodel___MMGlobalClass___is_mixin(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___is_mixin_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___mixin_of = "abstractmetamodel::MMGlobalClass::mixin_of";
+val_t abstractmetamodel___MMGlobalClass___mixin_of(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalClass___mixin_of_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalClass___mixin_of__eq = "abstractmetamodel::MMGlobalClass::mixin_of=";
+void abstractmetamodel___MMGlobalClass___mixin_of__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalClass___mixin_of__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___name = "abstractmetamodel::MMLocalClass::name";
+val_t abstractmetamodel___MMLocalClass___name(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___name_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___arity = "abstractmetamodel::MMLocalClass::arity";
+val_t abstractmetamodel___MMLocalClass___arity(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___arity_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___mmmodule = "abstractmetamodel::MMLocalClass::mmmodule";
+val_t abstractmetamodel___MMLocalClass___mmmodule(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___mmmodule_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___global = "abstractmetamodel::MMLocalClass::global";
+val_t abstractmetamodel___MMLocalClass___global(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___global_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___crhe = "abstractmetamodel::MMLocalClass::crhe";
+val_t abstractmetamodel___MMLocalClass___crhe(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___crhe_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___cshe = "abstractmetamodel::MMLocalClass::cshe";
+val_t abstractmetamodel___MMLocalClass___cshe(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___cshe_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___che = "abstractmetamodel::MMLocalClass::che";
+val_t abstractmetamodel___MMLocalClass___che(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___che_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___global_properties = "abstractmetamodel::MMLocalClass::global_properties";
+val_t abstractmetamodel___MMLocalClass___global_properties(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___global_properties_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___local_local_properties = "abstractmetamodel::MMLocalClass::local_local_properties";
+val_t abstractmetamodel___MMLocalClass___local_local_properties(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___local_local_properties_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___init = "abstractmetamodel::MMLocalClass::init";
+void abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table);
+typedef void (*abstractmetamodel___MMLocalClass___init_t)(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table);
+val_t NEW_MMLocalClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1, val_t p2);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___for_module = "abstractmetamodel::MMLocalClass::for_module";
+val_t abstractmetamodel___MMLocalClass___for_module(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMLocalClass___for_module_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___new_global = "abstractmetamodel::MMLocalClass::new_global";
+void abstractmetamodel___MMLocalClass___new_global(val_t p0);
+typedef void (*abstractmetamodel___MMLocalClass___new_global_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___set_global = "abstractmetamodel::MMLocalClass::set_global";
+void abstractmetamodel___MMLocalClass___set_global(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMLocalClass___set_global_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___has_global_property_by_name = "abstractmetamodel::MMLocalClass::has_global_property_by_name";
+val_t abstractmetamodel___MMLocalClass___has_global_property_by_name(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMLocalClass___has_global_property_by_name_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___get_property_by_name = "abstractmetamodel::MMLocalClass::get_property_by_name";
+val_t abstractmetamodel___MMLocalClass___get_property_by_name(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMLocalClass___get_property_by_name_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___attribute = "abstractmetamodel::MMLocalClass::attribute";
+val_t abstractmetamodel___MMLocalClass___attribute(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMLocalClass___attribute_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___method = "abstractmetamodel::MMLocalClass::method";
+val_t abstractmetamodel___MMLocalClass___method(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMLocalClass___method_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___select_method = "abstractmetamodel::MMLocalClass::select_method";
+val_t abstractmetamodel___MMLocalClass___select_method(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMLocalClass___select_method_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___select_attribute = "abstractmetamodel::MMLocalClass::select_attribute";
+val_t abstractmetamodel___MMLocalClass___select_attribute(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMLocalClass___select_attribute_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___super_methods_named = "abstractmetamodel::MMLocalClass::super_methods_named";
+val_t abstractmetamodel___MMLocalClass___super_methods_named(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMLocalClass___super_methods_named_t)(val_t p0, val_t p1);
+  typedef void (*CLOS_OC_abstractmetamodel___MMLocalClass___super_methods_named_1_0)(struct stack_frame_t *);
+  void OC_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_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);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___register_local_property = "abstractmetamodel::MMLocalClass::register_local_property";
+void abstractmetamodel___MMLocalClass___register_local_property(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMLocalClass___register_local_property_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___register_global_property = "abstractmetamodel::MMLocalClass::register_global_property";
+void abstractmetamodel___MMLocalClass___register_global_property(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMLocalClass___register_global_property_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___has_global_property = "abstractmetamodel::MMLocalClass::has_global_property";
+val_t abstractmetamodel___MMLocalClass___has_global_property(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMLocalClass___has_global_property_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass_____bra = "abstractmetamodel::MMLocalClass::[]";
+val_t abstractmetamodel___MMLocalClass_____bra(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMLocalClass_____bra_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___context = "abstractmetamodel::MMLocalClass::context";
+val_t abstractmetamodel___MMLocalClass___context(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___context_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___to_s = "abstractmetamodel::MMLocalClass::(string::Object::to_s)";
+val_t abstractmetamodel___MMLocalClass___to_s(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalClass___to_s_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalClass___total_order_compare = "abstractmetamodel::MMLocalClass::total_order_compare";
+val_t abstractmetamodel___MMLocalClass___total_order_compare(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMLocalClass___total_order_compare_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___intro = "abstractmetamodel::MMGlobalProperty::intro";
+val_t abstractmetamodel___MMGlobalProperty___intro(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalProperty___intro_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___local_class = "abstractmetamodel::MMGlobalProperty::local_class";
+val_t abstractmetamodel___MMGlobalProperty___local_class(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalProperty___local_class_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___property_hierarchy = "abstractmetamodel::MMGlobalProperty::property_hierarchy";
+val_t abstractmetamodel___MMGlobalProperty___property_hierarchy(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalProperty___property_hierarchy_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___init = "abstractmetamodel::MMGlobalProperty::init";
+void abstractmetamodel___MMGlobalProperty___init(val_t p0, val_t p1, int* init_table);
+typedef void (*abstractmetamodel___MMGlobalProperty___init_t)(val_t p0, val_t p1, int* init_table);
 val_t NEW_MMGlobalProperty_abstractmetamodel___MMGlobalProperty___init(val_t p0);
-typedef void (* abstractmetamodel___MMGlobalProperty___add_local_property_t)(val_t  self, val_t  param0, val_t  param1);
-void abstractmetamodel___MMGlobalProperty___add_local_property(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property "abstractmetamodel::MMGlobalProperty::add_local_property"
-typedef val_t (* abstractmetamodel___MMGlobalProperty___is_attribute_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalProperty___is_attribute(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___is_attribute "abstractmetamodel::MMGlobalProperty::is_attribute"
-typedef val_t (* abstractmetamodel___MMGlobalProperty___is_method_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalProperty___is_method(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___is_method "abstractmetamodel::MMGlobalProperty::is_method"
-typedef val_t (* abstractmetamodel___MMGlobalProperty___is_init_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalProperty___is_init(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___is_init "abstractmetamodel::MMGlobalProperty::is_init"
-typedef void (* abstractmetamodel___MMGlobalProperty___is_init__eq_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMGlobalProperty___is_init__eq(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___is_init__eq "abstractmetamodel::MMGlobalProperty::is_init="
-typedef val_t (* abstractmetamodel___MMGlobalProperty___is_init_for_t)(val_t  self, val_t  param0);
-val_t abstractmetamodel___MMGlobalProperty___is_init_for(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___is_init_for "abstractmetamodel::MMGlobalProperty::is_init_for"
-typedef val_t (* abstractmetamodel___MMGlobalProperty___visibility_level_t)(val_t  self);
-val_t abstractmetamodel___MMGlobalProperty___visibility_level(val_t  self);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level "abstractmetamodel::MMGlobalProperty::visibility_level"
-typedef void (* abstractmetamodel___MMGlobalProperty___visibility_level__eq_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMGlobalProperty___visibility_level__eq(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level__eq "abstractmetamodel::MMGlobalProperty::visibility_level="
-typedef val_t (* abstractmetamodel___MMLocalProperty___to_s_t)(val_t  self);
-val_t abstractmetamodel___MMLocalProperty___to_s(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalProperty___to_s "abstractmetamodel::MMLocalProperty::(string::Object::to_s)"
-typedef val_t (* abstractmetamodel___MMLocalProperty___name_t)(val_t  self);
-val_t abstractmetamodel___MMLocalProperty___name(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalProperty___name "abstractmetamodel::MMLocalProperty::name"
-typedef val_t (* abstractmetamodel___MMLocalProperty___local_class_t)(val_t  self);
-val_t abstractmetamodel___MMLocalProperty___local_class(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalProperty___local_class "abstractmetamodel::MMLocalProperty::local_class"
-typedef val_t (* abstractmetamodel___MMLocalProperty___global_t)(val_t  self);
-val_t abstractmetamodel___MMLocalProperty___global(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalProperty___global "abstractmetamodel::MMLocalProperty::global"
-typedef val_t (* abstractmetamodel___MMLocalProperty___prhe_t)(val_t  self);
-val_t abstractmetamodel___MMLocalProperty___prhe(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalProperty___prhe "abstractmetamodel::MMLocalProperty::prhe"
-typedef val_t (* abstractmetamodel___MMLocalProperty___module_t)(val_t  self);
-val_t abstractmetamodel___MMLocalProperty___module(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalProperty___module "abstractmetamodel::MMLocalProperty::module"
-typedef val_t (* abstractmetamodel___MMLocalProperty___full_name_t)(val_t  self);
-val_t abstractmetamodel___MMLocalProperty___full_name(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalProperty___full_name "abstractmetamodel::MMLocalProperty::full_name"
-typedef void (* abstractmetamodel___MMLocalProperty___set_global_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMLocalProperty___set_global(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalProperty___set_global "abstractmetamodel::MMLocalProperty::set_global"
-typedef void (* abstractmetamodel___MMLocalProperty___new_global_t)(val_t  self);
-void abstractmetamodel___MMLocalProperty___new_global(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalProperty___new_global "abstractmetamodel::MMLocalProperty::new_global"
-typedef val_t (* abstractmetamodel___MMLocalProperty___need_super_t)(val_t  self);
-val_t abstractmetamodel___MMLocalProperty___need_super(val_t  self);
-#define LOCATE_abstractmetamodel___MMLocalProperty___need_super "abstractmetamodel::MMLocalProperty::need_super"
-typedef void (* abstractmetamodel___MMLocalProperty___need_super__eq_t)(val_t  self, val_t  param0);
-void abstractmetamodel___MMLocalProperty___need_super__eq(val_t  self, val_t  param0);
-#define LOCATE_abstractmetamodel___MMLocalProperty___need_super__eq "abstractmetamodel::MMLocalProperty::need_super="
-typedef void (* abstractmetamodel___MMLocalProperty___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void abstractmetamodel___MMLocalProperty___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-#define LOCATE_abstractmetamodel___MMLocalProperty___init "abstractmetamodel::MMLocalProperty::init"
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___to_s = "abstractmetamodel::MMGlobalProperty::(string::Object::to_s)";
+val_t abstractmetamodel___MMGlobalProperty___to_s(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalProperty___to_s_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property = "abstractmetamodel::MMGlobalProperty::add_local_property";
+void abstractmetamodel___MMGlobalProperty___add_local_property(val_t p0, val_t p1, val_t p2);
+typedef void (*abstractmetamodel___MMGlobalProperty___add_local_property_t)(val_t p0, val_t p1, val_t p2);
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___is_attribute = "abstractmetamodel::MMGlobalProperty::is_attribute";
+val_t abstractmetamodel___MMGlobalProperty___is_attribute(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalProperty___is_attribute_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___is_method = "abstractmetamodel::MMGlobalProperty::is_method";
+val_t abstractmetamodel___MMGlobalProperty___is_method(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalProperty___is_method_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___is_init = "abstractmetamodel::MMGlobalProperty::is_init";
+val_t abstractmetamodel___MMGlobalProperty___is_init(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalProperty___is_init_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___is_init__eq = "abstractmetamodel::MMGlobalProperty::is_init=";
+void abstractmetamodel___MMGlobalProperty___is_init__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalProperty___is_init__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___is_init_for = "abstractmetamodel::MMGlobalProperty::is_init_for";
+val_t abstractmetamodel___MMGlobalProperty___is_init_for(val_t p0, val_t p1);
+typedef val_t (*abstractmetamodel___MMGlobalProperty___is_init_for_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level = "abstractmetamodel::MMGlobalProperty::visibility_level";
+val_t abstractmetamodel___MMGlobalProperty___visibility_level(val_t p0);
+typedef val_t (*abstractmetamodel___MMGlobalProperty___visibility_level_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level__eq = "abstractmetamodel::MMGlobalProperty::visibility_level=";
+void abstractmetamodel___MMGlobalProperty___visibility_level__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMGlobalProperty___visibility_level__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___name = "abstractmetamodel::MMLocalProperty::name";
+val_t abstractmetamodel___MMLocalProperty___name(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalProperty___name_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___local_class = "abstractmetamodel::MMLocalProperty::local_class";
+val_t abstractmetamodel___MMLocalProperty___local_class(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalProperty___local_class_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___global = "abstractmetamodel::MMLocalProperty::global";
+val_t abstractmetamodel___MMLocalProperty___global(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalProperty___global_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___is_global_set = "abstractmetamodel::MMLocalProperty::is_global_set";
+val_t abstractmetamodel___MMLocalProperty___is_global_set(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalProperty___is_global_set_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___prhe = "abstractmetamodel::MMLocalProperty::prhe";
+val_t abstractmetamodel___MMLocalProperty___prhe(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalProperty___prhe_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___mmmodule = "abstractmetamodel::MMLocalProperty::mmmodule";
+val_t abstractmetamodel___MMLocalProperty___mmmodule(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalProperty___mmmodule_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___full_name = "abstractmetamodel::MMLocalProperty::full_name";
+val_t abstractmetamodel___MMLocalProperty___full_name(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalProperty___full_name_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___set_global = "abstractmetamodel::MMLocalProperty::set_global";
+void abstractmetamodel___MMLocalProperty___set_global(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMLocalProperty___set_global_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___new_global = "abstractmetamodel::MMLocalProperty::new_global";
+void abstractmetamodel___MMLocalProperty___new_global(val_t p0);
+typedef void (*abstractmetamodel___MMLocalProperty___new_global_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___to_s = "abstractmetamodel::MMLocalProperty::(string::Object::to_s)";
+val_t abstractmetamodel___MMLocalProperty___to_s(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalProperty___to_s_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___need_super = "abstractmetamodel::MMLocalProperty::need_super";
+val_t abstractmetamodel___MMLocalProperty___need_super(val_t p0);
+typedef val_t (*abstractmetamodel___MMLocalProperty___need_super_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___need_super__eq = "abstractmetamodel::MMLocalProperty::need_super=";
+void abstractmetamodel___MMLocalProperty___need_super__eq(val_t p0, val_t p1);
+typedef void (*abstractmetamodel___MMLocalProperty___need_super__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMLocalProperty___init = "abstractmetamodel::MMLocalProperty::init";
+void abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1, val_t p2, int* init_table);
+typedef void (*abstractmetamodel___MMLocalProperty___init_t)(val_t p0, val_t p1, val_t p2, int* init_table);
 val_t NEW_MMLocalProperty_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
 val_t NEW_MMAttribute_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
+static const char * const LOCATE_abstractmetamodel___MMMethod___is_intern = "abstractmetamodel::MMMethod::is_intern";
+val_t abstractmetamodel___MMMethod___is_intern(val_t p0);
+typedef val_t (*abstractmetamodel___MMMethod___is_intern_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMMethod___is_abstract = "abstractmetamodel::MMMethod::is_abstract";
+val_t abstractmetamodel___MMMethod___is_abstract(val_t p0);
+typedef val_t (*abstractmetamodel___MMMethod___is_abstract_t)(val_t p0);
+static const char * const LOCATE_abstractmetamodel___MMMethod___extern_name = "abstractmetamodel::MMMethod::extern_name";
+val_t abstractmetamodel___MMMethod___extern_name(val_t p0);
+typedef val_t (*abstractmetamodel___MMMethod___extern_name_t)(val_t p0);
 val_t NEW_MMMethod_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
-val_t NEW_MMConcreteClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1);
+val_t NEW_MMConcreteClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1, val_t p2);
 #endif