typing: add CallSite::erasure_cast to indicate if a cast may be required
[nit.git] / c_src / syntax___mmbuilder._sep.h
index 2eb675f..af78cdd 100644 (file)
@@ -172,10 +172,11 @@ extern const int SFT_syntax___mmbuilder[];
 #define ATTR_syntax___mmbuilder___AClosureDecl____variable(recv) ATTR(recv, (SFT_syntax___mmbuilder[65] + 1))
 #define CALL_SUPER_syntax___mmbuilder___AClosureDecl___accept_property_verifier(recv) ((syntax___mmbuilder___AClosureDecl___accept_property_verifier_t)CALL((recv), (SFT_syntax___mmbuilder[66] + 0)))
 #define CALL_syntax___mmbuilder___AType___check_visibility(recv) ((syntax___mmbuilder___AType___check_visibility_t)CALL((recv), (SFT_syntax___mmbuilder[67] + 0)))
+#define CALL_syntax___mmbuilder___AExpr___get_easy_stype(recv) ((syntax___mmbuilder___AExpr___get_easy_stype_t)CALL((recv), (SFT_syntax___mmbuilder[68] + 0)))
 static const char * const LOCATE_syntax___mmbuilder___ToolContext___handle_property_conflict = "mmbuilder::ToolContext::(inheritance::MMContext::handle_property_conflict)";
 void syntax___mmbuilder___ToolContext___handle_property_conflict(val_t p0, val_t p1, val_t p2);
 typedef void (*syntax___mmbuilder___ToolContext___handle_property_conflict_t)(val_t p0, val_t p1, val_t p2);
-val_t NEW_ToolContext_mmloader___ToolContext___init();
+val_t NEW_ToolContext_toolcontext___ToolContext___init();
 static const char * const LOCATE_syntax___mmbuilder___CSHSorter___compare = "mmbuilder::CSHSorter::(sorter::AbstractSorter::compare)";
 val_t syntax___mmbuilder___CSHSorter___compare(val_t p0, val_t p1, val_t p2);
 typedef val_t (*syntax___mmbuilder___CSHSorter___compare_t)(val_t p0, val_t p1, val_t p2);
@@ -366,7 +367,7 @@ typedef void (*syntax___mmbuilder___ANode___accept_property_builder_t)(val_t p0,
 static const char * const LOCATE_syntax___mmbuilder___ANode___accept_property_verifier = "mmbuilder::ANode::accept_property_verifier";
 void syntax___mmbuilder___ANode___accept_property_verifier(val_t p0, val_t p1);
 typedef void (*syntax___mmbuilder___ANode___accept_property_verifier_t)(val_t p0, val_t p1);
-val_t NEW_ANode_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_ANode_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AModule___import_super_modules = "mmbuilder::AModule::import_super_modules";
 void syntax___mmbuilder___AModule___import_super_modules(val_t p0, val_t p1, val_t p2);
 typedef void (*syntax___mmbuilder___AModule___import_super_modules_t)(val_t p0, val_t p1, val_t p2);
@@ -375,20 +376,20 @@ typedef void (*syntax___mmbuilder___AModule___import_super_modules_t)(val_t p0,
   typedef void (*OC_syntax___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___parser_prod___AModule___empty_init();
 val_t NEW_AModule_parser___parser_prod___AModule___init_amodule(val_t p0, val_t p1, val_t p2);
-val_t NEW_AModule_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AModule_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AModuledecl___accept_class_builder = "mmbuilder::AModuledecl::(mmbuilder::ANode::accept_class_builder)";
 void syntax___mmbuilder___AModuledecl___accept_class_builder(val_t p0, val_t p1);
 typedef void (*syntax___mmbuilder___AModuledecl___accept_class_builder_t)(val_t p0, val_t p1);
 val_t NEW_AModuledecl_parser___parser_prod___AModuledecl___empty_init();
 val_t NEW_AModuledecl_parser___parser_prod___AModuledecl___init_amoduledecl(val_t p0, val_t p1, val_t p2);
-val_t NEW_AModuledecl_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AModuledecl_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AImport___module_name = "mmbuilder::AImport::module_name";
 val_t syntax___mmbuilder___AImport___module_name(val_t p0);
 typedef val_t (*syntax___mmbuilder___AImport___module_name_t)(val_t p0);
 static const char * const LOCATE_syntax___mmbuilder___AImport___visibility_level = "mmbuilder::AImport::visibility_level";
 val_t syntax___mmbuilder___AImport___visibility_level(val_t p0);
 typedef val_t (*syntax___mmbuilder___AImport___visibility_level_t)(val_t p0);
-val_t NEW_AImport_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AImport_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AStdImport___module_name = "mmbuilder::AStdImport::(mmbuilder::AImport::module_name)";
 val_t syntax___mmbuilder___AStdImport___module_name(val_t p0);
 typedef val_t (*syntax___mmbuilder___AStdImport___module_name_t)(val_t p0);
@@ -397,41 +398,41 @@ val_t syntax___mmbuilder___AStdImport___visibility_level(val_t p0);
 typedef val_t (*syntax___mmbuilder___AStdImport___visibility_level_t)(val_t p0);
 val_t NEW_AStdImport_parser___parser_prod___AStdImport___empty_init();
 val_t NEW_AStdImport_parser___parser_prod___AStdImport___init_astdimport(val_t p0, val_t p1, val_t p2);
-val_t NEW_AStdImport_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AStdImport_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___ANoImport___module_name = "mmbuilder::ANoImport::(mmbuilder::AImport::module_name)";
 val_t syntax___mmbuilder___ANoImport___module_name(val_t p0);
 typedef val_t (*syntax___mmbuilder___ANoImport___module_name_t)(val_t p0);
 val_t NEW_ANoImport_parser___parser_prod___ANoImport___empty_init();
 val_t NEW_ANoImport_parser___parser_prod___ANoImport___init_anoimport(val_t p0, val_t p1, val_t p2);
-val_t NEW_ANoImport_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_ANoImport_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AVisibility___level = "mmbuilder::AVisibility::level";
 val_t syntax___mmbuilder___AVisibility___level(val_t p0);
 typedef val_t (*syntax___mmbuilder___AVisibility___level_t)(val_t p0);
-val_t NEW_AVisibility_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AVisibility_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___APublicVisibility___level = "mmbuilder::APublicVisibility::(mmbuilder::AVisibility::level)";
 val_t syntax___mmbuilder___APublicVisibility___level(val_t p0);
 typedef val_t (*syntax___mmbuilder___APublicVisibility___level_t)(val_t p0);
 val_t NEW_APublicVisibility_parser___parser_prod___APublicVisibility___empty_init();
 val_t NEW_APublicVisibility_parser___parser_prod___APublicVisibility___init_apublicvisibility();
-val_t NEW_APublicVisibility_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_APublicVisibility_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AProtectedVisibility___level = "mmbuilder::AProtectedVisibility::(mmbuilder::AVisibility::level)";
 val_t syntax___mmbuilder___AProtectedVisibility___level(val_t p0);
 typedef val_t (*syntax___mmbuilder___AProtectedVisibility___level_t)(val_t p0);
 val_t NEW_AProtectedVisibility_parser___parser_prod___AProtectedVisibility___empty_init();
 val_t NEW_AProtectedVisibility_parser___parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t p0);
-val_t NEW_AProtectedVisibility_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AProtectedVisibility_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___APrivateVisibility___level = "mmbuilder::APrivateVisibility::(mmbuilder::AVisibility::level)";
 val_t syntax___mmbuilder___APrivateVisibility___level(val_t p0);
 typedef val_t (*syntax___mmbuilder___APrivateVisibility___level_t)(val_t p0);
 val_t NEW_APrivateVisibility_parser___parser_prod___APrivateVisibility___empty_init();
 val_t NEW_APrivateVisibility_parser___parser_prod___APrivateVisibility___init_aprivatevisibility(val_t p0);
-val_t NEW_APrivateVisibility_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_APrivateVisibility_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AIntrudeVisibility___level = "mmbuilder::AIntrudeVisibility::(mmbuilder::AVisibility::level)";
 val_t syntax___mmbuilder___AIntrudeVisibility___level(val_t p0);
 typedef val_t (*syntax___mmbuilder___AIntrudeVisibility___level_t)(val_t p0);
 val_t NEW_AIntrudeVisibility_parser___parser_prod___AIntrudeVisibility___empty_init();
 val_t NEW_AIntrudeVisibility_parser___parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t p0);
-val_t NEW_AIntrudeVisibility_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AIntrudeVisibility_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AClassdef___local_class = "mmbuilder::AClassdef::(syntax_base::AClassdef::local_class)";
 val_t syntax___mmbuilder___AClassdef___local_class(val_t p0);
 typedef val_t (*syntax___mmbuilder___AClassdef___local_class_t)(val_t p0);
@@ -459,7 +460,7 @@ typedef void (*syntax___mmbuilder___AClassdef___accept_class_verifier_t)(val_t p
 static const char * const LOCATE_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor = "mmbuilder::AClassdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
 void syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(val_t p0, val_t p1);
 typedef void (*syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor_t)(val_t p0, val_t p1);
-val_t NEW_AClassdef_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AClassdef_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AClasskind___is_interface = "mmbuilder::AClasskind::is_interface";
 val_t syntax___mmbuilder___AClasskind___is_interface(val_t p0);
 typedef val_t (*syntax___mmbuilder___AClasskind___is_interface_t)(val_t p0);
@@ -472,31 +473,31 @@ typedef val_t (*syntax___mmbuilder___AClasskind___is_abstract_t)(val_t p0);
 static const char * const LOCATE_syntax___mmbuilder___AClasskind___is_extern = "mmbuilder::AClasskind::is_extern";
 val_t syntax___mmbuilder___AClasskind___is_extern(val_t p0);
 typedef val_t (*syntax___mmbuilder___AClasskind___is_extern_t)(val_t p0);
-val_t NEW_AClasskind_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AClasskind_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AInterfaceClasskind___is_interface = "mmbuilder::AInterfaceClasskind::(mmbuilder::AClasskind::is_interface)";
 val_t syntax___mmbuilder___AInterfaceClasskind___is_interface(val_t p0);
 typedef val_t (*syntax___mmbuilder___AInterfaceClasskind___is_interface_t)(val_t p0);
 val_t NEW_AInterfaceClasskind_parser___parser_prod___AInterfaceClasskind___empty_init();
 val_t NEW_AInterfaceClasskind_parser___parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t p0);
-val_t NEW_AInterfaceClasskind_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AInterfaceClasskind_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AEnumClasskind___is_enum = "mmbuilder::AEnumClasskind::(mmbuilder::AClasskind::is_enum)";
 val_t syntax___mmbuilder___AEnumClasskind___is_enum(val_t p0);
 typedef val_t (*syntax___mmbuilder___AEnumClasskind___is_enum_t)(val_t p0);
 val_t NEW_AEnumClasskind_parser___parser_prod___AEnumClasskind___empty_init();
 val_t NEW_AEnumClasskind_parser___parser_prod___AEnumClasskind___init_aenumclasskind(val_t p0);
-val_t NEW_AEnumClasskind_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AEnumClasskind_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AExternClasskind___is_extern = "mmbuilder::AExternClasskind::(mmbuilder::AClasskind::is_extern)";
 val_t syntax___mmbuilder___AExternClasskind___is_extern(val_t p0);
 typedef val_t (*syntax___mmbuilder___AExternClasskind___is_extern_t)(val_t p0);
 val_t NEW_AExternClasskind_parser___parser_prod___AExternClasskind___empty_init();
 val_t NEW_AExternClasskind_parser___parser_prod___AExternClasskind___init_aexternclasskind(val_t p0);
-val_t NEW_AExternClasskind_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AExternClasskind_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AAbstractClasskind___is_abstract = "mmbuilder::AAbstractClasskind::(mmbuilder::AClasskind::is_abstract)";
 val_t syntax___mmbuilder___AAbstractClasskind___is_abstract(val_t p0);
 typedef val_t (*syntax___mmbuilder___AAbstractClasskind___is_abstract_t)(val_t p0);
 val_t NEW_AAbstractClasskind_parser___parser_prod___AAbstractClasskind___empty_init();
 val_t NEW_AAbstractClasskind_parser___parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t p0, val_t p1);
-val_t NEW_AAbstractClasskind_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AAbstractClasskind_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AStdClassdef___name = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::name)";
 val_t syntax___mmbuilder___AStdClassdef___name(val_t p0);
 typedef val_t (*syntax___mmbuilder___AStdClassdef___name_t)(val_t p0);
@@ -513,20 +514,20 @@ static const char * const LOCATE_syntax___mmbuilder___AStdClassdef___visibility_
 val_t syntax___mmbuilder___AStdClassdef___visibility_level(val_t p0);
 typedef val_t (*syntax___mmbuilder___AStdClassdef___visibility_level_t)(val_t p0);
 val_t NEW_AStdClassdef_parser___parser_prod___AStdClassdef___empty_init();
-val_t NEW_AStdClassdef_parser___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___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AStdClassdef_parser___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 p8);
+val_t NEW_AStdClassdef_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AMainClassdef___name = "mmbuilder::AMainClassdef::(mmbuilder::AClassdef::name)";
 val_t syntax___mmbuilder___AMainClassdef___name(val_t p0);
 typedef val_t (*syntax___mmbuilder___AMainClassdef___name_t)(val_t p0);
 val_t NEW_AMainClassdef_parser___parser_prod___AMainClassdef___empty_init();
 val_t NEW_AMainClassdef_parser___parser_prod___AMainClassdef___init_amainclassdef(val_t p0);
-val_t NEW_AMainClassdef_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AMainClassdef_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___ATopClassdef___name = "mmbuilder::ATopClassdef::(mmbuilder::AClassdef::name)";
 val_t syntax___mmbuilder___ATopClassdef___name(val_t p0);
 typedef val_t (*syntax___mmbuilder___ATopClassdef___name_t)(val_t p0);
 val_t NEW_ATopClassdef_parser___parser_prod___ATopClassdef___empty_init();
 val_t NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(val_t p0);
-val_t NEW_ATopClassdef_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_ATopClassdef_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AFormaldef___accept_class_builder = "mmbuilder::AFormaldef::(mmbuilder::ANode::accept_class_builder)";
 void syntax___mmbuilder___AFormaldef___accept_class_builder(val_t p0, val_t p1);
 typedef void (*syntax___mmbuilder___AFormaldef___accept_class_builder_t)(val_t p0, val_t p1);
@@ -535,7 +536,7 @@ void syntax___mmbuilder___AFormaldef___accept_class_verifier(val_t p0, val_t p1)
 typedef void (*syntax___mmbuilder___AFormaldef___accept_class_verifier_t)(val_t p0, val_t p1);
 val_t NEW_AFormaldef_parser___parser_prod___AFormaldef___empty_init();
 val_t NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(val_t p0, val_t p1);
-val_t NEW_AFormaldef_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AFormaldef_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___ASuperclass___ancestor = "mmbuilder::ASuperclass::ancestor";
 val_t syntax___mmbuilder___ASuperclass___ancestor(val_t p0);
 typedef val_t (*syntax___mmbuilder___ASuperclass___ancestor_t)(val_t p0);
@@ -550,7 +551,7 @@ void syntax___mmbuilder___ASuperclass___accept_class_verifier(val_t p0, val_t p1
 typedef void (*syntax___mmbuilder___ASuperclass___accept_class_verifier_t)(val_t p0, val_t p1);
 val_t NEW_ASuperclass_parser___parser_prod___ASuperclass___empty_init();
 val_t NEW_ASuperclass_parser___parser_prod___ASuperclass___init_asuperclass(val_t p0, val_t p1, val_t p2);
-val_t NEW_ASuperclass_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_ASuperclass_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___APropdef___process_and_check = "mmbuilder::APropdef::process_and_check";
 void syntax___mmbuilder___APropdef___process_and_check(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 typedef void (*syntax___mmbuilder___APropdef___process_and_check_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
@@ -563,7 +564,7 @@ typedef void (*syntax___mmbuilder___APropdef___inherit_signature_t)(val_t p0, va
 static const char * const LOCATE_syntax___mmbuilder___APropdef___do_and_check_redef = "mmbuilder::APropdef::do_and_check_redef";
 void syntax___mmbuilder___APropdef___do_and_check_redef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 typedef void (*syntax___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___parser_nodes___ANode___init(val_t p0);
+val_t NEW_APropdef_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AAttrPropdef___readmethod = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::readmethod)";
 val_t syntax___mmbuilder___AAttrPropdef___readmethod(val_t p0);
 typedef val_t (*syntax___mmbuilder___AAttrPropdef___readmethod_t)(val_t p0);
@@ -584,7 +585,7 @@ void syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t p0, val
 typedef void (*syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor_t)(val_t p0, val_t p1);
 val_t NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___empty_init();
 val_t NEW_AAttrPropdef_parser___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___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AAttrPropdef_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AMethPropdef___name = "mmbuilder::AMethPropdef::name";
 val_t syntax___mmbuilder___AMethPropdef___name(val_t p0);
 typedef val_t (*syntax___mmbuilder___AMethPropdef___name_t)(val_t p0);
@@ -602,21 +603,21 @@ void syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t p0, val
 typedef void (*syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor_t)(val_t p0, val_t p1);
 val_t NEW_AMethPropdef_parser___parser_prod___AMethPropdef___empty_init();
 val_t NEW_AMethPropdef_parser___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___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AMethPropdef_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AMainMethPropdef___process_and_check = "mmbuilder::AMainMethPropdef::(mmbuilder::APropdef::process_and_check)";
 void syntax___mmbuilder___AMainMethPropdef___process_and_check(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 typedef void (*syntax___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___parser_prod___AConcreteMethPropdef___empty_init();
 val_t NEW_AMainMethPropdef_parser___parser_prod___AMainMethPropdef___empty_init();
 val_t NEW_AMainMethPropdef_parser___parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t p0, val_t p1);
-val_t NEW_AMainMethPropdef_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AMainMethPropdef_parser___parser_nodes___ANode___init();
 val_t NEW_AMainMethPropdef_parser___parser_prod___AMethPropdef___empty_init();
 val_t NEW_AMainMethPropdef_parser___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___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_syntax___mmbuilder___AExternPropdef___accept_property_verifier = "mmbuilder::AExternPropdef::(mmbuilder::ANode::accept_property_verifier)";
 void syntax___mmbuilder___AExternPropdef___accept_property_verifier(val_t p0, val_t p1);
 typedef void (*syntax___mmbuilder___AExternPropdef___accept_property_verifier_t)(val_t p0, val_t p1);
-val_t NEW_AExternPropdef_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AExternPropdef_parser___parser_nodes___ANode___init();
 val_t NEW_AExternPropdef_parser___parser_prod___AMethPropdef___empty_init();
 val_t NEW_AExternPropdef_parser___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_syntax___mmbuilder___ATypePropdef___prop = "mmbuilder::ATypePropdef::(syntax_base::ATypePropdef::prop)";
@@ -633,7 +634,7 @@ void syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t p0, val
 typedef void (*syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor_t)(val_t p0, val_t p1);
 val_t NEW_ATypePropdef_parser___parser_prod___ATypePropdef___empty_init();
 val_t NEW_ATypePropdef_parser___parser_prod___ATypePropdef___init_atypepropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5);
-val_t NEW_ATypePropdef_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_ATypePropdef_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___MethidAccumulator___name = "mmbuilder::MethidAccumulator::name";
 val_t syntax___mmbuilder___MethidAccumulator___name(val_t p0);
 typedef val_t (*syntax___mmbuilder___MethidAccumulator___name_t)(val_t p0);
@@ -647,7 +648,7 @@ typedef val_t (*syntax___mmbuilder___AMethid___name_t)(val_t p0);
 static const char * const LOCATE_syntax___mmbuilder___AMethid___accept_property_builder = "mmbuilder::AMethid::(mmbuilder::ANode::accept_property_builder)";
 void syntax___mmbuilder___AMethid___accept_property_builder(val_t p0, val_t p1);
 typedef void (*syntax___mmbuilder___AMethid___accept_property_builder_t)(val_t p0, val_t p1);
-val_t NEW_AMethid_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AMethid_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___ASignature___accept_property_verifier = "mmbuilder::ASignature::(mmbuilder::ANode::accept_property_verifier)";
 void syntax___mmbuilder___ASignature___accept_property_verifier(val_t p0, val_t p1);
 typedef void (*syntax___mmbuilder___ASignature___accept_property_verifier_t)(val_t p0, val_t p1);
@@ -658,8 +659,8 @@ typedef void (*syntax___mmbuilder___ASignature___check_visibility_t)(val_t p0, v
   void OC_syntax___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_syntax___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___parser_prod___ASignature___empty_init();
-val_t NEW_ASignature_parser___parser_prod___ASignature___init_asignature(val_t p0, val_t p1, val_t p2);
-val_t NEW_ASignature_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_ASignature_parser___parser_prod___ASignature___init_asignature(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_ASignature_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AParam___position = "mmbuilder::AParam::(syntax_base::AParam::position)";
 val_t syntax___mmbuilder___AParam___position(val_t p0);
 typedef val_t (*syntax___mmbuilder___AParam___position_t)(val_t p0);
@@ -680,7 +681,7 @@ val_t syntax___mmbuilder___AParam___is_vararg(val_t p0);
 typedef val_t (*syntax___mmbuilder___AParam___is_vararg_t)(val_t p0);
 val_t NEW_AParam_parser___parser_prod___AParam___empty_init();
 val_t NEW_AParam_parser___parser_prod___AParam___init_aparam(val_t p0, val_t p1, val_t p2);
-val_t NEW_AParam_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AParam_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AClosureDecl___position = "mmbuilder::AClosureDecl::(syntax_base::AClosureDecl::position)";
 val_t syntax___mmbuilder___AClosureDecl___position(val_t p0);
 typedef val_t (*syntax___mmbuilder___AClosureDecl___position_t)(val_t p0);
@@ -692,7 +693,7 @@ void syntax___mmbuilder___AClosureDecl___accept_property_verifier(val_t p0, val_
 typedef void (*syntax___mmbuilder___AClosureDecl___accept_property_verifier_t)(val_t p0, val_t p1);
 val_t NEW_AClosureDecl_parser___parser_prod___AClosureDecl___empty_init();
 val_t NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-val_t NEW_AClosureDecl_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AClosureDecl_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AType___check_visibility = "mmbuilder::AType::check_visibility";
 void syntax___mmbuilder___AType___check_visibility(val_t p0, val_t p1, val_t p2);
 typedef void (*syntax___mmbuilder___AType___check_visibility_t)(val_t p0, val_t p1, val_t p2);
@@ -701,7 +702,7 @@ typedef void (*syntax___mmbuilder___AType___check_visibility_t)(val_t p0, val_t
   typedef void (*OC_syntax___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___parser_prod___AType___empty_init();
 val_t NEW_AType_parser___parser_prod___AType___init_atype(val_t p0, val_t p1, val_t p2);
-val_t NEW_AType_parser___parser_nodes___ANode___init(val_t p0);
+val_t NEW_AType_parser___parser_nodes___ANode___init();
 static const char * const LOCATE_syntax___mmbuilder___AExpr___accept_class_builder = "mmbuilder::AExpr::(mmbuilder::ANode::accept_class_builder)";
 void syntax___mmbuilder___AExpr___accept_class_builder(val_t p0, val_t p1);
 typedef void (*syntax___mmbuilder___AExpr___accept_class_builder_t)(val_t p0, val_t p1);
@@ -711,5 +712,42 @@ typedef void (*syntax___mmbuilder___AExpr___accept_property_builder_t)(val_t p0,
 static const char * const LOCATE_syntax___mmbuilder___AExpr___accept_property_verifier = "mmbuilder::AExpr::(mmbuilder::ANode::accept_property_verifier)";
 void syntax___mmbuilder___AExpr___accept_property_verifier(val_t p0, val_t p1);
 typedef void (*syntax___mmbuilder___AExpr___accept_property_verifier_t)(val_t p0, val_t p1);
-val_t NEW_AExpr_parser___parser_nodes___ANode___init(val_t p0);
+static const char * const LOCATE_syntax___mmbuilder___AExpr___get_easy_stype = "mmbuilder::AExpr::get_easy_stype";
+val_t syntax___mmbuilder___AExpr___get_easy_stype(val_t p0, val_t p1);
+typedef val_t (*syntax___mmbuilder___AExpr___get_easy_stype_t)(val_t p0, val_t p1);
+val_t NEW_AExpr_parser___parser_nodes___ANode___init();
+static const char * const LOCATE_syntax___mmbuilder___ABoolExpr___get_easy_stype = "mmbuilder::ABoolExpr::(mmbuilder::AExpr::get_easy_stype)";
+val_t syntax___mmbuilder___ABoolExpr___get_easy_stype(val_t p0, val_t p1);
+typedef val_t (*syntax___mmbuilder___ABoolExpr___get_easy_stype_t)(val_t p0, val_t p1);
+val_t NEW_ABoolExpr_parser___parser_nodes___ANode___init();
+static const char * const LOCATE_syntax___mmbuilder___AStringExpr___get_easy_stype = "mmbuilder::AStringExpr::(mmbuilder::AExpr::get_easy_stype)";
+val_t syntax___mmbuilder___AStringExpr___get_easy_stype(val_t p0, val_t p1);
+typedef val_t (*syntax___mmbuilder___AStringExpr___get_easy_stype_t)(val_t p0, val_t p1);
+val_t NEW_AStringExpr_parser___parser_prod___AStringExpr___empty_init();
+val_t NEW_AStringExpr_parser___parser_prod___AStringExpr___init_astringexpr(val_t p0);
+val_t NEW_AStringExpr_parser___parser_nodes___ANode___init();
+static const char * const LOCATE_syntax___mmbuilder___ACharExpr___get_easy_stype = "mmbuilder::ACharExpr::(mmbuilder::AExpr::get_easy_stype)";
+val_t syntax___mmbuilder___ACharExpr___get_easy_stype(val_t p0, val_t p1);
+typedef val_t (*syntax___mmbuilder___ACharExpr___get_easy_stype_t)(val_t p0, val_t p1);
+val_t NEW_ACharExpr_parser___parser_prod___ACharExpr___empty_init();
+val_t NEW_ACharExpr_parser___parser_prod___ACharExpr___init_acharexpr(val_t p0);
+val_t NEW_ACharExpr_parser___parser_nodes___ANode___init();
+static const char * const LOCATE_syntax___mmbuilder___AIntExpr___get_easy_stype = "mmbuilder::AIntExpr::(mmbuilder::AExpr::get_easy_stype)";
+val_t syntax___mmbuilder___AIntExpr___get_easy_stype(val_t p0, val_t p1);
+typedef val_t (*syntax___mmbuilder___AIntExpr___get_easy_stype_t)(val_t p0, val_t p1);
+val_t NEW_AIntExpr_parser___parser_prod___AIntExpr___empty_init();
+val_t NEW_AIntExpr_parser___parser_prod___AIntExpr___init_aintexpr(val_t p0);
+val_t NEW_AIntExpr_parser___parser_nodes___ANode___init();
+static const char * const LOCATE_syntax___mmbuilder___AFloatExpr___get_easy_stype = "mmbuilder::AFloatExpr::(mmbuilder::AExpr::get_easy_stype)";
+val_t syntax___mmbuilder___AFloatExpr___get_easy_stype(val_t p0, val_t p1);
+typedef val_t (*syntax___mmbuilder___AFloatExpr___get_easy_stype_t)(val_t p0, val_t p1);
+val_t NEW_AFloatExpr_parser___parser_prod___AFloatExpr___empty_init();
+val_t NEW_AFloatExpr_parser___parser_prod___AFloatExpr___init_afloatexpr(val_t p0);
+val_t NEW_AFloatExpr_parser___parser_nodes___ANode___init();
+static const char * const LOCATE_syntax___mmbuilder___ANewExpr___get_easy_stype = "mmbuilder::ANewExpr::(mmbuilder::AExpr::get_easy_stype)";
+val_t syntax___mmbuilder___ANewExpr___get_easy_stype(val_t p0, val_t p1);
+typedef val_t (*syntax___mmbuilder___ANewExpr___get_easy_stype_t)(val_t p0, val_t p1);
+val_t NEW_ANewExpr_parser___parser_prod___ANewExpr___empty_init();
+val_t NEW_ANewExpr_parser___parser_prod___ANewExpr___init_anewexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+val_t NEW_ANewExpr_parser___parser_nodes___ANode___init();
 #endif