c_src: update for 0.4
[nit.git] / c_src / mmbuilder._sep.h
index 6b2b017..ccef897 100644 (file)
@@ -22,8 +22,6 @@ extern const classtable_elt_t VFT_PropertyVerifierVisitor[];
 
 extern const classtable_elt_t VFT_SignatureBuilder[];
 
-extern const classtable_elt_t VFT_MMSrcTypeFormalParameter[];
-
 extern const classtable_elt_t VFT_MethidAccumulator[];
 extern const char *LOCATE_mmbuilder;
 extern const int SFT_mmbuilder[];
@@ -32,638 +30,658 @@ extern const int SFT_mmbuilder[];
 #define INIT_TABLE_POS_CSHSorter (SFT_mmbuilder[2] + 0)
 #define CALL_mmbuilder___CSHSorter___init(recv) ((mmbuilder___CSHSorter___init_t)CALL((recv), (SFT_mmbuilder[2] + 1)))
 #define CALL_mmbuilder___MMSrcModule___do_mmbuilder(recv) ((mmbuilder___MMSrcModule___do_mmbuilder_t)CALL((recv), (SFT_mmbuilder[3] + 0)))
+#define CALL_mmbuilder___MMSrcModule___process_default_classes(recv) ((mmbuilder___MMSrcModule___process_default_classes_t)CALL((recv), (SFT_mmbuilder[3] + 1)))
 #define CALL_mmbuilder___MMLocalClass___accept_class_visitor(recv) ((mmbuilder___MMLocalClass___accept_class_visitor_t)CALL((recv), (SFT_mmbuilder[4] + 0)))
 #define CALL_mmbuilder___MMLocalClass___accept_properties_visitor(recv) ((mmbuilder___MMLocalClass___accept_properties_visitor_t)CALL((recv), (SFT_mmbuilder[4] + 1)))
 #define CALL_mmbuilder___MMSrcLocalClass___process_default_constructors(recv) ((mmbuilder___MMSrcLocalClass___process_default_constructors_t)CALL((recv), (SFT_mmbuilder[5] + 0)))
 #define CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(recv) ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL((recv), (SFT_mmbuilder[5] + 1)))
 #define CALL_mmbuilder___MMLocalProperty___accept_property_visitor(recv) ((mmbuilder___MMLocalProperty___accept_property_visitor_t)CALL((recv), (SFT_mmbuilder[6] + 0)))
 #define ATTR_mmbuilder___MMImplicitInit____super_init(recv) ATTR(recv, (SFT_mmbuilder[7] + 0))
-#define CALL_mmbuilder___MMImplicitInit___super_init(recv) ((mmbuilder___MMImplicitInit___super_init_t)CALL((recv), (SFT_mmbuilder[8] + 0)))
-#define ID_MMSrcAncestor (SFT_mmbuilder[9])
-#define COLOR_MMSrcAncestor (SFT_mmbuilder[10])
-#define ATTR_mmbuilder___MMSrcAncestor____node(recv) ATTR(recv, (SFT_mmbuilder[11] + 0))
-#define ATTR_mmbuilder___MMSrcAncestor____local_class(recv) ATTR(recv, (SFT_mmbuilder[11] + 1))
-#define INIT_TABLE_POS_MMSrcAncestor (SFT_mmbuilder[12] + 0)
-#define CALL_mmbuilder___MMSrcAncestor___node(recv) ((mmbuilder___MMSrcAncestor___node_t)CALL((recv), (SFT_mmbuilder[12] + 1)))
-#define CALL_mmbuilder___MMSrcAncestor___init(recv) ((mmbuilder___MMSrcAncestor___init_t)CALL((recv), (SFT_mmbuilder[12] + 2)))
-#define ID_ClassBuilderVisitor (SFT_mmbuilder[13])
-#define COLOR_ClassBuilderVisitor (SFT_mmbuilder[14])
-#define ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity(recv) ATTR(recv, (SFT_mmbuilder[15] + 0))
-#define ATTR_mmbuilder___ClassBuilderVisitor____formals(recv) ATTR(recv, (SFT_mmbuilder[15] + 1))
-#define INIT_TABLE_POS_ClassBuilderVisitor (SFT_mmbuilder[16] + 0)
-#define CALL_mmbuilder___ClassBuilderVisitor___local_class_arity(recv) ((mmbuilder___ClassBuilderVisitor___local_class_arity_t)CALL((recv), (SFT_mmbuilder[16] + 1)))
-#define CALL_mmbuilder___ClassBuilderVisitor___local_class_arity__eq(recv) ((mmbuilder___ClassBuilderVisitor___local_class_arity__eq_t)CALL((recv), (SFT_mmbuilder[16] + 2)))
-#define CALL_mmbuilder___ClassBuilderVisitor___formals(recv) ((mmbuilder___ClassBuilderVisitor___formals_t)CALL((recv), (SFT_mmbuilder[16] + 3)))
-#define CALL_mmbuilder___ClassBuilderVisitor___formals__eq(recv) ((mmbuilder___ClassBuilderVisitor___formals__eq_t)CALL((recv), (SFT_mmbuilder[16] + 4)))
-#define CALL_mmbuilder___ClassBuilderVisitor___init(recv) ((mmbuilder___ClassBuilderVisitor___init_t)CALL((recv), (SFT_mmbuilder[16] + 5)))
-#define ID_ClassSpecializationBuilderVisitor (SFT_mmbuilder[17])
-#define COLOR_ClassSpecializationBuilderVisitor (SFT_mmbuilder[18])
-#define INIT_TABLE_POS_ClassSpecializationBuilderVisitor (SFT_mmbuilder[19] + 0)
-#define CALL_mmbuilder___ClassSpecializationBuilderVisitor___init(recv) ((mmbuilder___ClassSpecializationBuilderVisitor___init_t)CALL((recv), (SFT_mmbuilder[19] + 1)))
-#define ID_ClassAncestorBuilder (SFT_mmbuilder[20])
-#define COLOR_ClassAncestorBuilder (SFT_mmbuilder[21])
-#define INIT_TABLE_POS_ClassAncestorBuilder (SFT_mmbuilder[22] + 0)
-#define CALL_mmbuilder___ClassAncestorBuilder___init(recv) ((mmbuilder___ClassAncestorBuilder___init_t)CALL((recv), (SFT_mmbuilder[22] + 1)))
-#define ID_ClassVerifierVisitor (SFT_mmbuilder[23])
-#define COLOR_ClassVerifierVisitor (SFT_mmbuilder[24])
-#define INIT_TABLE_POS_ClassVerifierVisitor (SFT_mmbuilder[25] + 0)
-#define CALL_mmbuilder___ClassVerifierVisitor___init(recv) ((mmbuilder___ClassVerifierVisitor___init_t)CALL((recv), (SFT_mmbuilder[25] + 1)))
-#define ID_PropertyBuilderVisitor (SFT_mmbuilder[26])
-#define COLOR_PropertyBuilderVisitor (SFT_mmbuilder[27])
-#define INIT_TABLE_POS_PropertyBuilderVisitor (SFT_mmbuilder[28] + 0)
-#define CALL_mmbuilder___PropertyBuilderVisitor___init(recv) ((mmbuilder___PropertyBuilderVisitor___init_t)CALL((recv), (SFT_mmbuilder[28] + 1)))
-#define ID_PropertyVerifierVisitor (SFT_mmbuilder[29])
-#define COLOR_PropertyVerifierVisitor (SFT_mmbuilder[30])
-#define ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(recv) ATTR(recv, (SFT_mmbuilder[31] + 0))
-#define INIT_TABLE_POS_PropertyVerifierVisitor (SFT_mmbuilder[32] + 0)
-#define CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(recv) ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL((recv), (SFT_mmbuilder[32] + 1)))
-#define CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq(recv) ((mmbuilder___PropertyVerifierVisitor___signature_builder__eq_t)CALL((recv), (SFT_mmbuilder[32] + 2)))
-#define CALL_mmbuilder___PropertyVerifierVisitor___init(recv) ((mmbuilder___PropertyVerifierVisitor___init_t)CALL((recv), (SFT_mmbuilder[32] + 3)))
-#define ID_SignatureBuilder (SFT_mmbuilder[33])
-#define COLOR_SignatureBuilder (SFT_mmbuilder[34])
-#define ATTR_mmbuilder___SignatureBuilder____params(recv) ATTR(recv, (SFT_mmbuilder[35] + 0))
-#define ATTR_mmbuilder___SignatureBuilder____untyped_params(recv) ATTR(recv, (SFT_mmbuilder[35] + 1))
-#define ATTR_mmbuilder___SignatureBuilder____vararg_rank(recv) ATTR(recv, (SFT_mmbuilder[35] + 2))
-#define ATTR_mmbuilder___SignatureBuilder____closure_decls(recv) ATTR(recv, (SFT_mmbuilder[35] + 3))
-#define ATTR_mmbuilder___SignatureBuilder____signature(recv) ATTR(recv, (SFT_mmbuilder[35] + 4))
-#define INIT_TABLE_POS_SignatureBuilder (SFT_mmbuilder[36] + 0)
-#define CALL_mmbuilder___SignatureBuilder___params(recv) ((mmbuilder___SignatureBuilder___params_t)CALL((recv), (SFT_mmbuilder[36] + 1)))
-#define CALL_mmbuilder___SignatureBuilder___params__eq(recv) ((mmbuilder___SignatureBuilder___params__eq_t)CALL((recv), (SFT_mmbuilder[36] + 2)))
-#define CALL_mmbuilder___SignatureBuilder___untyped_params(recv) ((mmbuilder___SignatureBuilder___untyped_params_t)CALL((recv), (SFT_mmbuilder[36] + 3)))
-#define CALL_mmbuilder___SignatureBuilder___untyped_params__eq(recv) ((mmbuilder___SignatureBuilder___untyped_params__eq_t)CALL((recv), (SFT_mmbuilder[36] + 4)))
-#define CALL_mmbuilder___SignatureBuilder___vararg_rank(recv) ((mmbuilder___SignatureBuilder___vararg_rank_t)CALL((recv), (SFT_mmbuilder[36] + 5)))
-#define CALL_mmbuilder___SignatureBuilder___vararg_rank__eq(recv) ((mmbuilder___SignatureBuilder___vararg_rank__eq_t)CALL((recv), (SFT_mmbuilder[36] + 6)))
-#define CALL_mmbuilder___SignatureBuilder___closure_decls(recv) ((mmbuilder___SignatureBuilder___closure_decls_t)CALL((recv), (SFT_mmbuilder[36] + 7)))
-#define CALL_mmbuilder___SignatureBuilder___closure_decls__eq(recv) ((mmbuilder___SignatureBuilder___closure_decls__eq_t)CALL((recv), (SFT_mmbuilder[36] + 8)))
-#define CALL_mmbuilder___SignatureBuilder___signature(recv) ((mmbuilder___SignatureBuilder___signature_t)CALL((recv), (SFT_mmbuilder[36] + 9)))
-#define CALL_mmbuilder___SignatureBuilder___signature__eq(recv) ((mmbuilder___SignatureBuilder___signature__eq_t)CALL((recv), (SFT_mmbuilder[36] + 10)))
-#define CALL_mmbuilder___SignatureBuilder___init(recv) ((mmbuilder___SignatureBuilder___init_t)CALL((recv), (SFT_mmbuilder[36] + 11)))
-#define CALL_mmbuilder___PNode___accept_class_builder(recv) ((mmbuilder___PNode___accept_class_builder_t)CALL((recv), (SFT_mmbuilder[37] + 0)))
-#define CALL_mmbuilder___PNode___accept_class_specialization_builder(recv) ((mmbuilder___PNode___accept_class_specialization_builder_t)CALL((recv), (SFT_mmbuilder[37] + 1)))
-#define CALL_mmbuilder___PNode___accept_class_ancestor_builder(recv) ((mmbuilder___PNode___accept_class_ancestor_builder_t)CALL((recv), (SFT_mmbuilder[37] + 2)))
-#define CALL_mmbuilder___PNode___accept_class_verifier(recv) ((mmbuilder___PNode___accept_class_verifier_t)CALL((recv), (SFT_mmbuilder[37] + 3)))
-#define CALL_mmbuilder___PNode___accept_property_builder(recv) ((mmbuilder___PNode___accept_property_builder_t)CALL((recv), (SFT_mmbuilder[37] + 4)))
-#define CALL_mmbuilder___PNode___accept_property_verifier(recv) ((mmbuilder___PNode___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[37] + 5)))
-#define CALL_mmbuilder___AModule___import_super_modules(recv) ((mmbuilder___AModule___import_super_modules_t)CALL((recv), (SFT_mmbuilder[38] + 0)))
-#define CALL_mmbuilder___PImport___module_name(recv) ((mmbuilder___PImport___module_name_t)CALL((recv), (SFT_mmbuilder[39] + 0)))
-#define CALL_mmbuilder___PImport___visibility_level(recv) ((mmbuilder___PImport___visibility_level_t)CALL((recv), (SFT_mmbuilder[39] + 1)))
-#define CALL_mmbuilder___PVisibility___level(recv) ((mmbuilder___PVisibility___level_t)CALL((recv), (SFT_mmbuilder[40] + 0)))
-#define ATTR_mmbuilder___PClassdef____local_class(recv) ATTR(recv, (SFT_mmbuilder[41] + 0))
-#define CALL_mmbuilder___PClassdef___name(recv) ((mmbuilder___PClassdef___name_t)CALL((recv), (SFT_mmbuilder[42] + 0)))
-#define CALL_mmbuilder___PClassdef___arity(recv) ((mmbuilder___PClassdef___arity_t)CALL((recv), (SFT_mmbuilder[42] + 1)))
-#define CALL_mmbuilder___PClassdef___visibility_level(recv) ((mmbuilder___PClassdef___visibility_level_t)CALL((recv), (SFT_mmbuilder[42] + 2)))
-#define CALL_SUPER_mmbuilder___PClassdef___accept_class_builder(recv) ((mmbuilder___PClassdef___accept_class_builder_t)CALL((recv), (SFT_mmbuilder[42] + 3)))
-#define CALL_SUPER_mmbuilder___PClassdef___accept_abs_syntax_visitor(recv) ((mmbuilder___PClassdef___accept_abs_syntax_visitor_t)CALL((recv), (SFT_mmbuilder[42] + 4)))
-#define CALL_mmbuilder___PClasskind___is_interface(recv) ((mmbuilder___PClasskind___is_interface_t)CALL((recv), (SFT_mmbuilder[43] + 0)))
-#define CALL_mmbuilder___PClasskind___is_universal(recv) ((mmbuilder___PClasskind___is_universal_t)CALL((recv), (SFT_mmbuilder[43] + 1)))
-#define CALL_mmbuilder___PClasskind___is_abstract(recv) ((mmbuilder___PClasskind___is_abstract_t)CALL((recv), (SFT_mmbuilder[43] + 2)))
-#define CALL_SUPER_mmbuilder___AClassdef___accept_class_verifier(recv) ((mmbuilder___AClassdef___accept_class_verifier_t)CALL((recv), (SFT_mmbuilder[44] + 0)))
-#define ID_MMSrcTypeFormalParameter (SFT_mmbuilder[45])
-#define COLOR_MMSrcTypeFormalParameter (SFT_mmbuilder[46])
-#define ATTR_mmbuilder___MMSrcTypeFormalParameter____node(recv) ATTR(recv, (SFT_mmbuilder[47] + 0))
-#define INIT_TABLE_POS_MMSrcTypeFormalParameter (SFT_mmbuilder[48] + 0)
-#define CALL_mmbuilder___MMSrcTypeFormalParameter___node(recv) ((mmbuilder___MMSrcTypeFormalParameter___node_t)CALL((recv), (SFT_mmbuilder[48] + 1)))
-#define CALL_mmbuilder___MMSrcTypeFormalParameter___init(recv) ((mmbuilder___MMSrcTypeFormalParameter___init_t)CALL((recv), (SFT_mmbuilder[48] + 2)))
-#define ATTR_mmbuilder___AFormaldef____formal(recv) ATTR(recv, (SFT_mmbuilder[49] + 0))
-#define CALL_SUPER_mmbuilder___AFormaldef___accept_class_builder(recv) ((mmbuilder___AFormaldef___accept_class_builder_t)CALL((recv), (SFT_mmbuilder[50] + 0)))
-#define CALL_SUPER_mmbuilder___AFormaldef___accept_class_verifier(recv) ((mmbuilder___AFormaldef___accept_class_verifier_t)CALL((recv), (SFT_mmbuilder[50] + 1)))
-#define ATTR_mmbuilder___ASuperclass____ancestor(recv) ATTR(recv, (SFT_mmbuilder[51] + 0))
-#define CALL_mmbuilder___ASuperclass___ancestor(recv) ((mmbuilder___ASuperclass___ancestor_t)CALL((recv), (SFT_mmbuilder[52] + 0)))
-#define CALL_SUPER_mmbuilder___ASuperclass___accept_class_specialization_builder(recv) ((mmbuilder___ASuperclass___accept_class_specialization_builder_t)CALL((recv), (SFT_mmbuilder[52] + 1)))
-#define CALL_SUPER_mmbuilder___ASuperclass___accept_class_ancestor_builder(recv) ((mmbuilder___ASuperclass___accept_class_ancestor_builder_t)CALL((recv), (SFT_mmbuilder[52] + 2)))
-#define CALL_SUPER_mmbuilder___ASuperclass___accept_class_verifier(recv) ((mmbuilder___ASuperclass___accept_class_verifier_t)CALL((recv), (SFT_mmbuilder[52] + 3)))
-#define CALL_mmbuilder___PPropdef___process_and_check(recv) ((mmbuilder___PPropdef___process_and_check_t)CALL((recv), (SFT_mmbuilder[53] + 0)))
-#define CALL_mmbuilder___PPropdef___do_and_check_intro(recv) ((mmbuilder___PPropdef___do_and_check_intro_t)CALL((recv), (SFT_mmbuilder[53] + 1)))
-#define CALL_mmbuilder___PPropdef___inherit_signature(recv) ((mmbuilder___PPropdef___inherit_signature_t)CALL((recv), (SFT_mmbuilder[53] + 2)))
-#define CALL_mmbuilder___PPropdef___do_and_check_redef(recv) ((mmbuilder___PPropdef___do_and_check_redef_t)CALL((recv), (SFT_mmbuilder[53] + 3)))
-#define ATTR_mmbuilder___AAttrPropdef____readmethod(recv) ATTR(recv, (SFT_mmbuilder[54] + 0))
-#define ATTR_mmbuilder___AAttrPropdef____writemethod(recv) ATTR(recv, (SFT_mmbuilder[54] + 1))
-#define ATTR_mmbuilder___AAttrPropdef____prop(recv) ATTR(recv, (SFT_mmbuilder[54] + 2))
-#define CALL_SUPER_mmbuilder___AAttrPropdef___accept_property_builder(recv) ((mmbuilder___AAttrPropdef___accept_property_builder_t)CALL((recv), (SFT_mmbuilder[55] + 0)))
-#define CALL_SUPER_mmbuilder___AAttrPropdef___accept_property_verifier(recv) ((mmbuilder___AAttrPropdef___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[55] + 1)))
-#define CALL_SUPER_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(recv) ((mmbuilder___AAttrPropdef___accept_abs_syntax_visitor_t)CALL((recv), (SFT_mmbuilder[55] + 2)))
-#define ATTR_mmbuilder___AMethPropdef____name(recv) ATTR(recv, (SFT_mmbuilder[56] + 0))
-#define ATTR_mmbuilder___AMethPropdef____method(recv) ATTR(recv, (SFT_mmbuilder[56] + 1))
-#define CALL_mmbuilder___AMethPropdef___name(recv) ((mmbuilder___AMethPropdef___name_t)CALL((recv), (SFT_mmbuilder[57] + 0)))
-#define CALL_SUPER_mmbuilder___AMethPropdef___accept_property_builder(recv) ((mmbuilder___AMethPropdef___accept_property_builder_t)CALL((recv), (SFT_mmbuilder[57] + 1)))
-#define CALL_SUPER_mmbuilder___AMethPropdef___accept_property_verifier(recv) ((mmbuilder___AMethPropdef___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[57] + 2)))
-#define CALL_SUPER_mmbuilder___AMethPropdef___accept_abs_syntax_visitor(recv) ((mmbuilder___AMethPropdef___accept_abs_syntax_visitor_t)CALL((recv), (SFT_mmbuilder[57] + 3)))
-#define ATTR_mmbuilder___ATypePropdef____prop(recv) ATTR(recv, (SFT_mmbuilder[58] + 0))
-#define CALL_SUPER_mmbuilder___ATypePropdef___accept_property_builder(recv) ((mmbuilder___ATypePropdef___accept_property_builder_t)CALL((recv), (SFT_mmbuilder[59] + 0)))
-#define CALL_SUPER_mmbuilder___ATypePropdef___accept_property_verifier(recv) ((mmbuilder___ATypePropdef___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[59] + 1)))
-#define CALL_SUPER_mmbuilder___ATypePropdef___accept_abs_syntax_visitor(recv) ((mmbuilder___ATypePropdef___accept_abs_syntax_visitor_t)CALL((recv), (SFT_mmbuilder[59] + 2)))
-#define ID_MethidAccumulator (SFT_mmbuilder[60])
-#define COLOR_MethidAccumulator (SFT_mmbuilder[61])
-#define ATTR_mmbuilder___MethidAccumulator____name(recv) ATTR(recv, (SFT_mmbuilder[62] + 0))
-#define INIT_TABLE_POS_MethidAccumulator (SFT_mmbuilder[63] + 0)
-#define CALL_mmbuilder___MethidAccumulator___name(recv) ((mmbuilder___MethidAccumulator___name_t)CALL((recv), (SFT_mmbuilder[63] + 1)))
-#define CALL_mmbuilder___MethidAccumulator___init(recv) ((mmbuilder___MethidAccumulator___init_t)CALL((recv), (SFT_mmbuilder[63] + 2)))
-#define ATTR_mmbuilder___PMethid____name(recv) ATTR(recv, (SFT_mmbuilder[64] + 0))
-#define CALL_mmbuilder___PMethid___name(recv) ((mmbuilder___PMethid___name_t)CALL((recv), (SFT_mmbuilder[65] + 0)))
-#define CALL_SUPER_mmbuilder___PMethid___accept_property_builder(recv) ((mmbuilder___PMethid___accept_property_builder_t)CALL((recv), (SFT_mmbuilder[65] + 1)))
-#define CALL_mmbuilder___PSignature___check_visibility(recv) ((mmbuilder___PSignature___check_visibility_t)CALL((recv), (SFT_mmbuilder[66] + 0)))
-#define CALL_SUPER_mmbuilder___ASignature___accept_property_verifier(recv) ((mmbuilder___ASignature___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[67] + 0)))
-#define ATTR_mmbuilder___PParam____position(recv) ATTR(recv, (SFT_mmbuilder[68] + 0))
-#define ATTR_mmbuilder___PParam____variable(recv) ATTR(recv, (SFT_mmbuilder[68] + 1))
-#define ATTR_mmbuilder___PParam____stype(recv) ATTR(recv, (SFT_mmbuilder[68] + 2))
-#define CALL_mmbuilder___PParam___stype(recv) ((mmbuilder___PParam___stype_t)CALL((recv), (SFT_mmbuilder[69] + 0)))
-#define CALL_mmbuilder___PParam___stype__eq(recv) ((mmbuilder___PParam___stype__eq_t)CALL((recv), (SFT_mmbuilder[69] + 1)))
-#define CALL_SUPER_mmbuilder___PParam___accept_property_verifier(recv) ((mmbuilder___PParam___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[69] + 2)))
-#define CALL_mmbuilder___PParam___is_vararg(recv) ((mmbuilder___PParam___is_vararg_t)CALL((recv), (SFT_mmbuilder[69] + 3)))
-#define ATTR_mmbuilder___AClosureDecl____variable(recv) ATTR(recv, (SFT_mmbuilder[70] + 0))
-#define CALL_SUPER_mmbuilder___AClosureDecl___accept_property_verifier(recv) ((mmbuilder___AClosureDecl___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[71] + 0)))
-#define CALL_mmbuilder___PType___check_visibility(recv) ((mmbuilder___PType___check_visibility_t)CALL((recv), (SFT_mmbuilder[72] + 0)))
-typedef val_t (* mmbuilder___CSHSorter___compare_t)(val_t  self, val_t  param0, val_t  param1);
-val_t mmbuilder___CSHSorter___compare(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_mmbuilder___CSHSorter___compare "mmbuilder::CSHSorter::(sorter::AbstractSorter::compare)"
-typedef void (* mmbuilder___CSHSorter___init_t)(val_t  self, int* init_table);
-void mmbuilder___CSHSorter___init(val_t  self, int* init_table);
-#define LOCATE_mmbuilder___CSHSorter___init "mmbuilder::CSHSorter::init"
+#define ID_MMSrcAncestor (SFT_mmbuilder[8])
+#define COLOR_MMSrcAncestor (SFT_mmbuilder[9])
+#define ATTR_mmbuilder___MMSrcAncestor____local_class(recv) ATTR(recv, (SFT_mmbuilder[10] + 0))
+#define INIT_TABLE_POS_MMSrcAncestor (SFT_mmbuilder[11] + 0)
+#define CALL_mmbuilder___MMSrcAncestor___init(recv) ((mmbuilder___MMSrcAncestor___init_t)CALL((recv), (SFT_mmbuilder[11] + 1)))
+#define ID_ClassBuilderVisitor (SFT_mmbuilder[12])
+#define COLOR_ClassBuilderVisitor (SFT_mmbuilder[13])
+#define ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity(recv) ATTR(recv, (SFT_mmbuilder[14] + 0))
+#define ATTR_mmbuilder___ClassBuilderVisitor____formals(recv) ATTR(recv, (SFT_mmbuilder[14] + 1))
+#define INIT_TABLE_POS_ClassBuilderVisitor (SFT_mmbuilder[15] + 0)
+#define CALL_mmbuilder___ClassBuilderVisitor___local_class_arity(recv) ((mmbuilder___ClassBuilderVisitor___local_class_arity_t)CALL((recv), (SFT_mmbuilder[15] + 1)))
+#define CALL_mmbuilder___ClassBuilderVisitor___local_class_arity__eq(recv) ((mmbuilder___ClassBuilderVisitor___local_class_arity__eq_t)CALL((recv), (SFT_mmbuilder[15] + 2)))
+#define CALL_mmbuilder___ClassBuilderVisitor___formals(recv) ((mmbuilder___ClassBuilderVisitor___formals_t)CALL((recv), (SFT_mmbuilder[15] + 3)))
+#define CALL_mmbuilder___ClassBuilderVisitor___formals__eq(recv) ((mmbuilder___ClassBuilderVisitor___formals__eq_t)CALL((recv), (SFT_mmbuilder[15] + 4)))
+#define CALL_mmbuilder___ClassBuilderVisitor___init(recv) ((mmbuilder___ClassBuilderVisitor___init_t)CALL((recv), (SFT_mmbuilder[15] + 5)))
+#define ID_ClassSpecializationBuilderVisitor (SFT_mmbuilder[16])
+#define COLOR_ClassSpecializationBuilderVisitor (SFT_mmbuilder[17])
+#define INIT_TABLE_POS_ClassSpecializationBuilderVisitor (SFT_mmbuilder[18] + 0)
+#define CALL_mmbuilder___ClassSpecializationBuilderVisitor___init(recv) ((mmbuilder___ClassSpecializationBuilderVisitor___init_t)CALL((recv), (SFT_mmbuilder[18] + 1)))
+#define ID_ClassAncestorBuilder (SFT_mmbuilder[19])
+#define COLOR_ClassAncestorBuilder (SFT_mmbuilder[20])
+#define INIT_TABLE_POS_ClassAncestorBuilder (SFT_mmbuilder[21] + 0)
+#define CALL_mmbuilder___ClassAncestorBuilder___init(recv) ((mmbuilder___ClassAncestorBuilder___init_t)CALL((recv), (SFT_mmbuilder[21] + 1)))
+#define ID_ClassVerifierVisitor (SFT_mmbuilder[22])
+#define COLOR_ClassVerifierVisitor (SFT_mmbuilder[23])
+#define INIT_TABLE_POS_ClassVerifierVisitor (SFT_mmbuilder[24] + 0)
+#define CALL_mmbuilder___ClassVerifierVisitor___init(recv) ((mmbuilder___ClassVerifierVisitor___init_t)CALL((recv), (SFT_mmbuilder[24] + 1)))
+#define ID_PropertyBuilderVisitor (SFT_mmbuilder[25])
+#define COLOR_PropertyBuilderVisitor (SFT_mmbuilder[26])
+#define INIT_TABLE_POS_PropertyBuilderVisitor (SFT_mmbuilder[27] + 0)
+#define CALL_mmbuilder___PropertyBuilderVisitor___init(recv) ((mmbuilder___PropertyBuilderVisitor___init_t)CALL((recv), (SFT_mmbuilder[27] + 1)))
+#define ID_PropertyVerifierVisitor (SFT_mmbuilder[28])
+#define COLOR_PropertyVerifierVisitor (SFT_mmbuilder[29])
+#define ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(recv) ATTR(recv, (SFT_mmbuilder[30] + 0))
+#define INIT_TABLE_POS_PropertyVerifierVisitor (SFT_mmbuilder[31] + 0)
+#define CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(recv) ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL((recv), (SFT_mmbuilder[31] + 1)))
+#define CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq(recv) ((mmbuilder___PropertyVerifierVisitor___signature_builder__eq_t)CALL((recv), (SFT_mmbuilder[31] + 2)))
+#define CALL_mmbuilder___PropertyVerifierVisitor___init(recv) ((mmbuilder___PropertyVerifierVisitor___init_t)CALL((recv), (SFT_mmbuilder[31] + 3)))
+#define ID_SignatureBuilder (SFT_mmbuilder[32])
+#define COLOR_SignatureBuilder (SFT_mmbuilder[33])
+#define ATTR_mmbuilder___SignatureBuilder____params(recv) ATTR(recv, (SFT_mmbuilder[34] + 0))
+#define ATTR_mmbuilder___SignatureBuilder____untyped_params(recv) ATTR(recv, (SFT_mmbuilder[34] + 1))
+#define ATTR_mmbuilder___SignatureBuilder____vararg_rank(recv) ATTR(recv, (SFT_mmbuilder[34] + 2))
+#define ATTR_mmbuilder___SignatureBuilder____closure_decls(recv) ATTR(recv, (SFT_mmbuilder[34] + 3))
+#define ATTR_mmbuilder___SignatureBuilder____has_error_occured(recv) ATTR(recv, (SFT_mmbuilder[34] + 4))
+#define ATTR_mmbuilder___SignatureBuilder____signature(recv) ATTR(recv, (SFT_mmbuilder[34] + 5))
+#define INIT_TABLE_POS_SignatureBuilder (SFT_mmbuilder[35] + 0)
+#define CALL_mmbuilder___SignatureBuilder___params(recv) ((mmbuilder___SignatureBuilder___params_t)CALL((recv), (SFT_mmbuilder[35] + 1)))
+#define CALL_mmbuilder___SignatureBuilder___params__eq(recv) ((mmbuilder___SignatureBuilder___params__eq_t)CALL((recv), (SFT_mmbuilder[35] + 2)))
+#define CALL_mmbuilder___SignatureBuilder___untyped_params(recv) ((mmbuilder___SignatureBuilder___untyped_params_t)CALL((recv), (SFT_mmbuilder[35] + 3)))
+#define CALL_mmbuilder___SignatureBuilder___untyped_params__eq(recv) ((mmbuilder___SignatureBuilder___untyped_params__eq_t)CALL((recv), (SFT_mmbuilder[35] + 4)))
+#define CALL_mmbuilder___SignatureBuilder___vararg_rank(recv) ((mmbuilder___SignatureBuilder___vararg_rank_t)CALL((recv), (SFT_mmbuilder[35] + 5)))
+#define CALL_mmbuilder___SignatureBuilder___vararg_rank__eq(recv) ((mmbuilder___SignatureBuilder___vararg_rank__eq_t)CALL((recv), (SFT_mmbuilder[35] + 6)))
+#define CALL_mmbuilder___SignatureBuilder___closure_decls(recv) ((mmbuilder___SignatureBuilder___closure_decls_t)CALL((recv), (SFT_mmbuilder[35] + 7)))
+#define CALL_mmbuilder___SignatureBuilder___closure_decls__eq(recv) ((mmbuilder___SignatureBuilder___closure_decls__eq_t)CALL((recv), (SFT_mmbuilder[35] + 8)))
+#define CALL_mmbuilder___SignatureBuilder___has_error_occured(recv) ((mmbuilder___SignatureBuilder___has_error_occured_t)CALL((recv), (SFT_mmbuilder[35] + 9)))
+#define CALL_mmbuilder___SignatureBuilder___has_error_occured__eq(recv) ((mmbuilder___SignatureBuilder___has_error_occured__eq_t)CALL((recv), (SFT_mmbuilder[35] + 10)))
+#define CALL_mmbuilder___SignatureBuilder___signature(recv) ((mmbuilder___SignatureBuilder___signature_t)CALL((recv), (SFT_mmbuilder[35] + 11)))
+#define CALL_mmbuilder___SignatureBuilder___signature__eq(recv) ((mmbuilder___SignatureBuilder___signature__eq_t)CALL((recv), (SFT_mmbuilder[35] + 12)))
+#define CALL_mmbuilder___SignatureBuilder___init(recv) ((mmbuilder___SignatureBuilder___init_t)CALL((recv), (SFT_mmbuilder[35] + 13)))
+#define CALL_mmbuilder___ANode___accept_class_builder(recv) ((mmbuilder___ANode___accept_class_builder_t)CALL((recv), (SFT_mmbuilder[36] + 0)))
+#define CALL_mmbuilder___ANode___accept_class_specialization_builder(recv) ((mmbuilder___ANode___accept_class_specialization_builder_t)CALL((recv), (SFT_mmbuilder[36] + 1)))
+#define CALL_mmbuilder___ANode___accept_class_ancestor_builder(recv) ((mmbuilder___ANode___accept_class_ancestor_builder_t)CALL((recv), (SFT_mmbuilder[36] + 2)))
+#define CALL_mmbuilder___ANode___accept_class_verifier(recv) ((mmbuilder___ANode___accept_class_verifier_t)CALL((recv), (SFT_mmbuilder[36] + 3)))
+#define CALL_mmbuilder___ANode___accept_property_builder(recv) ((mmbuilder___ANode___accept_property_builder_t)CALL((recv), (SFT_mmbuilder[36] + 4)))
+#define CALL_mmbuilder___ANode___accept_property_verifier(recv) ((mmbuilder___ANode___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[36] + 5)))
+#define CALL_mmbuilder___AModule___import_super_modules(recv) ((mmbuilder___AModule___import_super_modules_t)CALL((recv), (SFT_mmbuilder[37] + 0)))
+#define CALL_mmbuilder___AImport___module_name(recv) ((mmbuilder___AImport___module_name_t)CALL((recv), (SFT_mmbuilder[38] + 0)))
+#define CALL_mmbuilder___AImport___visibility_level(recv) ((mmbuilder___AImport___visibility_level_t)CALL((recv), (SFT_mmbuilder[38] + 1)))
+#define CALL_mmbuilder___AVisibility___level(recv) ((mmbuilder___AVisibility___level_t)CALL((recv), (SFT_mmbuilder[39] + 0)))
+#define ATTR_mmbuilder___AClassdef____local_class(recv) ATTR(recv, (SFT_mmbuilder[40] + 0))
+#define CALL_mmbuilder___AClassdef___name(recv) ((mmbuilder___AClassdef___name_t)CALL((recv), (SFT_mmbuilder[41] + 0)))
+#define CALL_mmbuilder___AClassdef___arity(recv) ((mmbuilder___AClassdef___arity_t)CALL((recv), (SFT_mmbuilder[41] + 1)))
+#define CALL_mmbuilder___AClassdef___visibility_level(recv) ((mmbuilder___AClassdef___visibility_level_t)CALL((recv), (SFT_mmbuilder[41] + 2)))
+#define CALL_SUPER_mmbuilder___AClassdef___accept_class_builder(recv) ((mmbuilder___AClassdef___accept_class_builder_t)CALL((recv), (SFT_mmbuilder[41] + 3)))
+#define CALL_SUPER_mmbuilder___AClassdef___accept_abs_syntax_visitor(recv) ((mmbuilder___AClassdef___accept_abs_syntax_visitor_t)CALL((recv), (SFT_mmbuilder[41] + 4)))
+#define CALL_mmbuilder___AClasskind___is_interface(recv) ((mmbuilder___AClasskind___is_interface_t)CALL((recv), (SFT_mmbuilder[42] + 0)))
+#define CALL_mmbuilder___AClasskind___is_enum(recv) ((mmbuilder___AClasskind___is_enum_t)CALL((recv), (SFT_mmbuilder[42] + 1)))
+#define CALL_mmbuilder___AClasskind___is_abstract(recv) ((mmbuilder___AClasskind___is_abstract_t)CALL((recv), (SFT_mmbuilder[42] + 2)))
+#define CALL_SUPER_mmbuilder___AStdClassdef___accept_class_verifier(recv) ((mmbuilder___AStdClassdef___accept_class_verifier_t)CALL((recv), (SFT_mmbuilder[43] + 0)))
+#define ATTR_mmbuilder___AFormaldef____formal(recv) ATTR(recv, (SFT_mmbuilder[44] + 0))
+#define CALL_SUPER_mmbuilder___AFormaldef___accept_class_builder(recv) ((mmbuilder___AFormaldef___accept_class_builder_t)CALL((recv), (SFT_mmbuilder[45] + 0)))
+#define CALL_SUPER_mmbuilder___AFormaldef___accept_class_verifier(recv) ((mmbuilder___AFormaldef___accept_class_verifier_t)CALL((recv), (SFT_mmbuilder[45] + 1)))
+#define ATTR_mmbuilder___ASuperclass____ancestor(recv) ATTR(recv, (SFT_mmbuilder[46] + 0))
+#define CALL_mmbuilder___ASuperclass___ancestor(recv) ((mmbuilder___ASuperclass___ancestor_t)CALL((recv), (SFT_mmbuilder[47] + 0)))
+#define CALL_SUPER_mmbuilder___ASuperclass___accept_class_specialization_builder(recv) ((mmbuilder___ASuperclass___accept_class_specialization_builder_t)CALL((recv), (SFT_mmbuilder[47] + 1)))
+#define CALL_SUPER_mmbuilder___ASuperclass___accept_class_ancestor_builder(recv) ((mmbuilder___ASuperclass___accept_class_ancestor_builder_t)CALL((recv), (SFT_mmbuilder[47] + 2)))
+#define CALL_SUPER_mmbuilder___ASuperclass___accept_class_verifier(recv) ((mmbuilder___ASuperclass___accept_class_verifier_t)CALL((recv), (SFT_mmbuilder[47] + 3)))
+#define CALL_mmbuilder___APropdef___process_and_check(recv) ((mmbuilder___APropdef___process_and_check_t)CALL((recv), (SFT_mmbuilder[48] + 0)))
+#define CALL_mmbuilder___APropdef___do_and_check_intro(recv) ((mmbuilder___APropdef___do_and_check_intro_t)CALL((recv), (SFT_mmbuilder[48] + 1)))
+#define CALL_mmbuilder___APropdef___inherit_signature(recv) ((mmbuilder___APropdef___inherit_signature_t)CALL((recv), (SFT_mmbuilder[48] + 2)))
+#define CALL_mmbuilder___APropdef___do_and_check_redef(recv) ((mmbuilder___APropdef___do_and_check_redef_t)CALL((recv), (SFT_mmbuilder[48] + 3)))
+#define ATTR_mmbuilder___AAttrPropdef____readmethod(recv) ATTR(recv, (SFT_mmbuilder[49] + 0))
+#define ATTR_mmbuilder___AAttrPropdef____writemethod(recv) ATTR(recv, (SFT_mmbuilder[49] + 1))
+#define ATTR_mmbuilder___AAttrPropdef____prop(recv) ATTR(recv, (SFT_mmbuilder[49] + 2))
+#define CALL_SUPER_mmbuilder___AAttrPropdef___accept_property_builder(recv) ((mmbuilder___AAttrPropdef___accept_property_builder_t)CALL((recv), (SFT_mmbuilder[50] + 0)))
+#define CALL_SUPER_mmbuilder___AAttrPropdef___accept_property_verifier(recv) ((mmbuilder___AAttrPropdef___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[50] + 1)))
+#define CALL_SUPER_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(recv) ((mmbuilder___AAttrPropdef___accept_abs_syntax_visitor_t)CALL((recv), (SFT_mmbuilder[50] + 2)))
+#define ATTR_mmbuilder___AMethPropdef____name(recv) ATTR(recv, (SFT_mmbuilder[51] + 0))
+#define ATTR_mmbuilder___AMethPropdef____method(recv) ATTR(recv, (SFT_mmbuilder[51] + 1))
+#define CALL_mmbuilder___AMethPropdef___name(recv) ((mmbuilder___AMethPropdef___name_t)CALL((recv), (SFT_mmbuilder[52] + 0)))
+#define CALL_SUPER_mmbuilder___AMethPropdef___accept_property_builder(recv) ((mmbuilder___AMethPropdef___accept_property_builder_t)CALL((recv), (SFT_mmbuilder[52] + 1)))
+#define CALL_SUPER_mmbuilder___AMethPropdef___accept_property_verifier(recv) ((mmbuilder___AMethPropdef___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[52] + 2)))
+#define CALL_SUPER_mmbuilder___AMethPropdef___accept_abs_syntax_visitor(recv) ((mmbuilder___AMethPropdef___accept_abs_syntax_visitor_t)CALL((recv), (SFT_mmbuilder[52] + 3)))
+#define CALL_SUPER_mmbuilder___AExternMethPropdef___accept_property_verifier(recv) ((mmbuilder___AExternMethPropdef___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[53] + 0)))
+#define ATTR_mmbuilder___ATypePropdef____prop(recv) ATTR(recv, (SFT_mmbuilder[54] + 0))
+#define CALL_SUPER_mmbuilder___ATypePropdef___accept_property_builder(recv) ((mmbuilder___ATypePropdef___accept_property_builder_t)CALL((recv), (SFT_mmbuilder[55] + 0)))
+#define CALL_SUPER_mmbuilder___ATypePropdef___accept_property_verifier(recv) ((mmbuilder___ATypePropdef___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[55] + 1)))
+#define CALL_SUPER_mmbuilder___ATypePropdef___accept_abs_syntax_visitor(recv) ((mmbuilder___ATypePropdef___accept_abs_syntax_visitor_t)CALL((recv), (SFT_mmbuilder[55] + 2)))
+#define ID_MethidAccumulator (SFT_mmbuilder[56])
+#define COLOR_MethidAccumulator (SFT_mmbuilder[57])
+#define ATTR_mmbuilder___MethidAccumulator____name(recv) ATTR(recv, (SFT_mmbuilder[58] + 0))
+#define INIT_TABLE_POS_MethidAccumulator (SFT_mmbuilder[59] + 0)
+#define CALL_mmbuilder___MethidAccumulator___name(recv) ((mmbuilder___MethidAccumulator___name_t)CALL((recv), (SFT_mmbuilder[59] + 1)))
+#define ATTR_mmbuilder___AMethid____name(recv) ATTR(recv, (SFT_mmbuilder[60] + 0))
+#define CALL_mmbuilder___AMethid___name(recv) ((mmbuilder___AMethid___name_t)CALL((recv), (SFT_mmbuilder[61] + 0)))
+#define CALL_SUPER_mmbuilder___AMethid___accept_property_builder(recv) ((mmbuilder___AMethid___accept_property_builder_t)CALL((recv), (SFT_mmbuilder[61] + 1)))
+#define CALL_SUPER_mmbuilder___ASignature___accept_property_verifier(recv) ((mmbuilder___ASignature___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[62] + 0)))
+#define CALL_mmbuilder___ASignature___check_visibility(recv) ((mmbuilder___ASignature___check_visibility_t)CALL((recv), (SFT_mmbuilder[62] + 1)))
+#define ATTR_mmbuilder___AParam____position(recv) ATTR(recv, (SFT_mmbuilder[63] + 0))
+#define ATTR_mmbuilder___AParam____variable(recv) ATTR(recv, (SFT_mmbuilder[63] + 1))
+#define ATTR_mmbuilder___AParam____stype(recv) ATTR(recv, (SFT_mmbuilder[63] + 2))
+#define CALL_mmbuilder___AParam___stype(recv) ((mmbuilder___AParam___stype_t)CALL((recv), (SFT_mmbuilder[64] + 0)))
+#define CALL_mmbuilder___AParam___stype__eq(recv) ((mmbuilder___AParam___stype__eq_t)CALL((recv), (SFT_mmbuilder[64] + 1)))
+#define CALL_SUPER_mmbuilder___AParam___accept_property_verifier(recv) ((mmbuilder___AParam___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[64] + 2)))
+#define CALL_mmbuilder___AParam___is_vararg(recv) ((mmbuilder___AParam___is_vararg_t)CALL((recv), (SFT_mmbuilder[64] + 3)))
+#define ATTR_mmbuilder___AClosureDecl____position(recv) ATTR(recv, (SFT_mmbuilder[65] + 0))
+#define ATTR_mmbuilder___AClosureDecl____variable(recv) ATTR(recv, (SFT_mmbuilder[65] + 1))
+#define CALL_SUPER_mmbuilder___AClosureDecl___accept_property_verifier(recv) ((mmbuilder___AClosureDecl___accept_property_verifier_t)CALL((recv), (SFT_mmbuilder[66] + 0)))
+#define CALL_mmbuilder___AType___check_visibility(recv) ((mmbuilder___AType___check_visibility_t)CALL((recv), (SFT_mmbuilder[67] + 0)))
+static const char * const LOCATE_mmbuilder___CSHSorter___compare = "mmbuilder::CSHSorter::(sorter::AbstractSorter::compare)";
+val_t mmbuilder___CSHSorter___compare(val_t p0, val_t p1, val_t p2);
+typedef val_t (*mmbuilder___CSHSorter___compare_t)(val_t p0, val_t p1, val_t p2);
+static const char * const LOCATE_mmbuilder___CSHSorter___init = "mmbuilder::CSHSorter::init";
+void mmbuilder___CSHSorter___init(val_t p0, int* init_table);
+typedef void (*mmbuilder___CSHSorter___init_t)(val_t p0, int* init_table);
 val_t NEW_CSHSorter_mmbuilder___CSHSorter___init();
-val_t NEW_MMSrcModule_syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3);
-typedef void (* mmbuilder___MMSrcModule___do_mmbuilder_t)(val_t  self, val_t  param0);
-void mmbuilder___MMSrcModule___do_mmbuilder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___MMSrcModule___do_mmbuilder "mmbuilder::MMSrcModule::do_mmbuilder"
-val_t NEW_MMLocalClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1);
-typedef void (* mmbuilder___MMLocalClass___accept_class_visitor_t)(val_t  self, val_t  param0);
-void mmbuilder___MMLocalClass___accept_class_visitor(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___MMLocalClass___accept_class_visitor "mmbuilder::MMLocalClass::accept_class_visitor"
-typedef void (* mmbuilder___MMLocalClass___accept_properties_visitor_t)(val_t  self, val_t  param0);
-void mmbuilder___MMLocalClass___accept_properties_visitor(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___MMLocalClass___accept_properties_visitor "mmbuilder::MMLocalClass::accept_properties_visitor"
-val_t NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(val_t p0, val_t p1, val_t p2);
-typedef void (* mmbuilder___MMSrcLocalClass___accept_class_visitor_t)(val_t  self, val_t  param0);
-void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___MMSrcLocalClass___accept_class_visitor "mmbuilder::MMSrcLocalClass::(mmbuilder::MMLocalClass::accept_class_visitor)"
-typedef void (* mmbuilder___MMSrcLocalClass___accept_properties_visitor_t)(val_t  self, val_t  param0);
-void mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor "mmbuilder::MMSrcLocalClass::(mmbuilder::MMLocalClass::accept_properties_visitor)"
-typedef void (* mmbuilder___MMSrcLocalClass___process_default_constructors_t)(val_t  self, val_t  param0);
-void mmbuilder___MMSrcLocalClass___process_default_constructors(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors "mmbuilder::MMSrcLocalClass::process_default_constructors"
-typedef void (* mmbuilder___MMSrcLocalClass___add_src_local_property_t)(val_t  self, val_t  param0, val_t  param1);
-void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property "mmbuilder::MMSrcLocalClass::add_src_local_property"
+static const char * const LOCATE_mmbuilder___MMSrcModule___do_mmbuilder = "mmbuilder::MMSrcModule::do_mmbuilder";
+void mmbuilder___MMSrcModule___do_mmbuilder(val_t p0, val_t p1);
+typedef void (*mmbuilder___MMSrcModule___do_mmbuilder_t)(val_t p0, val_t p1);
+  typedef void (*CLOS_OC_mmbuilder___MMSrcModule___do_mmbuilder_1_0)(struct stack_frame_t *);
+  void OC_mmbuilder___MMSrcModule___do_mmbuilder_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*OC_mmbuilder___MMSrcModule___do_mmbuilder_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_mmbuilder___MMSrcModule___process_default_classes = "mmbuilder::MMSrcModule::process_default_classes";
+void mmbuilder___MMSrcModule___process_default_classes(val_t p0, val_t p1);
+typedef void (*mmbuilder___MMSrcModule___process_default_classes_t)(val_t p0, val_t p1);
+val_t NEW_MMSrcModule_syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+static const char * const LOCATE_mmbuilder___MMLocalClass___accept_class_visitor = "mmbuilder::MMLocalClass::accept_class_visitor";
+void mmbuilder___MMLocalClass___accept_class_visitor(val_t p0, val_t p1);
+typedef void (*mmbuilder___MMLocalClass___accept_class_visitor_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___MMLocalClass___accept_properties_visitor = "mmbuilder::MMLocalClass::accept_properties_visitor";
+void mmbuilder___MMLocalClass___accept_properties_visitor(val_t p0, val_t p1);
+typedef void (*mmbuilder___MMLocalClass___accept_properties_visitor_t)(val_t p0, val_t p1);
+val_t NEW_MMLocalClass_abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1, val_t p2);
+static const char * const LOCATE_mmbuilder___MMSrcLocalClass___accept_class_visitor = "mmbuilder::MMSrcLocalClass::(mmbuilder::MMLocalClass::accept_class_visitor)";
+void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t p0, val_t p1);
+typedef void (*mmbuilder___MMSrcLocalClass___accept_class_visitor_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor = "mmbuilder::MMSrcLocalClass::(mmbuilder::MMLocalClass::accept_properties_visitor)";
+void mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t p0, val_t p1);
+typedef void (*mmbuilder___MMSrcLocalClass___accept_properties_visitor_t)(val_t p0, val_t p1);
+  typedef void (*CLOS_OC_mmbuilder___MMSrcLocalClass___accept_properties_visitor_2_0)(struct stack_frame_t *);
+  void OC_mmbuilder___MMSrcLocalClass___accept_properties_visitor_2(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*OC_mmbuilder___MMSrcLocalClass___accept_properties_visitor_2_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+static const char * const LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors = "mmbuilder::MMSrcLocalClass::process_default_constructors";
+void mmbuilder___MMSrcLocalClass___process_default_constructors(val_t p0, val_t p1);
+typedef void (*mmbuilder___MMSrcLocalClass___process_default_constructors_t)(val_t p0, val_t p1);
+  typedef void (*CLOS_OC_mmbuilder___MMSrcLocalClass___process_default_constructors_1_0)(struct stack_frame_t *);
+  void OC_mmbuilder___MMSrcLocalClass___process_default_constructors_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*OC_mmbuilder___MMSrcLocalClass___process_default_constructors_1_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+      void OC_mmbuilder___MMSrcLocalClass___process_default_constructors_5(struct stack_frame_t *closctx, val_t p0);
+      typedef void (*OC_mmbuilder___MMSrcLocalClass___process_default_constructors_5_t)(struct stack_frame_t *closctx, val_t p0);
+  typedef void (*CLOS_OC_mmbuilder___MMSrcLocalClass___process_default_constructors_10_0)(struct stack_frame_t *);
+  void OC_mmbuilder___MMSrcLocalClass___process_default_constructors_10(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*OC_mmbuilder___MMSrcLocalClass___process_default_constructors_10_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+    typedef void (*CLOS_OC_mmbuilder___MMSrcLocalClass___process_default_constructors_11_0)(struct stack_frame_t *);
+    void OC_mmbuilder___MMSrcLocalClass___process_default_constructors_11(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+    typedef void (*OC_mmbuilder___MMSrcLocalClass___process_default_constructors_11_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+    typedef void (*CLOS_OC_mmbuilder___MMSrcLocalClass___process_default_constructors_19_0)(struct stack_frame_t *);
+    void OC_mmbuilder___MMSrcLocalClass___process_default_constructors_19(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+    typedef void (*OC_mmbuilder___MMSrcLocalClass___process_default_constructors_19_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+static const char * const LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property = "mmbuilder::MMSrcLocalClass::add_src_local_property";
+void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t p0, val_t p1, val_t p2);
+typedef void (*mmbuilder___MMSrcLocalClass___add_src_local_property_t)(val_t p0, val_t p1, val_t p2);
+val_t NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(val_t p0, val_t p1, val_t p2, val_t p3);
+static const char * const LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor = "mmbuilder::MMLocalProperty::accept_property_visitor";
+void mmbuilder___MMLocalProperty___accept_property_visitor(val_t p0, val_t p1);
+typedef void (*mmbuilder___MMLocalProperty___accept_property_visitor_t)(val_t p0, val_t p1);
 val_t NEW_MMLocalProperty_abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
-typedef void (* mmbuilder___MMLocalProperty___accept_property_visitor_t)(val_t  self, val_t  param0);
-void mmbuilder___MMLocalProperty___accept_property_visitor(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor "mmbuilder::MMLocalProperty::accept_property_visitor"
+static const char * const LOCATE_mmbuilder___MMImplicitInit___super_init = "mmbuilder::MMImplicitInit::(syntax_base::MMImplicitInit::super_init)";
+val_t mmbuilder___MMImplicitInit___super_init(val_t p0);
+typedef val_t (*mmbuilder___MMImplicitInit___super_init_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___MMImplicitInit___accept_property_visitor = "mmbuilder::MMImplicitInit::(mmbuilder::MMLocalProperty::accept_property_visitor)";
+void mmbuilder___MMImplicitInit___accept_property_visitor(val_t p0, val_t p1);
+typedef void (*mmbuilder___MMImplicitInit___accept_property_visitor_t)(val_t p0, val_t p1);
 val_t NEW_MMImplicitInit_syntax_base___MMImplicitInit___init(val_t p0, val_t p1, val_t p2);
-typedef void (* mmbuilder___MMImplicitInit___accept_property_visitor_t)(val_t  self, val_t  param0);
-void mmbuilder___MMImplicitInit___accept_property_visitor(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___MMImplicitInit___accept_property_visitor "mmbuilder::MMImplicitInit::(mmbuilder::MMLocalProperty::accept_property_visitor)"
-typedef val_t (* mmbuilder___MMImplicitInit___super_init_t)(val_t  self);
-val_t mmbuilder___MMImplicitInit___super_init(val_t  self);
-#define LOCATE_mmbuilder___MMImplicitInit___super_init "mmbuilder::MMImplicitInit::super_init"
-typedef val_t (* mmbuilder___MMSrcAncestor___local_class_t)(val_t  self);
-val_t mmbuilder___MMSrcAncestor___local_class(val_t  self);
-#define LOCATE_mmbuilder___MMSrcAncestor___local_class "mmbuilder::MMSrcAncestor::(static_type::MMAncestor::local_class)"
-typedef val_t (* mmbuilder___MMSrcAncestor___node_t)(val_t  self);
-val_t mmbuilder___MMSrcAncestor___node(val_t  self);
-#define LOCATE_mmbuilder___MMSrcAncestor___node "mmbuilder::MMSrcAncestor::node"
-typedef void (* mmbuilder___MMSrcAncestor___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void mmbuilder___MMSrcAncestor___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-#define LOCATE_mmbuilder___MMSrcAncestor___init "mmbuilder::MMSrcAncestor::init"
-val_t NEW_MMSrcAncestor_mmbuilder___MMSrcAncestor___init(val_t p0, val_t p1);
-typedef void (* mmbuilder___ClassBuilderVisitor___visit_t)(val_t  self, val_t  param0);
-void mmbuilder___ClassBuilderVisitor___visit(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ClassBuilderVisitor___visit "mmbuilder::ClassBuilderVisitor::(parser_prod::Visitor::visit)"
-typedef val_t (* mmbuilder___ClassBuilderVisitor___local_class_arity_t)(val_t  self);
-val_t mmbuilder___ClassBuilderVisitor___local_class_arity(val_t  self);
-#define LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity "mmbuilder::ClassBuilderVisitor::local_class_arity"
-typedef void (* mmbuilder___ClassBuilderVisitor___local_class_arity__eq_t)(val_t  self, val_t  param0);
-void mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq "mmbuilder::ClassBuilderVisitor::local_class_arity="
-typedef val_t (* mmbuilder___ClassBuilderVisitor___formals_t)(val_t  self);
-val_t mmbuilder___ClassBuilderVisitor___formals(val_t  self);
-#define LOCATE_mmbuilder___ClassBuilderVisitor___formals "mmbuilder::ClassBuilderVisitor::formals"
-typedef void (* mmbuilder___ClassBuilderVisitor___formals__eq_t)(val_t  self, val_t  param0);
-void mmbuilder___ClassBuilderVisitor___formals__eq(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq "mmbuilder::ClassBuilderVisitor::formals="
-typedef void (* mmbuilder___ClassBuilderVisitor___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void mmbuilder___ClassBuilderVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-#define LOCATE_mmbuilder___ClassBuilderVisitor___init "mmbuilder::ClassBuilderVisitor::init"
+static const char * const LOCATE_mmbuilder___MMSrcAncestor___local_class = "mmbuilder::MMSrcAncestor::(static_type::MMAncestor::local_class)";
+val_t mmbuilder___MMSrcAncestor___local_class(val_t p0);
+typedef val_t (*mmbuilder___MMSrcAncestor___local_class_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___MMSrcAncestor___init = "mmbuilder::MMSrcAncestor::init";
+void mmbuilder___MMSrcAncestor___init(val_t p0, val_t p1, int* init_table);
+typedef void (*mmbuilder___MMSrcAncestor___init_t)(val_t p0, val_t p1, int* init_table);
+val_t NEW_MMSrcAncestor_mmbuilder___MMSrcAncestor___init(val_t p0);
+static const char * const LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity = "mmbuilder::ClassBuilderVisitor::local_class_arity";
+val_t mmbuilder___ClassBuilderVisitor___local_class_arity(val_t p0);
+typedef val_t (*mmbuilder___ClassBuilderVisitor___local_class_arity_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq = "mmbuilder::ClassBuilderVisitor::local_class_arity=";
+void mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t p0, val_t p1);
+typedef void (*mmbuilder___ClassBuilderVisitor___local_class_arity__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ClassBuilderVisitor___formals = "mmbuilder::ClassBuilderVisitor::formals";
+val_t mmbuilder___ClassBuilderVisitor___formals(val_t p0);
+typedef val_t (*mmbuilder___ClassBuilderVisitor___formals_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq = "mmbuilder::ClassBuilderVisitor::formals=";
+void mmbuilder___ClassBuilderVisitor___formals__eq(val_t p0, val_t p1);
+typedef void (*mmbuilder___ClassBuilderVisitor___formals__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ClassBuilderVisitor___visit = "mmbuilder::ClassBuilderVisitor::(parser_prod::Visitor::visit)";
+void mmbuilder___ClassBuilderVisitor___visit(val_t p0, val_t p1);
+typedef void (*mmbuilder___ClassBuilderVisitor___visit_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ClassBuilderVisitor___init = "mmbuilder::ClassBuilderVisitor::init";
+void mmbuilder___ClassBuilderVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table);
+typedef void (*mmbuilder___ClassBuilderVisitor___init_t)(val_t p0, val_t p1, val_t p2, int* init_table);
 val_t NEW_ClassBuilderVisitor_mmbuilder___ClassBuilderVisitor___init(val_t p0, val_t p1);
-typedef void (* mmbuilder___ClassSpecializationBuilderVisitor___visit_t)(val_t  self, val_t  param0);
-void mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit "mmbuilder::ClassSpecializationBuilderVisitor::(parser_prod::Visitor::visit)"
-typedef void (* mmbuilder___ClassSpecializationBuilderVisitor___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void mmbuilder___ClassSpecializationBuilderVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-#define LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init "mmbuilder::ClassSpecializationBuilderVisitor::init"
+static const char * const LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit = "mmbuilder::ClassSpecializationBuilderVisitor::(parser_prod::Visitor::visit)";
+void mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t p0, val_t p1);
+typedef void (*mmbuilder___ClassSpecializationBuilderVisitor___visit_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init = "mmbuilder::ClassSpecializationBuilderVisitor::init";
+void mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table);
+typedef void (*mmbuilder___ClassSpecializationBuilderVisitor___init_t)(val_t p0, val_t p1, val_t p2, int* init_table);
 val_t NEW_ClassSpecializationBuilderVisitor_mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0, val_t p1);
-typedef void (* mmbuilder___ClassAncestorBuilder___visit_t)(val_t  self, val_t  param0);
-void mmbuilder___ClassAncestorBuilder___visit(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ClassAncestorBuilder___visit "mmbuilder::ClassAncestorBuilder::(parser_prod::Visitor::visit)"
-typedef void (* mmbuilder___ClassAncestorBuilder___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void mmbuilder___ClassAncestorBuilder___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-#define LOCATE_mmbuilder___ClassAncestorBuilder___init "mmbuilder::ClassAncestorBuilder::init"
+static const char * const LOCATE_mmbuilder___ClassAncestorBuilder___visit = "mmbuilder::ClassAncestorBuilder::(parser_prod::Visitor::visit)";
+void mmbuilder___ClassAncestorBuilder___visit(val_t p0, val_t p1);
+typedef void (*mmbuilder___ClassAncestorBuilder___visit_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ClassAncestorBuilder___init = "mmbuilder::ClassAncestorBuilder::init";
+void mmbuilder___ClassAncestorBuilder___init(val_t p0, val_t p1, val_t p2, int* init_table);
+typedef void (*mmbuilder___ClassAncestorBuilder___init_t)(val_t p0, val_t p1, val_t p2, int* init_table);
 val_t NEW_ClassAncestorBuilder_mmbuilder___ClassAncestorBuilder___init(val_t p0, val_t p1);
-typedef void (* mmbuilder___ClassVerifierVisitor___visit_t)(val_t  self, val_t  param0);
-void mmbuilder___ClassVerifierVisitor___visit(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ClassVerifierVisitor___visit "mmbuilder::ClassVerifierVisitor::(parser_prod::Visitor::visit)"
-typedef void (* mmbuilder___ClassVerifierVisitor___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void mmbuilder___ClassVerifierVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-#define LOCATE_mmbuilder___ClassVerifierVisitor___init "mmbuilder::ClassVerifierVisitor::init"
+static const char * const LOCATE_mmbuilder___ClassVerifierVisitor___visit = "mmbuilder::ClassVerifierVisitor::(parser_prod::Visitor::visit)";
+void mmbuilder___ClassVerifierVisitor___visit(val_t p0, val_t p1);
+typedef void (*mmbuilder___ClassVerifierVisitor___visit_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ClassVerifierVisitor___init = "mmbuilder::ClassVerifierVisitor::init";
+void mmbuilder___ClassVerifierVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table);
+typedef void (*mmbuilder___ClassVerifierVisitor___init_t)(val_t p0, val_t p1, val_t p2, int* init_table);
 val_t NEW_ClassVerifierVisitor_mmbuilder___ClassVerifierVisitor___init(val_t p0, val_t p1);
-typedef void (* mmbuilder___PropertyBuilderVisitor___visit_t)(val_t  self, val_t  param0);
-void mmbuilder___PropertyBuilderVisitor___visit(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PropertyBuilderVisitor___visit "mmbuilder::PropertyBuilderVisitor::(parser_prod::Visitor::visit)"
-typedef void (* mmbuilder___PropertyBuilderVisitor___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void mmbuilder___PropertyBuilderVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-#define LOCATE_mmbuilder___PropertyBuilderVisitor___init "mmbuilder::PropertyBuilderVisitor::init"
+static const char * const LOCATE_mmbuilder___PropertyBuilderVisitor___visit = "mmbuilder::PropertyBuilderVisitor::(parser_prod::Visitor::visit)";
+void mmbuilder___PropertyBuilderVisitor___visit(val_t p0, val_t p1);
+typedef void (*mmbuilder___PropertyBuilderVisitor___visit_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___PropertyBuilderVisitor___init = "mmbuilder::PropertyBuilderVisitor::init";
+void mmbuilder___PropertyBuilderVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table);
+typedef void (*mmbuilder___PropertyBuilderVisitor___init_t)(val_t p0, val_t p1, val_t p2, int* init_table);
 val_t NEW_PropertyBuilderVisitor_mmbuilder___PropertyBuilderVisitor___init(val_t p0, val_t p1);
-typedef void (* mmbuilder___PropertyVerifierVisitor___visit_t)(val_t  self, val_t  param0);
-void mmbuilder___PropertyVerifierVisitor___visit(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PropertyVerifierVisitor___visit "mmbuilder::PropertyVerifierVisitor::(parser_prod::Visitor::visit)"
-typedef val_t (* mmbuilder___PropertyVerifierVisitor___signature_builder_t)(val_t  self);
-val_t mmbuilder___PropertyVerifierVisitor___signature_builder(val_t  self);
-#define LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder "mmbuilder::PropertyVerifierVisitor::signature_builder"
-typedef void (* mmbuilder___PropertyVerifierVisitor___signature_builder__eq_t)(val_t  self, val_t  param0);
-void mmbuilder___PropertyVerifierVisitor___signature_builder__eq(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder__eq "mmbuilder::PropertyVerifierVisitor::signature_builder="
-typedef void (* mmbuilder___PropertyVerifierVisitor___init_t)(val_t  self, val_t  param0, val_t  param1, int* init_table);
-void mmbuilder___PropertyVerifierVisitor___init(val_t  self, val_t  param0, val_t  param1, int* init_table);
-#define LOCATE_mmbuilder___PropertyVerifierVisitor___init "mmbuilder::PropertyVerifierVisitor::init"
+static const char * const LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder = "mmbuilder::PropertyVerifierVisitor::signature_builder";
+val_t mmbuilder___PropertyVerifierVisitor___signature_builder(val_t p0);
+typedef val_t (*mmbuilder___PropertyVerifierVisitor___signature_builder_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder__eq = "mmbuilder::PropertyVerifierVisitor::signature_builder=";
+void mmbuilder___PropertyVerifierVisitor___signature_builder__eq(val_t p0, val_t p1);
+typedef void (*mmbuilder___PropertyVerifierVisitor___signature_builder__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___PropertyVerifierVisitor___visit = "mmbuilder::PropertyVerifierVisitor::(parser_prod::Visitor::visit)";
+void mmbuilder___PropertyVerifierVisitor___visit(val_t p0, val_t p1);
+typedef void (*mmbuilder___PropertyVerifierVisitor___visit_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___PropertyVerifierVisitor___init = "mmbuilder::PropertyVerifierVisitor::init";
+void mmbuilder___PropertyVerifierVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table);
+typedef void (*mmbuilder___PropertyVerifierVisitor___init_t)(val_t p0, val_t p1, val_t p2, int* init_table);
 val_t NEW_PropertyVerifierVisitor_mmbuilder___PropertyVerifierVisitor___init(val_t p0, val_t p1);
-typedef val_t (* mmbuilder___SignatureBuilder___params_t)(val_t  self);
-val_t mmbuilder___SignatureBuilder___params(val_t  self);
-#define LOCATE_mmbuilder___SignatureBuilder___params "mmbuilder::SignatureBuilder::params"
-typedef void (* mmbuilder___SignatureBuilder___params__eq_t)(val_t  self, val_t  param0);
-void mmbuilder___SignatureBuilder___params__eq(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___SignatureBuilder___params__eq "mmbuilder::SignatureBuilder::params="
-typedef val_t (* mmbuilder___SignatureBuilder___untyped_params_t)(val_t  self);
-val_t mmbuilder___SignatureBuilder___untyped_params(val_t  self);
-#define LOCATE_mmbuilder___SignatureBuilder___untyped_params "mmbuilder::SignatureBuilder::untyped_params"
-typedef void (* mmbuilder___SignatureBuilder___untyped_params__eq_t)(val_t  self, val_t  param0);
-void mmbuilder___SignatureBuilder___untyped_params__eq(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___SignatureBuilder___untyped_params__eq "mmbuilder::SignatureBuilder::untyped_params="
-typedef val_t (* mmbuilder___SignatureBuilder___vararg_rank_t)(val_t  self);
-val_t mmbuilder___SignatureBuilder___vararg_rank(val_t  self);
-#define LOCATE_mmbuilder___SignatureBuilder___vararg_rank "mmbuilder::SignatureBuilder::vararg_rank"
-typedef void (* mmbuilder___SignatureBuilder___vararg_rank__eq_t)(val_t  self, val_t  param0);
-void mmbuilder___SignatureBuilder___vararg_rank__eq(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___SignatureBuilder___vararg_rank__eq "mmbuilder::SignatureBuilder::vararg_rank="
-typedef val_t (* mmbuilder___SignatureBuilder___closure_decls_t)(val_t  self);
-val_t mmbuilder___SignatureBuilder___closure_decls(val_t  self);
-#define LOCATE_mmbuilder___SignatureBuilder___closure_decls "mmbuilder::SignatureBuilder::closure_decls"
-typedef void (* mmbuilder___SignatureBuilder___closure_decls__eq_t)(val_t  self, val_t  param0);
-void mmbuilder___SignatureBuilder___closure_decls__eq(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___SignatureBuilder___closure_decls__eq "mmbuilder::SignatureBuilder::closure_decls="
-typedef val_t (* mmbuilder___SignatureBuilder___signature_t)(val_t  self);
-val_t mmbuilder___SignatureBuilder___signature(val_t  self);
-#define LOCATE_mmbuilder___SignatureBuilder___signature "mmbuilder::SignatureBuilder::signature"
-typedef void (* mmbuilder___SignatureBuilder___signature__eq_t)(val_t  self, val_t  param0);
-void mmbuilder___SignatureBuilder___signature__eq(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___SignatureBuilder___signature__eq "mmbuilder::SignatureBuilder::signature="
-typedef void (* mmbuilder___SignatureBuilder___init_t)(val_t  self, int* init_table);
-void mmbuilder___SignatureBuilder___init(val_t  self, int* init_table);
-#define LOCATE_mmbuilder___SignatureBuilder___init "mmbuilder::SignatureBuilder::init"
+static const char * const LOCATE_mmbuilder___SignatureBuilder___params = "mmbuilder::SignatureBuilder::params";
+val_t mmbuilder___SignatureBuilder___params(val_t p0);
+typedef val_t (*mmbuilder___SignatureBuilder___params_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___SignatureBuilder___params__eq = "mmbuilder::SignatureBuilder::params=";
+void mmbuilder___SignatureBuilder___params__eq(val_t p0, val_t p1);
+typedef void (*mmbuilder___SignatureBuilder___params__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___SignatureBuilder___untyped_params = "mmbuilder::SignatureBuilder::untyped_params";
+val_t mmbuilder___SignatureBuilder___untyped_params(val_t p0);
+typedef val_t (*mmbuilder___SignatureBuilder___untyped_params_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___SignatureBuilder___untyped_params__eq = "mmbuilder::SignatureBuilder::untyped_params=";
+void mmbuilder___SignatureBuilder___untyped_params__eq(val_t p0, val_t p1);
+typedef void (*mmbuilder___SignatureBuilder___untyped_params__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___SignatureBuilder___vararg_rank = "mmbuilder::SignatureBuilder::vararg_rank";
+val_t mmbuilder___SignatureBuilder___vararg_rank(val_t p0);
+typedef val_t (*mmbuilder___SignatureBuilder___vararg_rank_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___SignatureBuilder___vararg_rank__eq = "mmbuilder::SignatureBuilder::vararg_rank=";
+void mmbuilder___SignatureBuilder___vararg_rank__eq(val_t p0, val_t p1);
+typedef void (*mmbuilder___SignatureBuilder___vararg_rank__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___SignatureBuilder___closure_decls = "mmbuilder::SignatureBuilder::closure_decls";
+val_t mmbuilder___SignatureBuilder___closure_decls(val_t p0);
+typedef val_t (*mmbuilder___SignatureBuilder___closure_decls_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___SignatureBuilder___closure_decls__eq = "mmbuilder::SignatureBuilder::closure_decls=";
+void mmbuilder___SignatureBuilder___closure_decls__eq(val_t p0, val_t p1);
+typedef void (*mmbuilder___SignatureBuilder___closure_decls__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___SignatureBuilder___has_error_occured = "mmbuilder::SignatureBuilder::has_error_occured";
+val_t mmbuilder___SignatureBuilder___has_error_occured(val_t p0);
+typedef val_t (*mmbuilder___SignatureBuilder___has_error_occured_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___SignatureBuilder___has_error_occured__eq = "mmbuilder::SignatureBuilder::has_error_occured=";
+void mmbuilder___SignatureBuilder___has_error_occured__eq(val_t p0, val_t p1);
+typedef void (*mmbuilder___SignatureBuilder___has_error_occured__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___SignatureBuilder___signature = "mmbuilder::SignatureBuilder::signature";
+val_t mmbuilder___SignatureBuilder___signature(val_t p0);
+typedef val_t (*mmbuilder___SignatureBuilder___signature_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___SignatureBuilder___signature__eq = "mmbuilder::SignatureBuilder::signature=";
+void mmbuilder___SignatureBuilder___signature__eq(val_t p0, val_t p1);
+typedef void (*mmbuilder___SignatureBuilder___signature__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___SignatureBuilder___init = "mmbuilder::SignatureBuilder::init";
+void mmbuilder___SignatureBuilder___init(val_t p0, int* init_table);
+typedef void (*mmbuilder___SignatureBuilder___init_t)(val_t p0, int* init_table);
 val_t NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init();
-val_t NEW_PNode_parser_nodes___PNode___init();
-typedef void (* mmbuilder___PNode___accept_class_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___PNode___accept_class_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PNode___accept_class_builder "mmbuilder::PNode::accept_class_builder"
-typedef void (* mmbuilder___PNode___accept_class_specialization_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___PNode___accept_class_specialization_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PNode___accept_class_specialization_builder "mmbuilder::PNode::accept_class_specialization_builder"
-typedef void (* mmbuilder___PNode___accept_class_ancestor_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___PNode___accept_class_ancestor_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PNode___accept_class_ancestor_builder "mmbuilder::PNode::accept_class_ancestor_builder"
-typedef void (* mmbuilder___PNode___accept_class_verifier_t)(val_t  self, val_t  param0);
-void mmbuilder___PNode___accept_class_verifier(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PNode___accept_class_verifier "mmbuilder::PNode::accept_class_verifier"
-typedef void (* mmbuilder___PNode___accept_property_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___PNode___accept_property_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PNode___accept_property_builder "mmbuilder::PNode::accept_property_builder"
-typedef void (* mmbuilder___PNode___accept_property_verifier_t)(val_t  self, val_t  param0);
-void mmbuilder___PNode___accept_property_verifier(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PNode___accept_property_verifier "mmbuilder::PNode::accept_property_verifier"
-val_t NEW_AModule_parser_nodes___PNode___init();
+static const char * const LOCATE_mmbuilder___ANode___accept_class_builder = "mmbuilder::ANode::accept_class_builder";
+void mmbuilder___ANode___accept_class_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___ANode___accept_class_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ANode___accept_class_specialization_builder = "mmbuilder::ANode::accept_class_specialization_builder";
+void mmbuilder___ANode___accept_class_specialization_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___ANode___accept_class_specialization_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ANode___accept_class_ancestor_builder = "mmbuilder::ANode::accept_class_ancestor_builder";
+void mmbuilder___ANode___accept_class_ancestor_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___ANode___accept_class_ancestor_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ANode___accept_class_verifier = "mmbuilder::ANode::accept_class_verifier";
+void mmbuilder___ANode___accept_class_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___ANode___accept_class_verifier_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ANode___accept_property_builder = "mmbuilder::ANode::accept_property_builder";
+void mmbuilder___ANode___accept_property_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___ANode___accept_property_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ANode___accept_property_verifier = "mmbuilder::ANode::accept_property_verifier";
+void mmbuilder___ANode___accept_property_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___ANode___accept_property_verifier_t)(val_t p0, val_t p1);
+val_t NEW_ANode_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AModule___import_super_modules = "mmbuilder::AModule::import_super_modules";
+void mmbuilder___AModule___import_super_modules(val_t p0, val_t p1, val_t p2);
+typedef void (*mmbuilder___AModule___import_super_modules_t)(val_t p0, val_t p1, val_t p2);
+  typedef void (*CLOS_OC_mmbuilder___AModule___import_super_modules_1_0)(struct stack_frame_t *);
+  void OC_mmbuilder___AModule___import_super_modules_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*OC_mmbuilder___AModule___import_super_modules_1_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
 val_t NEW_AModule_parser_prod___AModule___empty_init();
 val_t NEW_AModule_parser_prod___AModule___init_amodule(val_t p0, val_t p1, val_t p2);
-typedef void (* mmbuilder___AModule___import_super_modules_t)(val_t  self, val_t  param0, val_t  param1);
-void mmbuilder___AModule___import_super_modules(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_mmbuilder___AModule___import_super_modules "mmbuilder::AModule::import_super_modules"
-val_t NEW_APackagedecl_parser_nodes___PNode___init();
-val_t NEW_APackagedecl_parser_prod___APackagedecl___empty_init();
-val_t NEW_APackagedecl_parser_prod___APackagedecl___init_apackagedecl(val_t p0, val_t p1, val_t p2);
-typedef void (* mmbuilder___APackagedecl___accept_class_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___APackagedecl___accept_class_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___APackagedecl___accept_class_builder "mmbuilder::APackagedecl::(mmbuilder::PNode::accept_class_builder)"
-val_t NEW_PImport_parser_nodes___PNode___init();
-typedef val_t (* mmbuilder___PImport___module_name_t)(val_t  self);
-val_t mmbuilder___PImport___module_name(val_t  self);
-#define LOCATE_mmbuilder___PImport___module_name "mmbuilder::PImport::module_name"
-typedef val_t (* mmbuilder___PImport___visibility_level_t)(val_t  self);
-val_t mmbuilder___PImport___visibility_level(val_t  self);
-#define LOCATE_mmbuilder___PImport___visibility_level "mmbuilder::PImport::visibility_level"
-val_t NEW_AImport_parser_nodes___PNode___init();
-val_t NEW_AImport_parser_prod___AImport___empty_init();
-val_t NEW_AImport_parser_prod___AImport___init_aimport(val_t p0, val_t p1, val_t p2);
-typedef val_t (* mmbuilder___AImport___module_name_t)(val_t  self);
-val_t mmbuilder___AImport___module_name(val_t  self);
-#define LOCATE_mmbuilder___AImport___module_name "mmbuilder::AImport::(mmbuilder::PImport::module_name)"
-typedef val_t (* mmbuilder___AImport___visibility_level_t)(val_t  self);
-val_t mmbuilder___AImport___visibility_level(val_t  self);
-#define LOCATE_mmbuilder___AImport___visibility_level "mmbuilder::AImport::(mmbuilder::PImport::visibility_level)"
-val_t NEW_ANoImport_parser_nodes___PNode___init();
+val_t NEW_AModule_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AModuledecl___accept_class_builder = "mmbuilder::AModuledecl::(mmbuilder::ANode::accept_class_builder)";
+void mmbuilder___AModuledecl___accept_class_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___AModuledecl___accept_class_builder_t)(val_t p0, val_t p1);
+val_t NEW_AModuledecl_parser_prod___AModuledecl___empty_init();
+val_t NEW_AModuledecl_parser_prod___AModuledecl___init_amoduledecl(val_t p0, val_t p1, val_t p2);
+val_t NEW_AModuledecl_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AImport___module_name = "mmbuilder::AImport::module_name";
+val_t mmbuilder___AImport___module_name(val_t p0);
+typedef val_t (*mmbuilder___AImport___module_name_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AImport___visibility_level = "mmbuilder::AImport::visibility_level";
+val_t mmbuilder___AImport___visibility_level(val_t p0);
+typedef val_t (*mmbuilder___AImport___visibility_level_t)(val_t p0);
+val_t NEW_AImport_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AStdImport___module_name = "mmbuilder::AStdImport::(mmbuilder::AImport::module_name)";
+val_t mmbuilder___AStdImport___module_name(val_t p0);
+typedef val_t (*mmbuilder___AStdImport___module_name_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AStdImport___visibility_level = "mmbuilder::AStdImport::(mmbuilder::AImport::visibility_level)";
+val_t mmbuilder___AStdImport___visibility_level(val_t p0);
+typedef val_t (*mmbuilder___AStdImport___visibility_level_t)(val_t p0);
+val_t NEW_AStdImport_parser_prod___AStdImport___empty_init();
+val_t NEW_AStdImport_parser_prod___AStdImport___init_astdimport(val_t p0, val_t p1, val_t p2);
+val_t NEW_AStdImport_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___ANoImport___module_name = "mmbuilder::ANoImport::(mmbuilder::AImport::module_name)";
+val_t mmbuilder___ANoImport___module_name(val_t p0);
+typedef val_t (*mmbuilder___ANoImport___module_name_t)(val_t p0);
 val_t NEW_ANoImport_parser_prod___ANoImport___empty_init();
 val_t NEW_ANoImport_parser_prod___ANoImport___init_anoimport(val_t p0, val_t p1, val_t p2);
-typedef val_t (* mmbuilder___ANoImport___module_name_t)(val_t  self);
-val_t mmbuilder___ANoImport___module_name(val_t  self);
-#define LOCATE_mmbuilder___ANoImport___module_name "mmbuilder::ANoImport::(mmbuilder::PImport::module_name)"
-val_t NEW_PVisibility_parser_nodes___PNode___init();
-typedef val_t (* mmbuilder___PVisibility___level_t)(val_t  self);
-val_t mmbuilder___PVisibility___level(val_t  self);
-#define LOCATE_mmbuilder___PVisibility___level "mmbuilder::PVisibility::level"
-val_t NEW_APublicVisibility_parser_nodes___PNode___init();
+val_t NEW_ANoImport_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AVisibility___level = "mmbuilder::AVisibility::level";
+val_t mmbuilder___AVisibility___level(val_t p0);
+typedef val_t (*mmbuilder___AVisibility___level_t)(val_t p0);
+val_t NEW_AVisibility_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___APublicVisibility___level = "mmbuilder::APublicVisibility::(mmbuilder::AVisibility::level)";
+val_t mmbuilder___APublicVisibility___level(val_t p0);
+typedef val_t (*mmbuilder___APublicVisibility___level_t)(val_t p0);
 val_t NEW_APublicVisibility_parser_prod___APublicVisibility___empty_init();
 val_t NEW_APublicVisibility_parser_prod___APublicVisibility___init_apublicvisibility();
-typedef val_t (* mmbuilder___APublicVisibility___level_t)(val_t  self);
-val_t mmbuilder___APublicVisibility___level(val_t  self);
-#define LOCATE_mmbuilder___APublicVisibility___level "mmbuilder::APublicVisibility::(mmbuilder::PVisibility::level)"
-val_t NEW_AProtectedVisibility_parser_nodes___PNode___init();
+val_t NEW_APublicVisibility_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AProtectedVisibility___level = "mmbuilder::AProtectedVisibility::(mmbuilder::AVisibility::level)";
+val_t mmbuilder___AProtectedVisibility___level(val_t p0);
+typedef val_t (*mmbuilder___AProtectedVisibility___level_t)(val_t p0);
 val_t NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___empty_init();
 val_t NEW_AProtectedVisibility_parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t p0);
-typedef val_t (* mmbuilder___AProtectedVisibility___level_t)(val_t  self);
-val_t mmbuilder___AProtectedVisibility___level(val_t  self);
-#define LOCATE_mmbuilder___AProtectedVisibility___level "mmbuilder::AProtectedVisibility::(mmbuilder::PVisibility::level)"
-val_t NEW_APrivateVisibility_parser_nodes___PNode___init();
+val_t NEW_AProtectedVisibility_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___APrivateVisibility___level = "mmbuilder::APrivateVisibility::(mmbuilder::AVisibility::level)";
+val_t mmbuilder___APrivateVisibility___level(val_t p0);
+typedef val_t (*mmbuilder___APrivateVisibility___level_t)(val_t p0);
 val_t NEW_APrivateVisibility_parser_prod___APrivateVisibility___empty_init();
 val_t NEW_APrivateVisibility_parser_prod___APrivateVisibility___init_aprivatevisibility(val_t p0);
-typedef val_t (* mmbuilder___APrivateVisibility___level_t)(val_t  self);
-val_t mmbuilder___APrivateVisibility___level(val_t  self);
-#define LOCATE_mmbuilder___APrivateVisibility___level "mmbuilder::APrivateVisibility::(mmbuilder::PVisibility::level)"
-val_t NEW_AIntrudeVisibility_parser_nodes___PNode___init();
+val_t NEW_APrivateVisibility_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AIntrudeVisibility___level = "mmbuilder::AIntrudeVisibility::(mmbuilder::AVisibility::level)";
+val_t mmbuilder___AIntrudeVisibility___level(val_t p0);
+typedef val_t (*mmbuilder___AIntrudeVisibility___level_t)(val_t p0);
 val_t NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___empty_init();
 val_t NEW_AIntrudeVisibility_parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t p0);
-typedef val_t (* mmbuilder___AIntrudeVisibility___level_t)(val_t  self);
-val_t mmbuilder___AIntrudeVisibility___level(val_t  self);
-#define LOCATE_mmbuilder___AIntrudeVisibility___level "mmbuilder::AIntrudeVisibility::(mmbuilder::PVisibility::level)"
-val_t NEW_PClassdef_parser_nodes___PNode___init();
-typedef void (* mmbuilder___PClassdef___accept_abs_syntax_visitor_t)(val_t  self, val_t  param0);
-void mmbuilder___PClassdef___accept_abs_syntax_visitor(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PClassdef___accept_abs_syntax_visitor "mmbuilder::PClassdef::(syntax_base::PNode::accept_abs_syntax_visitor)"
-typedef val_t (* mmbuilder___PClassdef___local_class_t)(val_t  self);
-val_t mmbuilder___PClassdef___local_class(val_t  self);
-#define LOCATE_mmbuilder___PClassdef___local_class "mmbuilder::PClassdef::(syntax_base::PClassdef::local_class)"
-typedef void (* mmbuilder___PClassdef___accept_class_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___PClassdef___accept_class_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PClassdef___accept_class_builder "mmbuilder::PClassdef::(mmbuilder::PNode::accept_class_builder)"
-typedef val_t (* mmbuilder___PClassdef___name_t)(val_t  self);
-val_t mmbuilder___PClassdef___name(val_t  self);
-#define LOCATE_mmbuilder___PClassdef___name "mmbuilder::PClassdef::name"
-typedef val_t (* mmbuilder___PClassdef___arity_t)(val_t  self);
-val_t mmbuilder___PClassdef___arity(val_t  self);
-#define LOCATE_mmbuilder___PClassdef___arity "mmbuilder::PClassdef::arity"
-typedef val_t (* mmbuilder___PClassdef___visibility_level_t)(val_t  self);
-val_t mmbuilder___PClassdef___visibility_level(val_t  self);
-#define LOCATE_mmbuilder___PClassdef___visibility_level "mmbuilder::PClassdef::visibility_level"
-val_t NEW_PClasskind_parser_nodes___PNode___init();
-typedef val_t (* mmbuilder___PClasskind___is_interface_t)(val_t  self);
-val_t mmbuilder___PClasskind___is_interface(val_t  self);
-#define LOCATE_mmbuilder___PClasskind___is_interface "mmbuilder::PClasskind::is_interface"
-typedef val_t (* mmbuilder___PClasskind___is_universal_t)(val_t  self);
-val_t mmbuilder___PClasskind___is_universal(val_t  self);
-#define LOCATE_mmbuilder___PClasskind___is_universal "mmbuilder::PClasskind::is_universal"
-typedef val_t (* mmbuilder___PClasskind___is_abstract_t)(val_t  self);
-val_t mmbuilder___PClasskind___is_abstract(val_t  self);
-#define LOCATE_mmbuilder___PClasskind___is_abstract "mmbuilder::PClasskind::is_abstract"
-val_t NEW_AInterfaceClasskind_parser_nodes___PNode___init();
+val_t NEW_AIntrudeVisibility_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AClassdef___local_class = "mmbuilder::AClassdef::(syntax_base::AClassdef::local_class)";
+val_t mmbuilder___AClassdef___local_class(val_t p0);
+typedef val_t (*mmbuilder___AClassdef___local_class_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AClassdef___name = "mmbuilder::AClassdef::name";
+val_t mmbuilder___AClassdef___name(val_t p0);
+typedef val_t (*mmbuilder___AClassdef___name_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AClassdef___arity = "mmbuilder::AClassdef::arity";
+val_t mmbuilder___AClassdef___arity(val_t p0);
+typedef val_t (*mmbuilder___AClassdef___arity_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AClassdef___visibility_level = "mmbuilder::AClassdef::visibility_level";
+val_t mmbuilder___AClassdef___visibility_level(val_t p0);
+typedef val_t (*mmbuilder___AClassdef___visibility_level_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AClassdef___accept_class_builder = "mmbuilder::AClassdef::(mmbuilder::ANode::accept_class_builder)";
+void mmbuilder___AClassdef___accept_class_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___AClassdef___accept_class_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___AClassdef___accept_abs_syntax_visitor = "mmbuilder::AClassdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
+void mmbuilder___AClassdef___accept_abs_syntax_visitor(val_t p0, val_t p1);
+typedef void (*mmbuilder___AClassdef___accept_abs_syntax_visitor_t)(val_t p0, val_t p1);
+val_t NEW_AClassdef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AClasskind___is_interface = "mmbuilder::AClasskind::is_interface";
+val_t mmbuilder___AClasskind___is_interface(val_t p0);
+typedef val_t (*mmbuilder___AClasskind___is_interface_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AClasskind___is_enum = "mmbuilder::AClasskind::is_enum";
+val_t mmbuilder___AClasskind___is_enum(val_t p0);
+typedef val_t (*mmbuilder___AClasskind___is_enum_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AClasskind___is_abstract = "mmbuilder::AClasskind::is_abstract";
+val_t mmbuilder___AClasskind___is_abstract(val_t p0);
+typedef val_t (*mmbuilder___AClasskind___is_abstract_t)(val_t p0);
+val_t NEW_AClasskind_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AInterfaceClasskind___is_interface = "mmbuilder::AInterfaceClasskind::(mmbuilder::AClasskind::is_interface)";
+val_t mmbuilder___AInterfaceClasskind___is_interface(val_t p0);
+typedef val_t (*mmbuilder___AInterfaceClasskind___is_interface_t)(val_t p0);
 val_t NEW_AInterfaceClasskind_parser_prod___AInterfaceClasskind___empty_init();
 val_t NEW_AInterfaceClasskind_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t p0);
-typedef val_t (* mmbuilder___AInterfaceClasskind___is_interface_t)(val_t  self);
-val_t mmbuilder___AInterfaceClasskind___is_interface(val_t  self);
-#define LOCATE_mmbuilder___AInterfaceClasskind___is_interface "mmbuilder::AInterfaceClasskind::(mmbuilder::PClasskind::is_interface)"
-val_t NEW_AUniversalClasskind_parser_nodes___PNode___init();
-val_t NEW_AUniversalClasskind_parser_prod___AUniversalClasskind___empty_init();
-val_t NEW_AUniversalClasskind_parser_prod___AUniversalClasskind___init_auniversalclasskind(val_t p0);
-typedef val_t (* mmbuilder___AUniversalClasskind___is_universal_t)(val_t  self);
-val_t mmbuilder___AUniversalClasskind___is_universal(val_t  self);
-#define LOCATE_mmbuilder___AUniversalClasskind___is_universal "mmbuilder::AUniversalClasskind::(mmbuilder::PClasskind::is_universal)"
-val_t NEW_AAbstractClasskind_parser_nodes___PNode___init();
+val_t NEW_AInterfaceClasskind_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AEnumClasskind___is_enum = "mmbuilder::AEnumClasskind::(mmbuilder::AClasskind::is_enum)";
+val_t mmbuilder___AEnumClasskind___is_enum(val_t p0);
+typedef val_t (*mmbuilder___AEnumClasskind___is_enum_t)(val_t p0);
+val_t NEW_AEnumClasskind_parser_prod___AEnumClasskind___empty_init();
+val_t NEW_AEnumClasskind_parser_prod___AEnumClasskind___init_aenumclasskind(val_t p0);
+val_t NEW_AEnumClasskind_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AAbstractClasskind___is_abstract = "mmbuilder::AAbstractClasskind::(mmbuilder::AClasskind::is_abstract)";
+val_t mmbuilder___AAbstractClasskind___is_abstract(val_t p0);
+typedef val_t (*mmbuilder___AAbstractClasskind___is_abstract_t)(val_t p0);
 val_t NEW_AAbstractClasskind_parser_prod___AAbstractClasskind___empty_init();
 val_t NEW_AAbstractClasskind_parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t p0, val_t p1);
-typedef val_t (* mmbuilder___AAbstractClasskind___is_abstract_t)(val_t  self);
-val_t mmbuilder___AAbstractClasskind___is_abstract(val_t  self);
-#define LOCATE_mmbuilder___AAbstractClasskind___is_abstract "mmbuilder::AAbstractClasskind::(mmbuilder::PClasskind::is_abstract)"
-val_t NEW_AClassdef_parser_nodes___PNode___init();
-val_t NEW_AClassdef_parser_prod___AClassdef___empty_init();
-val_t NEW_AClassdef_parser_prod___AClassdef___init_aclassdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7);
-typedef void (* mmbuilder___AClassdef___accept_class_verifier_t)(val_t  self, val_t  param0);
-void mmbuilder___AClassdef___accept_class_verifier(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___AClassdef___accept_class_verifier "mmbuilder::AClassdef::(mmbuilder::PNode::accept_class_verifier)"
-typedef val_t (* mmbuilder___AClassdef___name_t)(val_t  self);
-val_t mmbuilder___AClassdef___name(val_t  self);
-#define LOCATE_mmbuilder___AClassdef___name "mmbuilder::AClassdef::(mmbuilder::PClassdef::name)"
-typedef val_t (* mmbuilder___AClassdef___arity_t)(val_t  self);
-val_t mmbuilder___AClassdef___arity(val_t  self);
-#define LOCATE_mmbuilder___AClassdef___arity "mmbuilder::AClassdef::(mmbuilder::PClassdef::arity)"
-typedef val_t (* mmbuilder___AClassdef___visibility_level_t)(val_t  self);
-val_t mmbuilder___AClassdef___visibility_level(val_t  self);
-#define LOCATE_mmbuilder___AClassdef___visibility_level "mmbuilder::AClassdef::(mmbuilder::PClassdef::visibility_level)"
-val_t NEW_AMainClassdef_parser_nodes___PNode___init();
+val_t NEW_AAbstractClasskind_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AStdClassdef___name = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::name)";
+val_t mmbuilder___AStdClassdef___name(val_t p0);
+typedef val_t (*mmbuilder___AStdClassdef___name_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AStdClassdef___arity = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::arity)";
+val_t mmbuilder___AStdClassdef___arity(val_t p0);
+typedef val_t (*mmbuilder___AStdClassdef___arity_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AStdClassdef___accept_class_verifier = "mmbuilder::AStdClassdef::(mmbuilder::ANode::accept_class_verifier)";
+void mmbuilder___AStdClassdef___accept_class_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___AStdClassdef___accept_class_verifier_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___AStdClassdef___visibility_level = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::visibility_level)";
+val_t mmbuilder___AStdClassdef___visibility_level(val_t p0);
+typedef val_t (*mmbuilder___AStdClassdef___visibility_level_t)(val_t p0);
+val_t NEW_AStdClassdef_parser_prod___AStdClassdef___empty_init();
+val_t NEW_AStdClassdef_parser_prod___AStdClassdef___init_astdclassdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7);
+val_t NEW_AStdClassdef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AMainClassdef___name = "mmbuilder::AMainClassdef::(mmbuilder::AClassdef::name)";
+val_t mmbuilder___AMainClassdef___name(val_t p0);
+typedef val_t (*mmbuilder___AMainClassdef___name_t)(val_t p0);
 val_t NEW_AMainClassdef_parser_prod___AMainClassdef___empty_init();
 val_t NEW_AMainClassdef_parser_prod___AMainClassdef___init_amainclassdef(val_t p0);
-typedef val_t (* mmbuilder___AMainClassdef___name_t)(val_t  self);
-val_t mmbuilder___AMainClassdef___name(val_t  self);
-#define LOCATE_mmbuilder___AMainClassdef___name "mmbuilder::AMainClassdef::(mmbuilder::PClassdef::name)"
-val_t NEW_ATopClassdef_parser_nodes___PNode___init();
+val_t NEW_AMainClassdef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___ATopClassdef___name = "mmbuilder::ATopClassdef::(mmbuilder::AClassdef::name)";
+val_t mmbuilder___ATopClassdef___name(val_t p0);
+typedef val_t (*mmbuilder___ATopClassdef___name_t)(val_t p0);
 val_t NEW_ATopClassdef_parser_prod___ATopClassdef___empty_init();
 val_t NEW_ATopClassdef_parser_prod___ATopClassdef___init_atopclassdef(val_t p0);
-typedef val_t (* mmbuilder___ATopClassdef___name_t)(val_t  self);
-val_t mmbuilder___ATopClassdef___name(val_t  self);
-#define LOCATE_mmbuilder___ATopClassdef___name "mmbuilder::ATopClassdef::(mmbuilder::PClassdef::name)"
-typedef val_t (* mmbuilder___MMSrcTypeFormalParameter___node_t)(val_t  self);
-val_t mmbuilder___MMSrcTypeFormalParameter___node(val_t  self);
-#define LOCATE_mmbuilder___MMSrcTypeFormalParameter___node "mmbuilder::MMSrcTypeFormalParameter::node"
-typedef void (* mmbuilder___MMSrcTypeFormalParameter___init_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-void mmbuilder___MMSrcTypeFormalParameter___init(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3, int* init_table);
-#define LOCATE_mmbuilder___MMSrcTypeFormalParameter___init "mmbuilder::MMSrcTypeFormalParameter::init"
-val_t NEW_MMSrcTypeFormalParameter_mmbuilder___MMSrcTypeFormalParameter___init(val_t p0, val_t p1, val_t p2, val_t p3);
-val_t NEW_AFormaldef_parser_nodes___PNode___init();
+val_t NEW_ATopClassdef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AFormaldef___accept_class_builder = "mmbuilder::AFormaldef::(mmbuilder::ANode::accept_class_builder)";
+void mmbuilder___AFormaldef___accept_class_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___AFormaldef___accept_class_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___AFormaldef___accept_class_verifier = "mmbuilder::AFormaldef::(mmbuilder::ANode::accept_class_verifier)";
+void mmbuilder___AFormaldef___accept_class_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___AFormaldef___accept_class_verifier_t)(val_t p0, val_t p1);
 val_t NEW_AFormaldef_parser_prod___AFormaldef___empty_init();
 val_t NEW_AFormaldef_parser_prod___AFormaldef___init_aformaldef(val_t p0, val_t p1);
-typedef void (* mmbuilder___AFormaldef___accept_class_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___AFormaldef___accept_class_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___AFormaldef___accept_class_builder "mmbuilder::AFormaldef::(mmbuilder::PNode::accept_class_builder)"
-typedef void (* mmbuilder___AFormaldef___accept_class_verifier_t)(val_t  self, val_t  param0);
-void mmbuilder___AFormaldef___accept_class_verifier(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___AFormaldef___accept_class_verifier "mmbuilder::AFormaldef::(mmbuilder::PNode::accept_class_verifier)"
-val_t NEW_ASuperclass_parser_nodes___PNode___init();
+val_t NEW_AFormaldef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___ASuperclass___ancestor = "mmbuilder::ASuperclass::ancestor";
+val_t mmbuilder___ASuperclass___ancestor(val_t p0);
+typedef val_t (*mmbuilder___ASuperclass___ancestor_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder = "mmbuilder::ASuperclass::(mmbuilder::ANode::accept_class_specialization_builder)";
+void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___ASuperclass___accept_class_specialization_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder = "mmbuilder::ASuperclass::(mmbuilder::ANode::accept_class_ancestor_builder)";
+void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___ASuperclass___accept_class_ancestor_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ASuperclass___accept_class_verifier = "mmbuilder::ASuperclass::(mmbuilder::ANode::accept_class_verifier)";
+void mmbuilder___ASuperclass___accept_class_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___ASuperclass___accept_class_verifier_t)(val_t p0, val_t p1);
 val_t NEW_ASuperclass_parser_prod___ASuperclass___empty_init();
-val_t NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass(val_t p0, val_t p1);
-typedef void (* mmbuilder___ASuperclass___accept_class_specialization_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder "mmbuilder::ASuperclass::(mmbuilder::PNode::accept_class_specialization_builder)"
-typedef void (* mmbuilder___ASuperclass___accept_class_ancestor_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder "mmbuilder::ASuperclass::(mmbuilder::PNode::accept_class_ancestor_builder)"
-typedef void (* mmbuilder___ASuperclass___accept_class_verifier_t)(val_t  self, val_t  param0);
-void mmbuilder___ASuperclass___accept_class_verifier(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ASuperclass___accept_class_verifier "mmbuilder::ASuperclass::(mmbuilder::PNode::accept_class_verifier)"
-typedef val_t (* mmbuilder___ASuperclass___ancestor_t)(val_t  self);
-val_t mmbuilder___ASuperclass___ancestor(val_t  self);
-#define LOCATE_mmbuilder___ASuperclass___ancestor "mmbuilder::ASuperclass::ancestor"
-val_t NEW_PPropdef_parser_nodes___PNode___init();
-typedef void (* mmbuilder___PPropdef___process_and_check_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-void mmbuilder___PPropdef___process_and_check(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_mmbuilder___PPropdef___process_and_check "mmbuilder::PPropdef::process_and_check"
-typedef void (* mmbuilder___PPropdef___do_and_check_intro_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-void mmbuilder___PPropdef___do_and_check_intro(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_mmbuilder___PPropdef___do_and_check_intro "mmbuilder::PPropdef::do_and_check_intro"
-typedef void (* mmbuilder___PPropdef___inherit_signature_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2);
-void mmbuilder___PPropdef___inherit_signature(val_t  self, val_t  param0, val_t  param1, val_t  param2);
-#define LOCATE_mmbuilder___PPropdef___inherit_signature "mmbuilder::PPropdef::inherit_signature"
-typedef void (* mmbuilder___PPropdef___do_and_check_redef_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-void mmbuilder___PPropdef___do_and_check_redef(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_mmbuilder___PPropdef___do_and_check_redef "mmbuilder::PPropdef::do_and_check_redef"
-val_t NEW_AAttrPropdef_parser_nodes___PNode___init();
+val_t NEW_ASuperclass_parser_prod___ASuperclass___init_asuperclass(val_t p0, val_t p1, val_t p2);
+val_t NEW_ASuperclass_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___APropdef___process_and_check = "mmbuilder::APropdef::process_and_check";
+void mmbuilder___APropdef___process_and_check(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+typedef void (*mmbuilder___APropdef___process_and_check_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+static const char * const LOCATE_mmbuilder___APropdef___do_and_check_intro = "mmbuilder::APropdef::do_and_check_intro";
+void mmbuilder___APropdef___do_and_check_intro(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+typedef void (*mmbuilder___APropdef___do_and_check_intro_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+static const char * const LOCATE_mmbuilder___APropdef___inherit_signature = "mmbuilder::APropdef::inherit_signature";
+void mmbuilder___APropdef___inherit_signature(val_t p0, val_t p1, val_t p2, val_t p3);
+typedef void (*mmbuilder___APropdef___inherit_signature_t)(val_t p0, val_t p1, val_t p2, val_t p3);
+static const char * const LOCATE_mmbuilder___APropdef___do_and_check_redef = "mmbuilder::APropdef::do_and_check_redef";
+void mmbuilder___APropdef___do_and_check_redef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+typedef void (*mmbuilder___APropdef___do_and_check_redef_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_APropdef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AAttrPropdef___readmethod = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::readmethod)";
+val_t mmbuilder___AAttrPropdef___readmethod(val_t p0);
+typedef val_t (*mmbuilder___AAttrPropdef___readmethod_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AAttrPropdef___writemethod = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::writemethod)";
+val_t mmbuilder___AAttrPropdef___writemethod(val_t p0);
+typedef val_t (*mmbuilder___AAttrPropdef___writemethod_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AAttrPropdef___prop = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::prop)";
+val_t mmbuilder___AAttrPropdef___prop(val_t p0);
+typedef val_t (*mmbuilder___AAttrPropdef___prop_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AAttrPropdef___accept_property_builder = "mmbuilder::AAttrPropdef::(mmbuilder::ANode::accept_property_builder)";
+void mmbuilder___AAttrPropdef___accept_property_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___AAttrPropdef___accept_property_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier = "mmbuilder::AAttrPropdef::(mmbuilder::ANode::accept_property_verifier)";
+void mmbuilder___AAttrPropdef___accept_property_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___AAttrPropdef___accept_property_verifier_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor = "mmbuilder::AAttrPropdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
+void mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t p0, val_t p1);
+typedef void (*mmbuilder___AAttrPropdef___accept_abs_syntax_visitor_t)(val_t p0, val_t p1);
 val_t NEW_AAttrPropdef_parser_prod___AAttrPropdef___empty_init();
-val_t NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7, val_t p8);
-typedef void (* mmbuilder___AAttrPropdef___accept_abs_syntax_visitor_t)(val_t  self, val_t  param0);
-void mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor "mmbuilder::AAttrPropdef::(syntax_base::PNode::accept_abs_syntax_visitor)"
-typedef val_t (* mmbuilder___AAttrPropdef___prop_t)(val_t  self);
-val_t mmbuilder___AAttrPropdef___prop(val_t  self);
-#define LOCATE_mmbuilder___AAttrPropdef___prop "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::prop)"
-typedef val_t (* mmbuilder___AAttrPropdef___readmethod_t)(val_t  self);
-val_t mmbuilder___AAttrPropdef___readmethod(val_t  self);
-#define LOCATE_mmbuilder___AAttrPropdef___readmethod "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::readmethod)"
-typedef val_t (* mmbuilder___AAttrPropdef___writemethod_t)(val_t  self);
-val_t mmbuilder___AAttrPropdef___writemethod(val_t  self);
-#define LOCATE_mmbuilder___AAttrPropdef___writemethod "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::writemethod)"
-typedef void (* mmbuilder___AAttrPropdef___accept_property_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___AAttrPropdef___accept_property_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___AAttrPropdef___accept_property_builder "mmbuilder::AAttrPropdef::(mmbuilder::PNode::accept_property_builder)"
-typedef void (* mmbuilder___AAttrPropdef___accept_property_verifier_t)(val_t  self, val_t  param0);
-void mmbuilder___AAttrPropdef___accept_property_verifier(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier "mmbuilder::AAttrPropdef::(mmbuilder::PNode::accept_property_verifier)"
-val_t NEW_AMethPropdef_parser_nodes___PNode___init();
+val_t NEW_AAttrPropdef_parser_prod___AAttrPropdef___init_aattrpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7, val_t p8, val_t p9);
+val_t NEW_AAttrPropdef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AMethPropdef___name = "mmbuilder::AMethPropdef::name";
+val_t mmbuilder___AMethPropdef___name(val_t p0);
+typedef val_t (*mmbuilder___AMethPropdef___name_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AMethPropdef___method = "mmbuilder::AMethPropdef::(syntax_base::AMethPropdef::method)";
+val_t mmbuilder___AMethPropdef___method(val_t p0);
+typedef val_t (*mmbuilder___AMethPropdef___method_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AMethPropdef___accept_property_builder = "mmbuilder::AMethPropdef::(mmbuilder::ANode::accept_property_builder)";
+void mmbuilder___AMethPropdef___accept_property_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___AMethPropdef___accept_property_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___AMethPropdef___accept_property_verifier = "mmbuilder::AMethPropdef::(mmbuilder::ANode::accept_property_verifier)";
+void mmbuilder___AMethPropdef___accept_property_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___AMethPropdef___accept_property_verifier_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor = "mmbuilder::AMethPropdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
+void mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t p0, val_t p1);
+typedef void (*mmbuilder___AMethPropdef___accept_abs_syntax_visitor_t)(val_t p0, val_t p1);
 val_t NEW_AMethPropdef_parser_prod___AMethPropdef___empty_init();
 val_t NEW_AMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-typedef void (* mmbuilder___AMethPropdef___accept_abs_syntax_visitor_t)(val_t  self, val_t  param0);
-void mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor "mmbuilder::AMethPropdef::(syntax_base::PNode::accept_abs_syntax_visitor)"
-typedef val_t (* mmbuilder___AMethPropdef___method_t)(val_t  self);
-val_t mmbuilder___AMethPropdef___method(val_t  self);
-#define LOCATE_mmbuilder___AMethPropdef___method "mmbuilder::AMethPropdef::(syntax_base::AMethPropdef::method)"
-typedef void (* mmbuilder___AMethPropdef___accept_property_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___AMethPropdef___accept_property_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___AMethPropdef___accept_property_builder "mmbuilder::AMethPropdef::(mmbuilder::PNode::accept_property_builder)"
-typedef void (* mmbuilder___AMethPropdef___accept_property_verifier_t)(val_t  self, val_t  param0);
-void mmbuilder___AMethPropdef___accept_property_verifier(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___AMethPropdef___accept_property_verifier "mmbuilder::AMethPropdef::(mmbuilder::PNode::accept_property_verifier)"
-typedef val_t (* mmbuilder___AMethPropdef___name_t)(val_t  self);
-val_t mmbuilder___AMethPropdef___name(val_t  self);
-#define LOCATE_mmbuilder___AMethPropdef___name "mmbuilder::AMethPropdef::name"
-val_t NEW_AMainMethPropdef_parser_nodes___PNode___init();
-val_t NEW_AMainMethPropdef_parser_prod___AMethPropdef___empty_init();
-val_t NEW_AMainMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AMethPropdef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AMainMethPropdef___process_and_check = "mmbuilder::AMainMethPropdef::(mmbuilder::APropdef::process_and_check)";
+void mmbuilder___AMainMethPropdef___process_and_check(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+typedef void (*mmbuilder___AMainMethPropdef___process_and_check_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 val_t NEW_AMainMethPropdef_parser_prod___AConcreteMethPropdef___empty_init();
-val_t NEW_AMainMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
 val_t NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___empty_init();
 val_t NEW_AMainMethPropdef_parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t p0, val_t p1);
-typedef void (* mmbuilder___AMainMethPropdef___process_and_check_t)(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-void mmbuilder___AMainMethPropdef___process_and_check(val_t  self, val_t  param0, val_t  param1, val_t  param2, val_t  param3);
-#define LOCATE_mmbuilder___AMainMethPropdef___process_and_check "mmbuilder::AMainMethPropdef::(mmbuilder::PPropdef::process_and_check)"
-val_t NEW_ATypePropdef_parser_nodes___PNode___init();
+val_t NEW_AMainMethPropdef_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AMainMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AMainMethPropdef_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
+val_t NEW_AMainMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+static const char * const LOCATE_mmbuilder___AExternMethPropdef___accept_property_verifier = "mmbuilder::AExternMethPropdef::(mmbuilder::ANode::accept_property_verifier)";
+void mmbuilder___AExternMethPropdef___accept_property_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___AExternMethPropdef___accept_property_verifier_t)(val_t p0, val_t p1);
+val_t NEW_AExternMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___empty_init();
+val_t NEW_AExternMethPropdef_parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6);
+val_t NEW_AExternMethPropdef_parser_nodes___ANode___init(val_t p0);
+val_t NEW_AExternMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+static const char * const LOCATE_mmbuilder___ATypePropdef___prop = "mmbuilder::ATypePropdef::(syntax_base::ATypePropdef::prop)";
+val_t mmbuilder___ATypePropdef___prop(val_t p0);
+typedef val_t (*mmbuilder___ATypePropdef___prop_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___ATypePropdef___accept_property_builder = "mmbuilder::ATypePropdef::(mmbuilder::ANode::accept_property_builder)";
+void mmbuilder___ATypePropdef___accept_property_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___ATypePropdef___accept_property_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ATypePropdef___accept_property_verifier = "mmbuilder::ATypePropdef::(mmbuilder::ANode::accept_property_verifier)";
+void mmbuilder___ATypePropdef___accept_property_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___ATypePropdef___accept_property_verifier_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor = "mmbuilder::ATypePropdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
+void mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t p0, val_t p1);
+typedef void (*mmbuilder___ATypePropdef___accept_abs_syntax_visitor_t)(val_t p0, val_t p1);
 val_t NEW_ATypePropdef_parser_prod___ATypePropdef___empty_init();
 val_t NEW_ATypePropdef_parser_prod___ATypePropdef___init_atypepropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
-typedef void (* mmbuilder___ATypePropdef___accept_abs_syntax_visitor_t)(val_t  self, val_t  param0);
-void mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor "mmbuilder::ATypePropdef::(syntax_base::PNode::accept_abs_syntax_visitor)"
-typedef val_t (* mmbuilder___ATypePropdef___prop_t)(val_t  self);
-val_t mmbuilder___ATypePropdef___prop(val_t  self);
-#define LOCATE_mmbuilder___ATypePropdef___prop "mmbuilder::ATypePropdef::(syntax_base::ATypePropdef::prop)"
-typedef void (* mmbuilder___ATypePropdef___accept_property_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___ATypePropdef___accept_property_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ATypePropdef___accept_property_builder "mmbuilder::ATypePropdef::(mmbuilder::PNode::accept_property_builder)"
-typedef void (* mmbuilder___ATypePropdef___accept_property_verifier_t)(val_t  self, val_t  param0);
-void mmbuilder___ATypePropdef___accept_property_verifier(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ATypePropdef___accept_property_verifier "mmbuilder::ATypePropdef::(mmbuilder::PNode::accept_property_verifier)"
-typedef void (* mmbuilder___MethidAccumulator___visit_t)(val_t  self, val_t  param0);
-void mmbuilder___MethidAccumulator___visit(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___MethidAccumulator___visit "mmbuilder::MethidAccumulator::(parser_prod::Visitor::visit)"
-typedef val_t (* mmbuilder___MethidAccumulator___name_t)(val_t  self);
-val_t mmbuilder___MethidAccumulator___name(val_t  self);
-#define LOCATE_mmbuilder___MethidAccumulator___name "mmbuilder::MethidAccumulator::name"
-typedef void (* mmbuilder___MethidAccumulator___init_t)(val_t  self, int* init_table);
-void mmbuilder___MethidAccumulator___init(val_t  self, int* init_table);
-#define LOCATE_mmbuilder___MethidAccumulator___init "mmbuilder::MethidAccumulator::init"
-val_t NEW_MethidAccumulator_mmbuilder___MethidAccumulator___init();
-val_t NEW_PMethid_parser_nodes___PNode___init();
-typedef void (* mmbuilder___PMethid___accept_property_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___PMethid___accept_property_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PMethid___accept_property_builder "mmbuilder::PMethid::(mmbuilder::PNode::accept_property_builder)"
-typedef val_t (* mmbuilder___PMethid___name_t)(val_t  self);
-val_t mmbuilder___PMethid___name(val_t  self);
-#define LOCATE_mmbuilder___PMethid___name "mmbuilder::PMethid::name"
-val_t NEW_PSignature_parser_nodes___PNode___init();
-typedef void (* mmbuilder___PSignature___check_visibility_t)(val_t  self, val_t  param0, val_t  param1);
-void mmbuilder___PSignature___check_visibility(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_mmbuilder___PSignature___check_visibility "mmbuilder::PSignature::check_visibility"
-val_t NEW_ASignature_parser_nodes___PNode___init();
+val_t NEW_ATypePropdef_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___MethidAccumulator___name = "mmbuilder::MethidAccumulator::name";
+val_t mmbuilder___MethidAccumulator___name(val_t p0);
+typedef val_t (*mmbuilder___MethidAccumulator___name_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___MethidAccumulator___visit = "mmbuilder::MethidAccumulator::(parser_prod::Visitor::visit)";
+void mmbuilder___MethidAccumulator___visit(val_t p0, val_t p1);
+typedef void (*mmbuilder___MethidAccumulator___visit_t)(val_t p0, val_t p1);
+val_t NEW_MethidAccumulator_parser_prod___Visitor___init();
+static const char * const LOCATE_mmbuilder___AMethid___name = "mmbuilder::AMethid::name";
+val_t mmbuilder___AMethid___name(val_t p0);
+typedef val_t (*mmbuilder___AMethid___name_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AMethid___accept_property_builder = "mmbuilder::AMethid::(mmbuilder::ANode::accept_property_builder)";
+void mmbuilder___AMethid___accept_property_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___AMethid___accept_property_builder_t)(val_t p0, val_t p1);
+val_t NEW_AMethid_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___ASignature___accept_property_verifier = "mmbuilder::ASignature::(mmbuilder::ANode::accept_property_verifier)";
+void mmbuilder___ASignature___accept_property_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___ASignature___accept_property_verifier_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___ASignature___check_visibility = "mmbuilder::ASignature::check_visibility";
+void mmbuilder___ASignature___check_visibility(val_t p0, val_t p1, val_t p2);
+typedef void (*mmbuilder___ASignature___check_visibility_t)(val_t p0, val_t p1, val_t p2);
+  typedef void (*CLOS_OC_mmbuilder___ASignature___check_visibility_2_0)(struct stack_frame_t *);
+  void OC_mmbuilder___ASignature___check_visibility_2(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*OC_mmbuilder___ASignature___check_visibility_2_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
 val_t NEW_ASignature_parser_prod___ASignature___empty_init();
 val_t NEW_ASignature_parser_prod___ASignature___init_asignature(val_t p0, val_t p1, val_t p2);
-typedef void (* mmbuilder___ASignature___accept_property_verifier_t)(val_t  self, val_t  param0);
-void mmbuilder___ASignature___accept_property_verifier(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___ASignature___accept_property_verifier "mmbuilder::ASignature::(mmbuilder::PNode::accept_property_verifier)"
-typedef void (* mmbuilder___ASignature___check_visibility_t)(val_t  self, val_t  param0, val_t  param1);
-void mmbuilder___ASignature___check_visibility(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_mmbuilder___ASignature___check_visibility "mmbuilder::ASignature::(mmbuilder::PSignature::check_visibility)"
-val_t NEW_PParam_parser_nodes___PNode___init();
-typedef val_t (* mmbuilder___PParam___position_t)(val_t  self);
-val_t mmbuilder___PParam___position(val_t  self);
-#define LOCATE_mmbuilder___PParam___position "mmbuilder::PParam::(syntax_base::PParam::position)"
-typedef val_t (* mmbuilder___PParam___variable_t)(val_t  self);
-val_t mmbuilder___PParam___variable(val_t  self);
-#define LOCATE_mmbuilder___PParam___variable "mmbuilder::PParam::(syntax_base::PParam::variable)"
-typedef void (* mmbuilder___PParam___accept_property_verifier_t)(val_t  self, val_t  param0);
-void mmbuilder___PParam___accept_property_verifier(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PParam___accept_property_verifier "mmbuilder::PParam::(mmbuilder::PNode::accept_property_verifier)"
-typedef val_t (* mmbuilder___PParam___stype_t)(val_t  self);
-val_t mmbuilder___PParam___stype(val_t  self);
-#define LOCATE_mmbuilder___PParam___stype "mmbuilder::PParam::stype"
-typedef void (* mmbuilder___PParam___stype__eq_t)(val_t  self, val_t  param0);
-void mmbuilder___PParam___stype__eq(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PParam___stype__eq "mmbuilder::PParam::stype="
-typedef val_t (* mmbuilder___PParam___is_vararg_t)(val_t  self);
-val_t mmbuilder___PParam___is_vararg(val_t  self);
-#define LOCATE_mmbuilder___PParam___is_vararg "mmbuilder::PParam::is_vararg"
-val_t NEW_AParam_parser_nodes___PNode___init();
+val_t NEW_ASignature_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AParam___position = "mmbuilder::AParam::(syntax_base::AParam::position)";
+val_t mmbuilder___AParam___position(val_t p0);
+typedef val_t (*mmbuilder___AParam___position_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AParam___variable = "mmbuilder::AParam::(syntax_base::AParam::variable)";
+val_t mmbuilder___AParam___variable(val_t p0);
+typedef val_t (*mmbuilder___AParam___variable_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AParam___stype = "mmbuilder::AParam::stype";
+val_t mmbuilder___AParam___stype(val_t p0);
+typedef val_t (*mmbuilder___AParam___stype_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AParam___stype__eq = "mmbuilder::AParam::stype=";
+void mmbuilder___AParam___stype__eq(val_t p0, val_t p1);
+typedef void (*mmbuilder___AParam___stype__eq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___AParam___accept_property_verifier = "mmbuilder::AParam::(mmbuilder::ANode::accept_property_verifier)";
+void mmbuilder___AParam___accept_property_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___AParam___accept_property_verifier_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___AParam___is_vararg = "mmbuilder::AParam::is_vararg";
+val_t mmbuilder___AParam___is_vararg(val_t p0);
+typedef val_t (*mmbuilder___AParam___is_vararg_t)(val_t p0);
 val_t NEW_AParam_parser_prod___AParam___empty_init();
 val_t NEW_AParam_parser_prod___AParam___init_aparam(val_t p0, val_t p1, val_t p2);
-typedef val_t (* mmbuilder___AParam___is_vararg_t)(val_t  self);
-val_t mmbuilder___AParam___is_vararg(val_t  self);
-#define LOCATE_mmbuilder___AParam___is_vararg "mmbuilder::AParam::(mmbuilder::PParam::is_vararg)"
-val_t NEW_AClosureDecl_parser_nodes___PNode___init();
+val_t NEW_AParam_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AClosureDecl___position = "mmbuilder::AClosureDecl::(syntax_base::AClosureDecl::position)";
+val_t mmbuilder___AClosureDecl___position(val_t p0);
+typedef val_t (*mmbuilder___AClosureDecl___position_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AClosureDecl___variable = "mmbuilder::AClosureDecl::(syntax_base::AClosureDecl::variable)";
+val_t mmbuilder___AClosureDecl___variable(val_t p0);
+typedef val_t (*mmbuilder___AClosureDecl___variable_t)(val_t p0);
+static const char * const LOCATE_mmbuilder___AClosureDecl___accept_property_verifier = "mmbuilder::AClosureDecl::(mmbuilder::ANode::accept_property_verifier)";
+void mmbuilder___AClosureDecl___accept_property_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___AClosureDecl___accept_property_verifier_t)(val_t p0, val_t p1);
 val_t NEW_AClosureDecl_parser_prod___AClosureDecl___empty_init();
 val_t NEW_AClosureDecl_parser_prod___AClosureDecl___init_aclosuredecl(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-typedef val_t (* mmbuilder___AClosureDecl___variable_t)(val_t  self);
-val_t mmbuilder___AClosureDecl___variable(val_t  self);
-#define LOCATE_mmbuilder___AClosureDecl___variable "mmbuilder::AClosureDecl::(syntax_base::PClosureDecl::variable)"
-typedef void (* mmbuilder___AClosureDecl___accept_property_verifier_t)(val_t  self, val_t  param0);
-void mmbuilder___AClosureDecl___accept_property_verifier(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___AClosureDecl___accept_property_verifier "mmbuilder::AClosureDecl::(mmbuilder::PNode::accept_property_verifier)"
-val_t NEW_PType_parser_nodes___PNode___init();
-typedef void (* mmbuilder___PType___check_visibility_t)(val_t  self, val_t  param0, val_t  param1);
-void mmbuilder___PType___check_visibility(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_mmbuilder___PType___check_visibility "mmbuilder::PType::check_visibility"
-val_t NEW_AType_parser_nodes___PNode___init();
+val_t NEW_AClosureDecl_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AType___check_visibility = "mmbuilder::AType::check_visibility";
+void mmbuilder___AType___check_visibility(val_t p0, val_t p1, val_t p2);
+typedef void (*mmbuilder___AType___check_visibility_t)(val_t p0, val_t p1, val_t p2);
+  typedef void (*CLOS_OC_mmbuilder___AType___check_visibility_5_0)(struct stack_frame_t *);
+  void OC_mmbuilder___AType___check_visibility_5(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*OC_mmbuilder___AType___check_visibility_5_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
 val_t NEW_AType_parser_prod___AType___empty_init();
-val_t NEW_AType_parser_prod___AType___init_atype(val_t p0, val_t p1);
-typedef void (* mmbuilder___AType___check_visibility_t)(val_t  self, val_t  param0, val_t  param1);
-void mmbuilder___AType___check_visibility(val_t  self, val_t  param0, val_t  param1);
-#define LOCATE_mmbuilder___AType___check_visibility "mmbuilder::AType::(mmbuilder::PType::check_visibility)"
-val_t NEW_PExpr_parser_nodes___PNode___init();
-typedef void (* mmbuilder___PExpr___accept_class_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___PExpr___accept_class_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PExpr___accept_class_builder "mmbuilder::PExpr::(mmbuilder::PNode::accept_class_builder)"
-typedef void (* mmbuilder___PExpr___accept_property_builder_t)(val_t  self, val_t  param0);
-void mmbuilder___PExpr___accept_property_builder(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PExpr___accept_property_builder "mmbuilder::PExpr::(mmbuilder::PNode::accept_property_builder)"
-typedef void (* mmbuilder___PExpr___accept_property_verifier_t)(val_t  self, val_t  param0);
-void mmbuilder___PExpr___accept_property_verifier(val_t  self, val_t  param0);
-#define LOCATE_mmbuilder___PExpr___accept_property_verifier "mmbuilder::PExpr::(mmbuilder::PNode::accept_property_verifier)"
+val_t NEW_AType_parser_prod___AType___init_atype(val_t p0, val_t p1, val_t p2);
+val_t NEW_AType_parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_mmbuilder___AExpr___accept_class_builder = "mmbuilder::AExpr::(mmbuilder::ANode::accept_class_builder)";
+void mmbuilder___AExpr___accept_class_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___AExpr___accept_class_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___AExpr___accept_property_builder = "mmbuilder::AExpr::(mmbuilder::ANode::accept_property_builder)";
+void mmbuilder___AExpr___accept_property_builder(val_t p0, val_t p1);
+typedef void (*mmbuilder___AExpr___accept_property_builder_t)(val_t p0, val_t p1);
+static const char * const LOCATE_mmbuilder___AExpr___accept_property_verifier = "mmbuilder::AExpr::(mmbuilder::ANode::accept_property_verifier)";
+void mmbuilder___AExpr___accept_property_verifier(val_t p0, val_t p1);
+typedef void (*mmbuilder___AExpr___accept_property_verifier_t)(val_t p0, val_t p1);
+val_t NEW_AExpr_parser_nodes___ANode___init(val_t p0);
 #endif