/* This C header file is generated by NIT to compile modules and programs that requires typing. */
#ifndef typing_sep
#define typing_sep
-#include "syntax_base._sep.h"
+#include "escape._sep.h"
+#include "control_flow._sep.h"
#include <nit_common.h>
extern const classtable_elt_t VFT_TypingVisitor[];
-extern const classtable_elt_t VFT_VariableContext[];
-
-extern const classtable_elt_t VFT_SubVariableContext[];
+extern const classtable_elt_t VFT_AAbsAbsSendExpr[];
extern const classtable_elt_t VFT_AAbsSendExpr[];
extern const classtable_elt_t VFT_ASuperInitCall[];
extern const classtable_elt_t VFT_ASendReassignExpr[];
+
+extern const classtable_elt_t VFT_ATypeCheckExpr[];
extern const char *LOCATE_typing;
extern const int SFT_typing[];
#define CALL_typing___MMSrcModule___do_typing(recv) ((typing___MMSrcModule___do_typing_t)CALL((recv), (SFT_typing[0] + 0)))
#define ID_TypingVisitor (SFT_typing[1])
#define COLOR_TypingVisitor (SFT_typing[2])
#define ATTR_typing___TypingVisitor____variable_ctx(recv) ATTR(recv, (SFT_typing[3] + 0))
-#define ATTR_typing___TypingVisitor____self_var(recv) ATTR(recv, (SFT_typing[3] + 1))
-#define ATTR_typing___TypingVisitor____top_block(recv) ATTR(recv, (SFT_typing[3] + 2))
-#define ATTR_typing___TypingVisitor____closure(recv) ATTR(recv, (SFT_typing[3] + 3))
-#define ATTR_typing___TypingVisitor____closure_break_stype(recv) ATTR(recv, (SFT_typing[3] + 4))
-#define ATTR_typing___TypingVisitor____break_list(recv) ATTR(recv, (SFT_typing[3] + 5))
-#define ATTR_typing___TypingVisitor____explicit_super_init_calls(recv) ATTR(recv, (SFT_typing[3] + 6))
-#define ATTR_typing___TypingVisitor____explicit_other_init_call(recv) ATTR(recv, (SFT_typing[3] + 7))
+#define ATTR_typing___TypingVisitor____base_variable_ctx(recv) ATTR(recv, (SFT_typing[3] + 1))
+#define ATTR_typing___TypingVisitor____escapable_ctx(recv) ATTR(recv, (SFT_typing[3] + 2))
+#define ATTR_typing___TypingVisitor____self_var(recv) ATTR(recv, (SFT_typing[3] + 3))
+#define ATTR_typing___TypingVisitor____top_block(recv) ATTR(recv, (SFT_typing[3] + 4))
+#define ATTR_typing___TypingVisitor____explicit_super_init_calls(recv) ATTR(recv, (SFT_typing[3] + 5))
+#define ATTR_typing___TypingVisitor____explicit_other_init_call(recv) ATTR(recv, (SFT_typing[3] + 6))
+#define ATTR_typing___TypingVisitor____once_count(recv) ATTR(recv, (SFT_typing[3] + 7))
#define INIT_TABLE_POS_TypingVisitor (SFT_typing[4] + 0)
#define CALL_typing___TypingVisitor___variable_ctx(recv) ((typing___TypingVisitor___variable_ctx_t)CALL((recv), (SFT_typing[4] + 1)))
#define CALL_typing___TypingVisitor___variable_ctx__eq(recv) ((typing___TypingVisitor___variable_ctx__eq_t)CALL((recv), (SFT_typing[4] + 2)))
-#define CALL_typing___TypingVisitor___self_var(recv) ((typing___TypingVisitor___self_var_t)CALL((recv), (SFT_typing[4] + 3)))
-#define CALL_typing___TypingVisitor___self_var__eq(recv) ((typing___TypingVisitor___self_var__eq_t)CALL((recv), (SFT_typing[4] + 4)))
-#define CALL_typing___TypingVisitor___top_block(recv) ((typing___TypingVisitor___top_block_t)CALL((recv), (SFT_typing[4] + 5)))
-#define CALL_typing___TypingVisitor___top_block__eq(recv) ((typing___TypingVisitor___top_block__eq_t)CALL((recv), (SFT_typing[4] + 6)))
-#define CALL_typing___TypingVisitor___closure(recv) ((typing___TypingVisitor___closure_t)CALL((recv), (SFT_typing[4] + 7)))
-#define CALL_typing___TypingVisitor___closure__eq(recv) ((typing___TypingVisitor___closure__eq_t)CALL((recv), (SFT_typing[4] + 8)))
-#define CALL_typing___TypingVisitor___closure_break_stype(recv) ((typing___TypingVisitor___closure_break_stype_t)CALL((recv), (SFT_typing[4] + 9)))
-#define CALL_typing___TypingVisitor___closure_break_stype__eq(recv) ((typing___TypingVisitor___closure_break_stype__eq_t)CALL((recv), (SFT_typing[4] + 10)))
-#define CALL_typing___TypingVisitor___break_list(recv) ((typing___TypingVisitor___break_list_t)CALL((recv), (SFT_typing[4] + 11)))
-#define CALL_typing___TypingVisitor___break_list__eq(recv) ((typing___TypingVisitor___break_list__eq_t)CALL((recv), (SFT_typing[4] + 12)))
-#define CALL_typing___TypingVisitor___explicit_super_init_calls(recv) ((typing___TypingVisitor___explicit_super_init_calls_t)CALL((recv), (SFT_typing[4] + 13)))
-#define CALL_typing___TypingVisitor___explicit_super_init_calls__eq(recv) ((typing___TypingVisitor___explicit_super_init_calls__eq_t)CALL((recv), (SFT_typing[4] + 14)))
-#define CALL_typing___TypingVisitor___explicit_other_init_call(recv) ((typing___TypingVisitor___explicit_other_init_call_t)CALL((recv), (SFT_typing[4] + 15)))
-#define CALL_typing___TypingVisitor___explicit_other_init_call__eq(recv) ((typing___TypingVisitor___explicit_other_init_call__eq_t)CALL((recv), (SFT_typing[4] + 16)))
-#define CALL_typing___TypingVisitor___init(recv) ((typing___TypingVisitor___init_t)CALL((recv), (SFT_typing[4] + 17)))
-#define CALL_typing___TypingVisitor___get_default_constructor_for(recv) ((typing___TypingVisitor___get_default_constructor_for_t)CALL((recv), (SFT_typing[4] + 18)))
-#define ID_VariableContext (SFT_typing[5])
-#define COLOR_VariableContext (SFT_typing[6])
-#define ATTR_typing___VariableContext____dico(recv) ATTR(recv, (SFT_typing[7] + 0))
-#define INIT_TABLE_POS_VariableContext (SFT_typing[8] + 0)
-#define CALL_typing___VariableContext_____bra(recv) ((typing___VariableContext_____bra_t)CALL((recv), (SFT_typing[8] + 1)))
-#define CALL_typing___VariableContext___add(recv) ((typing___VariableContext___add_t)CALL((recv), (SFT_typing[8] + 2)))
-#define CALL_typing___VariableContext___stype(recv) ((typing___VariableContext___stype_t)CALL((recv), (SFT_typing[8] + 3)))
-#define CALL_typing___VariableContext___sub(recv) ((typing___VariableContext___sub_t)CALL((recv), (SFT_typing[8] + 4)))
-#define CALL_typing___VariableContext___sub_with(recv) ((typing___VariableContext___sub_with_t)CALL((recv), (SFT_typing[8] + 5)))
-#define CALL_typing___VariableContext___init(recv) ((typing___VariableContext___init_t)CALL((recv), (SFT_typing[8] + 6)))
-#define ID_SubVariableContext (SFT_typing[9])
-#define COLOR_SubVariableContext (SFT_typing[10])
-#define ATTR_typing___SubVariableContext____prev(recv) ATTR(recv, (SFT_typing[11] + 0))
-#define ATTR_typing___SubVariableContext____variable(recv) ATTR(recv, (SFT_typing[11] + 1))
-#define ATTR_typing___SubVariableContext____var_type(recv) ATTR(recv, (SFT_typing[11] + 2))
-#define INIT_TABLE_POS_SubVariableContext (SFT_typing[12] + 0)
-#define CALL_typing___SubVariableContext___prev(recv) ((typing___SubVariableContext___prev_t)CALL((recv), (SFT_typing[12] + 1)))
-#define CALL_typing___SubVariableContext___with_prev(recv) ((typing___SubVariableContext___with_prev_t)CALL((recv), (SFT_typing[12] + 2)))
-#define CALL_typing___PNode___accept_typing(recv) ((typing___PNode___accept_typing_t)CALL((recv), (SFT_typing[13] + 0)))
-#define CALL_typing___PNode___after_typing(recv) ((typing___PNode___after_typing_t)CALL((recv), (SFT_typing[13] + 1)))
-#define CALL_SUPER_typing___PClassdef___accept_typing(recv) ((typing___PClassdef___accept_typing_t)CALL((recv), (SFT_typing[14] + 0)))
-#define CALL_SUPER_typing___AAttrPropdef___accept_typing(recv) ((typing___AAttrPropdef___accept_typing_t)CALL((recv), (SFT_typing[15] + 0)))
-#define ATTR_typing___AMethPropdef____self_var(recv) ATTR(recv, (SFT_typing[16] + 0))
-#define CALL_SUPER_typing___AMethPropdef___accept_typing(recv) ((typing___AMethPropdef___accept_typing_t)CALL((recv), (SFT_typing[17] + 0)))
-#define ATTR_typing___AConcreteInitPropdef____super_init_calls(recv) ATTR(recv, (SFT_typing[18] + 0))
-#define ATTR_typing___AConcreteInitPropdef____explicit_super_init_calls(recv) ATTR(recv, (SFT_typing[18] + 1))
-#define CALL_typing___AConcreteInitPropdef___super_init_calls(recv) ((typing___AConcreteInitPropdef___super_init_calls_t)CALL((recv), (SFT_typing[19] + 0)))
-#define CALL_typing___AConcreteInitPropdef___explicit_super_init_calls(recv) ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL((recv), (SFT_typing[19] + 1)))
-#define CALL_SUPER_typing___AConcreteInitPropdef___accept_typing(recv) ((typing___AConcreteInitPropdef___accept_typing_t)CALL((recv), (SFT_typing[19] + 2)))
-#define CALL_SUPER_typing___AClosureDecl___accept_typing(recv) ((typing___AClosureDecl___accept_typing_t)CALL((recv), (SFT_typing[20] + 0)))
-#define ATTR_typing___PType____stype(recv) ATTR(recv, (SFT_typing[21] + 0))
-#define CALL_typing___PType___stype(recv) ((typing___PType___stype_t)CALL((recv), (SFT_typing[22] + 0)))
-#define ATTR_typing___PExpr____stype(recv) ATTR(recv, (SFT_typing[23] + 0))
-#define ATTR_typing___PExpr____if_true_variable_ctx(recv) ATTR(recv, (SFT_typing[23] + 1))
-#define CALL_typing___PExpr___is_implicit_self(recv) ((typing___PExpr___is_implicit_self_t)CALL((recv), (SFT_typing[24] + 0)))
-#define CALL_typing___PExpr___is_self(recv) ((typing___PExpr___is_self_t)CALL((recv), (SFT_typing[24] + 1)))
-#define CALL_typing___PExpr___its_variable(recv) ((typing___PExpr___its_variable_t)CALL((recv), (SFT_typing[24] + 2)))
-#define CALL_typing___PExpr___if_true_variable_ctx(recv) ((typing___PExpr___if_true_variable_ctx_t)CALL((recv), (SFT_typing[24] + 3)))
-#define CALL_SUPER_typing___ABlockExpr___accept_typing(recv) ((typing___ABlockExpr___accept_typing_t)CALL((recv), (SFT_typing[25] + 0)))
-#define ATTR_typing___AForVardeclExpr____meth_iterator(recv) ATTR(recv, (SFT_typing[26] + 0))
-#define ATTR_typing___AForVardeclExpr____meth_is_ok(recv) ATTR(recv, (SFT_typing[26] + 1))
-#define ATTR_typing___AForVardeclExpr____meth_item(recv) ATTR(recv, (SFT_typing[26] + 2))
-#define ATTR_typing___AForVardeclExpr____meth_next(recv) ATTR(recv, (SFT_typing[26] + 3))
-#define CALL_typing___AForVardeclExpr___meth_iterator(recv) ((typing___AForVardeclExpr___meth_iterator_t)CALL((recv), (SFT_typing[27] + 0)))
-#define CALL_typing___AForVardeclExpr___meth_is_ok(recv) ((typing___AForVardeclExpr___meth_is_ok_t)CALL((recv), (SFT_typing[27] + 1)))
-#define CALL_typing___AForVardeclExpr___meth_item(recv) ((typing___AForVardeclExpr___meth_item_t)CALL((recv), (SFT_typing[27] + 2)))
-#define CALL_typing___AForVardeclExpr___meth_next(recv) ((typing___AForVardeclExpr___meth_next_t)CALL((recv), (SFT_typing[27] + 3)))
-#define ATTR_typing___AReassignFormExpr____assign_method(recv) ATTR(recv, (SFT_typing[28] + 0))
-#define CALL_typing___AReassignFormExpr___do_lvalue_typing(recv) ((typing___AReassignFormExpr___do_lvalue_typing_t)CALL((recv), (SFT_typing[29] + 0)))
-#define CALL_typing___AReassignFormExpr___assign_method(recv) ((typing___AReassignFormExpr___assign_method_t)CALL((recv), (SFT_typing[29] + 1)))
-#define CALL_typing___PAssignOp___method_name(recv) ((typing___PAssignOp___method_name_t)CALL((recv), (SFT_typing[30] + 0)))
-#define ATTR_typing___AStringFormExpr____meth_with_native(recv) ATTR(recv, (SFT_typing[31] + 0))
-#define CALL_typing___AStringFormExpr___meth_with_native(recv) ((typing___AStringFormExpr___meth_with_native_t)CALL((recv), (SFT_typing[32] + 0)))
-#define ATTR_typing___ASuperstringExpr____meth_with_capacity(recv) ATTR(recv, (SFT_typing[33] + 0))
-#define ATTR_typing___ASuperstringExpr____meth_add(recv) ATTR(recv, (SFT_typing[33] + 1))
-#define ATTR_typing___ASuperstringExpr____meth_to_s(recv) ATTR(recv, (SFT_typing[33] + 2))
-#define ATTR_typing___ASuperstringExpr____atype(recv) ATTR(recv, (SFT_typing[33] + 3))
-#define CALL_typing___ASuperstringExpr___meth_with_capacity(recv) ((typing___ASuperstringExpr___meth_with_capacity_t)CALL((recv), (SFT_typing[34] + 0)))
-#define CALL_typing___ASuperstringExpr___meth_add(recv) ((typing___ASuperstringExpr___meth_add_t)CALL((recv), (SFT_typing[34] + 1)))
-#define CALL_typing___ASuperstringExpr___meth_to_s(recv) ((typing___ASuperstringExpr___meth_to_s_t)CALL((recv), (SFT_typing[34] + 2)))
-#define CALL_typing___ASuperstringExpr___atype(recv) ((typing___ASuperstringExpr___atype_t)CALL((recv), (SFT_typing[34] + 3)))
-#define ATTR_typing___AArrayExpr____meth_with_capacity(recv) ATTR(recv, (SFT_typing[35] + 0))
-#define ATTR_typing___AArrayExpr____meth_add(recv) ATTR(recv, (SFT_typing[35] + 1))
-#define CALL_typing___AArrayExpr___meth_with_capacity(recv) ((typing___AArrayExpr___meth_with_capacity_t)CALL((recv), (SFT_typing[36] + 0)))
-#define CALL_typing___AArrayExpr___meth_add(recv) ((typing___AArrayExpr___meth_add_t)CALL((recv), (SFT_typing[36] + 1)))
-#define CALL_typing___AArrayExpr___do_typing(recv) ((typing___AArrayExpr___do_typing_t)CALL((recv), (SFT_typing[36] + 2)))
-#define ATTR_typing___ARangeExpr____meth_init(recv) ATTR(recv, (SFT_typing[37] + 0))
-#define CALL_typing___ARangeExpr___meth_init(recv) ((typing___ARangeExpr___meth_init_t)CALL((recv), (SFT_typing[38] + 0)))
-#define CALL_SUPER_typing___ACrangeExpr___after_typing(recv) ((typing___ACrangeExpr___after_typing_t)CALL((recv), (SFT_typing[39] + 0)))
-#define CALL_SUPER_typing___AOrangeExpr___after_typing(recv) ((typing___AOrangeExpr___after_typing_t)CALL((recv), (SFT_typing[40] + 0)))
-#define ATTR_typing___ASuperExpr____init_in_superclass(recv) ATTR(recv, (SFT_typing[41] + 0))
-#define CALL_typing___ASuperExpr___init_in_superclass(recv) ((typing___ASuperExpr___init_in_superclass_t)CALL((recv), (SFT_typing[42] + 0)))
-#define ATTR_typing___AAttrFormExpr____prop(recv) ATTR(recv, (SFT_typing[43] + 0))
-#define ATTR_typing___AAttrFormExpr____attr_type(recv) ATTR(recv, (SFT_typing[43] + 1))
-#define CALL_typing___AAttrFormExpr___prop(recv) ((typing___AAttrFormExpr___prop_t)CALL((recv), (SFT_typing[44] + 0)))
-#define CALL_typing___AAttrFormExpr___attr_type(recv) ((typing___AAttrFormExpr___attr_type_t)CALL((recv), (SFT_typing[44] + 1)))
-#define CALL_typing___AAttrFormExpr___do_typing(recv) ((typing___AAttrFormExpr___do_typing_t)CALL((recv), (SFT_typing[44] + 2)))
-#define ID_AAbsSendExpr (SFT_typing[45])
-#define COLOR_AAbsSendExpr (SFT_typing[46])
-#define ATTR_typing___AAbsSendExpr____prop_signature(recv) ATTR(recv, (SFT_typing[47] + 0))
-#define ATTR_typing___AAbsSendExpr____prop(recv) ATTR(recv, (SFT_typing[47] + 1))
-#define ATTR_typing___AAbsSendExpr____arguments(recv) ATTR(recv, (SFT_typing[47] + 2))
-#define ATTR_typing___AAbsSendExpr____return_type(recv) ATTR(recv, (SFT_typing[47] + 3))
-#define INIT_TABLE_POS_AAbsSendExpr (SFT_typing[48] + 0)
-#define CALL_typing___AAbsSendExpr___prop_signature(recv) ((typing___AAbsSendExpr___prop_signature_t)CALL((recv), (SFT_typing[48] + 1)))
-#define CALL_typing___AAbsSendExpr___do_typing(recv) ((typing___AAbsSendExpr___do_typing_t)CALL((recv), (SFT_typing[48] + 2)))
-#define CALL_typing___AAbsSendExpr___get_property(recv) ((typing___AAbsSendExpr___get_property_t)CALL((recv), (SFT_typing[48] + 3)))
-#define CALL_typing___AAbsSendExpr___get_signature(recv) ((typing___AAbsSendExpr___get_signature_t)CALL((recv), (SFT_typing[48] + 4)))
-#define CALL_typing___AAbsSendExpr___process_signature(recv) ((typing___AAbsSendExpr___process_signature_t)CALL((recv), (SFT_typing[48] + 5)))
-#define CALL_typing___AAbsSendExpr___process_closures(recv) ((typing___AAbsSendExpr___process_closures_t)CALL((recv), (SFT_typing[48] + 6)))
-#define CALL_typing___AAbsSendExpr___prop(recv) ((typing___AAbsSendExpr___prop_t)CALL((recv), (SFT_typing[48] + 7)))
-#define CALL_typing___AAbsSendExpr___arguments(recv) ((typing___AAbsSendExpr___arguments_t)CALL((recv), (SFT_typing[48] + 8)))
-#define CALL_typing___AAbsSendExpr___return_type(recv) ((typing___AAbsSendExpr___return_type_t)CALL((recv), (SFT_typing[48] + 9)))
-#define ID_ASuperInitCall (SFT_typing[49])
-#define COLOR_ASuperInitCall (SFT_typing[50])
-#define INIT_TABLE_POS_ASuperInitCall (SFT_typing[51] + 0)
-#define CALL_typing___ASuperInitCall___register_super_init_call(recv) ((typing___ASuperInitCall___register_super_init_call_t)CALL((recv), (SFT_typing[51] + 1)))
-#define CALL_typing___ASendExpr___name(recv) ((typing___ASendExpr___name_t)CALL((recv), (SFT_typing[52] + 0)))
-#define CALL_typing___ASendExpr___raw_arguments(recv) ((typing___ASendExpr___raw_arguments_t)CALL((recv), (SFT_typing[52] + 1)))
-#define CALL_typing___ASendExpr___closure_defs(recv) ((typing___ASendExpr___closure_defs_t)CALL((recv), (SFT_typing[52] + 2)))
-#define CALL_typing___ASendExpr___do_all_typing(recv) ((typing___ASendExpr___do_all_typing_t)CALL((recv), (SFT_typing[52] + 3)))
-#define ID_ASendReassignExpr (SFT_typing[53])
-#define COLOR_ASendReassignExpr (SFT_typing[54])
-#define ATTR_typing___ASendReassignExpr____read_prop(recv) ATTR(recv, (SFT_typing[55] + 0))
-#define INIT_TABLE_POS_ASendReassignExpr (SFT_typing[56] + 0)
-#define CALL_typing___ASendReassignExpr___read_prop(recv) ((typing___ASendReassignExpr___read_prop_t)CALL((recv), (SFT_typing[56] + 1)))
-#define CALL_SUPER_typing___ACallFormExpr___after_typing(recv) ((typing___ACallFormExpr___after_typing_t)CALL((recv), (SFT_typing[57] + 0)))
-#define CALL_typing___ACallFormExpr___variable_create(recv) ((typing___ACallFormExpr___variable_create_t)CALL((recv), (SFT_typing[57] + 1)))
-#define ATTR_typing___PClosureDef____accept_typing2(recv) ATTR(recv, (SFT_typing[58] + 0))
-#define CALL_SUPER_typing___PClosureDef___accept_typing(recv) ((typing___PClosureDef___accept_typing_t)CALL((recv), (SFT_typing[59] + 0)))
-#define CALL_typing___PClosureDef___accept_typing2(recv) ((typing___PClosureDef___accept_typing2_t)CALL((recv), (SFT_typing[59] + 1)))
-val_t NEW_MMSrcModule_syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3);
+#define CALL_typing___TypingVisitor___base_variable_ctx(recv) ((typing___TypingVisitor___base_variable_ctx_t)CALL((recv), (SFT_typing[4] + 3)))
+#define CALL_typing___TypingVisitor___base_variable_ctx__eq(recv) ((typing___TypingVisitor___base_variable_ctx__eq_t)CALL((recv), (SFT_typing[4] + 4)))
+#define CALL_typing___TypingVisitor___escapable_ctx(recv) ((typing___TypingVisitor___escapable_ctx_t)CALL((recv), (SFT_typing[4] + 5)))
+#define CALL_typing___TypingVisitor___escapable_ctx__eq(recv) ((typing___TypingVisitor___escapable_ctx__eq_t)CALL((recv), (SFT_typing[4] + 6)))
+#define CALL_typing___TypingVisitor___self_var(recv) ((typing___TypingVisitor___self_var_t)CALL((recv), (SFT_typing[4] + 7)))
+#define CALL_typing___TypingVisitor___self_var__eq(recv) ((typing___TypingVisitor___self_var__eq_t)CALL((recv), (SFT_typing[4] + 8)))
+#define CALL_typing___TypingVisitor___top_block(recv) ((typing___TypingVisitor___top_block_t)CALL((recv), (SFT_typing[4] + 9)))
+#define CALL_typing___TypingVisitor___top_block__eq(recv) ((typing___TypingVisitor___top_block__eq_t)CALL((recv), (SFT_typing[4] + 10)))
+#define CALL_typing___TypingVisitor___explicit_super_init_calls(recv) ((typing___TypingVisitor___explicit_super_init_calls_t)CALL((recv), (SFT_typing[4] + 11)))
+#define CALL_typing___TypingVisitor___explicit_super_init_calls__eq(recv) ((typing___TypingVisitor___explicit_super_init_calls__eq_t)CALL((recv), (SFT_typing[4] + 12)))
+#define CALL_typing___TypingVisitor___explicit_other_init_call(recv) ((typing___TypingVisitor___explicit_other_init_call_t)CALL((recv), (SFT_typing[4] + 13)))
+#define CALL_typing___TypingVisitor___explicit_other_init_call__eq(recv) ((typing___TypingVisitor___explicit_other_init_call__eq_t)CALL((recv), (SFT_typing[4] + 14)))
+#define CALL_typing___TypingVisitor___use_if_true_variable_ctx(recv) ((typing___TypingVisitor___use_if_true_variable_ctx_t)CALL((recv), (SFT_typing[4] + 15)))
+#define CALL_typing___TypingVisitor___use_if_false_variable_ctx(recv) ((typing___TypingVisitor___use_if_false_variable_ctx_t)CALL((recv), (SFT_typing[4] + 16)))
+#define CALL_typing___TypingVisitor___once_count(recv) ((typing___TypingVisitor___once_count_t)CALL((recv), (SFT_typing[4] + 17)))
+#define CALL_typing___TypingVisitor___once_count__eq(recv) ((typing___TypingVisitor___once_count__eq_t)CALL((recv), (SFT_typing[4] + 18)))
+#define CALL_typing___TypingVisitor___init(recv) ((typing___TypingVisitor___init_t)CALL((recv), (SFT_typing[4] + 19)))
+#define CALL_typing___TypingVisitor___get_default_constructor_for(recv) ((typing___TypingVisitor___get_default_constructor_for_t)CALL((recv), (SFT_typing[4] + 20)))
+#define CALL_typing___PNode___accept_typing(recv) ((typing___PNode___accept_typing_t)CALL((recv), (SFT_typing[5] + 0)))
+#define CALL_typing___PNode___after_typing(recv) ((typing___PNode___after_typing_t)CALL((recv), (SFT_typing[5] + 1)))
+#define CALL_SUPER_typing___PClassdef___accept_typing(recv) ((typing___PClassdef___accept_typing_t)CALL((recv), (SFT_typing[6] + 0)))
+#define CALL_SUPER_typing___AAttrPropdef___accept_typing(recv) ((typing___AAttrPropdef___accept_typing_t)CALL((recv), (SFT_typing[7] + 0)))
+#define ATTR_typing___AMethPropdef____self_var(recv) ATTR(recv, (SFT_typing[8] + 0))
+#define CALL_SUPER_typing___AMethPropdef___accept_typing(recv) ((typing___AMethPropdef___accept_typing_t)CALL((recv), (SFT_typing[9] + 0)))
+#define CALL_SUPER_typing___AConcreteMethPropdef___accept_typing(recv) ((typing___AConcreteMethPropdef___accept_typing_t)CALL((recv), (SFT_typing[10] + 0)))
+#define ATTR_typing___AConcreteInitPropdef____super_init_calls(recv) ATTR(recv, (SFT_typing[11] + 0))
+#define ATTR_typing___AConcreteInitPropdef____explicit_super_init_calls(recv) ATTR(recv, (SFT_typing[11] + 1))
+#define CALL_typing___AConcreteInitPropdef___super_init_calls(recv) ((typing___AConcreteInitPropdef___super_init_calls_t)CALL((recv), (SFT_typing[12] + 0)))
+#define CALL_typing___AConcreteInitPropdef___explicit_super_init_calls(recv) ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL((recv), (SFT_typing[12] + 1)))
+#define CALL_SUPER_typing___AConcreteInitPropdef___accept_typing(recv) ((typing___AConcreteInitPropdef___accept_typing_t)CALL((recv), (SFT_typing[12] + 2)))
+#define ATTR_typing___AClosureDecl____escapable(recv) ATTR(recv, (SFT_typing[13] + 0))
+#define CALL_typing___AClosureDecl___escapable(recv) ((typing___AClosureDecl___escapable_t)CALL((recv), (SFT_typing[14] + 0)))
+#define CALL_SUPER_typing___AClosureDecl___accept_typing(recv) ((typing___AClosureDecl___accept_typing_t)CALL((recv), (SFT_typing[14] + 1)))
+#define ATTR_typing___PType____stype(recv) ATTR(recv, (SFT_typing[15] + 0))
+#define CALL_typing___PType___stype(recv) ((typing___PType___stype_t)CALL((recv), (SFT_typing[16] + 0)))
+#define ATTR_typing___PExpr____is_typed(recv) ATTR(recv, (SFT_typing[17] + 0))
+#define ATTR_typing___PExpr____stype(recv) ATTR(recv, (SFT_typing[17] + 1))
+#define ATTR_typing___PExpr____if_true_variable_ctx(recv) ATTR(recv, (SFT_typing[17] + 2))
+#define ATTR_typing___PExpr____if_false_variable_ctx(recv) ATTR(recv, (SFT_typing[17] + 3))
+#define CALL_typing___PExpr___is_implicit_self(recv) ((typing___PExpr___is_implicit_self_t)CALL((recv), (SFT_typing[18] + 0)))
+#define CALL_typing___PExpr___is_self(recv) ((typing___PExpr___is_self_t)CALL((recv), (SFT_typing[18] + 1)))
+#define CALL_typing___PExpr___its_variable(recv) ((typing___PExpr___its_variable_t)CALL((recv), (SFT_typing[18] + 2)))
+#define CALL_typing___PExpr___if_true_variable_ctx(recv) ((typing___PExpr___if_true_variable_ctx_t)CALL((recv), (SFT_typing[18] + 3)))
+#define CALL_typing___PExpr___if_false_variable_ctx(recv) ((typing___PExpr___if_false_variable_ctx_t)CALL((recv), (SFT_typing[18] + 4)))
+#define ATTR_typing___AWhileExpr____escapable(recv) ATTR(recv, (SFT_typing[19] + 0))
+#define CALL_typing___AWhileExpr___escapable(recv) ((typing___AWhileExpr___escapable_t)CALL((recv), (SFT_typing[20] + 0)))
+#define ATTR_typing___AForExpr____escapable(recv) ATTR(recv, (SFT_typing[21] + 0))
+#define ATTR_typing___AForExpr____meth_iterator(recv) ATTR(recv, (SFT_typing[21] + 1))
+#define ATTR_typing___AForExpr____meth_is_ok(recv) ATTR(recv, (SFT_typing[21] + 2))
+#define ATTR_typing___AForExpr____meth_item(recv) ATTR(recv, (SFT_typing[21] + 3))
+#define ATTR_typing___AForExpr____meth_next(recv) ATTR(recv, (SFT_typing[21] + 4))
+#define CALL_typing___AForExpr___escapable(recv) ((typing___AForExpr___escapable_t)CALL((recv), (SFT_typing[22] + 0)))
+#define CALL_typing___AForExpr___meth_iterator(recv) ((typing___AForExpr___meth_iterator_t)CALL((recv), (SFT_typing[22] + 1)))
+#define CALL_typing___AForExpr___meth_is_ok(recv) ((typing___AForExpr___meth_is_ok_t)CALL((recv), (SFT_typing[22] + 2)))
+#define CALL_typing___AForExpr___meth_item(recv) ((typing___AForExpr___meth_item_t)CALL((recv), (SFT_typing[22] + 3)))
+#define CALL_typing___AForExpr___meth_next(recv) ((typing___AForExpr___meth_next_t)CALL((recv), (SFT_typing[22] + 4)))
+#define ATTR_typing___AReassignFormExpr____assign_method(recv) ATTR(recv, (SFT_typing[23] + 0))
+#define CALL_typing___AReassignFormExpr___do_rvalue_typing(recv) ((typing___AReassignFormExpr___do_rvalue_typing_t)CALL((recv), (SFT_typing[24] + 0)))
+#define CALL_typing___AReassignFormExpr___assign_method(recv) ((typing___AReassignFormExpr___assign_method_t)CALL((recv), (SFT_typing[24] + 1)))
+#define CALL_typing___PAssignOp___method_name(recv) ((typing___PAssignOp___method_name_t)CALL((recv), (SFT_typing[25] + 0)))
+#define ATTR_typing___AStringFormExpr____meth_with_native(recv) ATTR(recv, (SFT_typing[26] + 0))
+#define CALL_typing___AStringFormExpr___meth_with_native(recv) ((typing___AStringFormExpr___meth_with_native_t)CALL((recv), (SFT_typing[27] + 0)))
+#define ATTR_typing___ASuperstringExpr____meth_with_capacity(recv) ATTR(recv, (SFT_typing[28] + 0))
+#define ATTR_typing___ASuperstringExpr____meth_add(recv) ATTR(recv, (SFT_typing[28] + 1))
+#define ATTR_typing___ASuperstringExpr____meth_to_s(recv) ATTR(recv, (SFT_typing[28] + 2))
+#define ATTR_typing___ASuperstringExpr____atype(recv) ATTR(recv, (SFT_typing[28] + 3))
+#define CALL_typing___ASuperstringExpr___meth_with_capacity(recv) ((typing___ASuperstringExpr___meth_with_capacity_t)CALL((recv), (SFT_typing[29] + 0)))
+#define CALL_typing___ASuperstringExpr___meth_add(recv) ((typing___ASuperstringExpr___meth_add_t)CALL((recv), (SFT_typing[29] + 1)))
+#define CALL_typing___ASuperstringExpr___meth_to_s(recv) ((typing___ASuperstringExpr___meth_to_s_t)CALL((recv), (SFT_typing[29] + 2)))
+#define CALL_typing___ASuperstringExpr___atype(recv) ((typing___ASuperstringExpr___atype_t)CALL((recv), (SFT_typing[29] + 3)))
+#define ATTR_typing___AArrayExpr____meth_with_capacity(recv) ATTR(recv, (SFT_typing[30] + 0))
+#define ATTR_typing___AArrayExpr____meth_add(recv) ATTR(recv, (SFT_typing[30] + 1))
+#define CALL_typing___AArrayExpr___meth_with_capacity(recv) ((typing___AArrayExpr___meth_with_capacity_t)CALL((recv), (SFT_typing[31] + 0)))
+#define CALL_typing___AArrayExpr___meth_add(recv) ((typing___AArrayExpr___meth_add_t)CALL((recv), (SFT_typing[31] + 1)))
+#define CALL_typing___AArrayExpr___do_typing(recv) ((typing___AArrayExpr___do_typing_t)CALL((recv), (SFT_typing[31] + 2)))
+#define ATTR_typing___ARangeExpr____meth_init(recv) ATTR(recv, (SFT_typing[32] + 0))
+#define CALL_typing___ARangeExpr___meth_init(recv) ((typing___ARangeExpr___meth_init_t)CALL((recv), (SFT_typing[33] + 0)))
+#define CALL_SUPER_typing___ACrangeExpr___after_typing(recv) ((typing___ACrangeExpr___after_typing_t)CALL((recv), (SFT_typing[34] + 0)))
+#define CALL_SUPER_typing___AOrangeExpr___after_typing(recv) ((typing___AOrangeExpr___after_typing_t)CALL((recv), (SFT_typing[35] + 0)))
+#define ATTR_typing___ASuperExpr____init_in_superclass(recv) ATTR(recv, (SFT_typing[36] + 0))
+#define CALL_typing___ASuperExpr___init_in_superclass(recv) ((typing___ASuperExpr___init_in_superclass_t)CALL((recv), (SFT_typing[37] + 0)))
+#define ATTR_typing___AAttrFormExpr____prop(recv) ATTR(recv, (SFT_typing[38] + 0))
+#define ATTR_typing___AAttrFormExpr____attr_type(recv) ATTR(recv, (SFT_typing[38] + 1))
+#define CALL_typing___AAttrFormExpr___prop(recv) ((typing___AAttrFormExpr___prop_t)CALL((recv), (SFT_typing[39] + 0)))
+#define CALL_typing___AAttrFormExpr___attr_type(recv) ((typing___AAttrFormExpr___attr_type_t)CALL((recv), (SFT_typing[39] + 1)))
+#define CALL_typing___AAttrFormExpr___do_typing(recv) ((typing___AAttrFormExpr___do_typing_t)CALL((recv), (SFT_typing[39] + 2)))
+#define ID_AAbsAbsSendExpr (SFT_typing[40])
+#define COLOR_AAbsAbsSendExpr (SFT_typing[41])
+#define ATTR_typing___AAbsAbsSendExpr____prop_signature(recv) ATTR(recv, (SFT_typing[42] + 0))
+#define ATTR_typing___AAbsAbsSendExpr____arguments(recv) ATTR(recv, (SFT_typing[42] + 1))
+#define INIT_TABLE_POS_AAbsAbsSendExpr (SFT_typing[43] + 0)
+#define CALL_typing___AAbsAbsSendExpr___prop_signature(recv) ((typing___AAbsAbsSendExpr___prop_signature_t)CALL((recv), (SFT_typing[43] + 1)))
+#define CALL_typing___AAbsAbsSendExpr___arguments(recv) ((typing___AAbsAbsSendExpr___arguments_t)CALL((recv), (SFT_typing[43] + 2)))
+#define CALL_typing___AAbsAbsSendExpr___process_signature(recv) ((typing___AAbsAbsSendExpr___process_signature_t)CALL((recv), (SFT_typing[43] + 3)))
+#define CALL_typing___AAbsAbsSendExpr___process_closures(recv) ((typing___AAbsAbsSendExpr___process_closures_t)CALL((recv), (SFT_typing[43] + 4)))
+#define ID_AAbsSendExpr (SFT_typing[44])
+#define COLOR_AAbsSendExpr (SFT_typing[45])
+#define ATTR_typing___AAbsSendExpr____prop(recv) ATTR(recv, (SFT_typing[46] + 0))
+#define ATTR_typing___AAbsSendExpr____return_type(recv) ATTR(recv, (SFT_typing[46] + 1))
+#define INIT_TABLE_POS_AAbsSendExpr (SFT_typing[47] + 0)
+#define CALL_typing___AAbsSendExpr___do_typing(recv) ((typing___AAbsSendExpr___do_typing_t)CALL((recv), (SFT_typing[47] + 1)))
+#define CALL_typing___AAbsSendExpr___get_property(recv) ((typing___AAbsSendExpr___get_property_t)CALL((recv), (SFT_typing[47] + 2)))
+#define CALL_typing___AAbsSendExpr___get_signature(recv) ((typing___AAbsSendExpr___get_signature_t)CALL((recv), (SFT_typing[47] + 3)))
+#define CALL_typing___AAbsSendExpr___prop(recv) ((typing___AAbsSendExpr___prop_t)CALL((recv), (SFT_typing[47] + 4)))
+#define CALL_typing___AAbsSendExpr___return_type(recv) ((typing___AAbsSendExpr___return_type_t)CALL((recv), (SFT_typing[47] + 5)))
+#define ID_ASuperInitCall (SFT_typing[48])
+#define COLOR_ASuperInitCall (SFT_typing[49])
+#define INIT_TABLE_POS_ASuperInitCall (SFT_typing[50] + 0)
+#define CALL_typing___ASuperInitCall___register_super_init_call(recv) ((typing___ASuperInitCall___register_super_init_call_t)CALL((recv), (SFT_typing[50] + 1)))
+#define CALL_typing___ASendExpr___name(recv) ((typing___ASendExpr___name_t)CALL((recv), (SFT_typing[51] + 0)))
+#define CALL_typing___ASendExpr___raw_arguments(recv) ((typing___ASendExpr___raw_arguments_t)CALL((recv), (SFT_typing[51] + 1)))
+#define CALL_typing___ASendExpr___closure_defs(recv) ((typing___ASendExpr___closure_defs_t)CALL((recv), (SFT_typing[51] + 2)))
+#define CALL_typing___ASendExpr___do_all_typing(recv) ((typing___ASendExpr___do_all_typing_t)CALL((recv), (SFT_typing[51] + 3)))
+#define ID_ASendReassignExpr (SFT_typing[52])
+#define COLOR_ASendReassignExpr (SFT_typing[53])
+#define ATTR_typing___ASendReassignExpr____read_prop(recv) ATTR(recv, (SFT_typing[54] + 0))
+#define INIT_TABLE_POS_ASendReassignExpr (SFT_typing[55] + 0)
+#define CALL_typing___ASendReassignExpr___read_prop(recv) ((typing___ASendReassignExpr___read_prop_t)CALL((recv), (SFT_typing[55] + 1)))
+#define CALL_SUPER_typing___AEqExpr___after_typing(recv) ((typing___AEqExpr___after_typing_t)CALL((recv), (SFT_typing[56] + 0)))
+#define CALL_typing___AEqExpr___try_to_isa(recv) ((typing___AEqExpr___try_to_isa_t)CALL((recv), (SFT_typing[56] + 1)))
+#define CALL_SUPER_typing___ANeExpr___after_typing(recv) ((typing___ANeExpr___after_typing_t)CALL((recv), (SFT_typing[57] + 0)))
+#define CALL_typing___ANeExpr___try_to_isa(recv) ((typing___ANeExpr___try_to_isa_t)CALL((recv), (SFT_typing[57] + 1)))
+#define CALL_SUPER_typing___ACallFormExpr___after_typing(recv) ((typing___ACallFormExpr___after_typing_t)CALL((recv), (SFT_typing[58] + 0)))
+#define CALL_typing___ACallFormExpr___variable_create(recv) ((typing___ACallFormExpr___variable_create_t)CALL((recv), (SFT_typing[58] + 1)))
+#define ATTR_typing___PClosureDef____escapable(recv) ATTR(recv, (SFT_typing[59] + 0))
+#define ATTR_typing___PClosureDef____accept_typing2(recv) ATTR(recv, (SFT_typing[59] + 1))
+#define CALL_typing___PClosureDef___escapable(recv) ((typing___PClosureDef___escapable_t)CALL((recv), (SFT_typing[60] + 0)))
+#define CALL_SUPER_typing___PClosureDef___accept_typing(recv) ((typing___PClosureDef___accept_typing_t)CALL((recv), (SFT_typing[60] + 1)))
+#define CALL_typing___PClosureDef___accept_typing2(recv) ((typing___PClosureDef___accept_typing2_t)CALL((recv), (SFT_typing[60] + 2)))
+#define ID_ATypeCheckExpr (SFT_typing[61])
+#define COLOR_ATypeCheckExpr (SFT_typing[62])
+#define INIT_TABLE_POS_ATypeCheckExpr (SFT_typing[63] + 0)
+#define CALL_typing___ATypeCheckExpr___check_expr_cast(recv) ((typing___ATypeCheckExpr___check_expr_cast_t)CALL((recv), (SFT_typing[63] + 1)))
+#define CALL_SUPER_typing___AOnceExpr___accept_typing(recv) ((typing___AOnceExpr___accept_typing_t)CALL((recv), (SFT_typing[64] + 0)))
+val_t NEW_MMSrcModule_syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
typedef void (* typing___MMSrcModule___do_typing_t)(val_t self, val_t param0);
void typing___MMSrcModule___do_typing(val_t self, val_t param0);
#define LOCATE_typing___MMSrcModule___do_typing "typing::MMSrcModule::do_typing"
typedef void (* typing___TypingVisitor___variable_ctx__eq_t)(val_t self, val_t param0);
void typing___TypingVisitor___variable_ctx__eq(val_t self, val_t param0);
#define LOCATE_typing___TypingVisitor___variable_ctx__eq "typing::TypingVisitor::variable_ctx="
+typedef val_t (* typing___TypingVisitor___base_variable_ctx_t)(val_t self);
+val_t typing___TypingVisitor___base_variable_ctx(val_t self);
+#define LOCATE_typing___TypingVisitor___base_variable_ctx "typing::TypingVisitor::base_variable_ctx"
+typedef void (* typing___TypingVisitor___base_variable_ctx__eq_t)(val_t self, val_t param0);
+void typing___TypingVisitor___base_variable_ctx__eq(val_t self, val_t param0);
+#define LOCATE_typing___TypingVisitor___base_variable_ctx__eq "typing::TypingVisitor::base_variable_ctx="
+typedef val_t (* typing___TypingVisitor___escapable_ctx_t)(val_t self);
+val_t typing___TypingVisitor___escapable_ctx(val_t self);
+#define LOCATE_typing___TypingVisitor___escapable_ctx "typing::TypingVisitor::escapable_ctx"
+typedef void (* typing___TypingVisitor___escapable_ctx__eq_t)(val_t self, val_t param0);
+void typing___TypingVisitor___escapable_ctx__eq(val_t self, val_t param0);
+#define LOCATE_typing___TypingVisitor___escapable_ctx__eq "typing::TypingVisitor::escapable_ctx="
typedef val_t (* typing___TypingVisitor___self_var_t)(val_t self);
val_t typing___TypingVisitor___self_var(val_t self);
#define LOCATE_typing___TypingVisitor___self_var "typing::TypingVisitor::self_var"
typedef void (* typing___TypingVisitor___top_block__eq_t)(val_t self, val_t param0);
void typing___TypingVisitor___top_block__eq(val_t self, val_t param0);
#define LOCATE_typing___TypingVisitor___top_block__eq "typing::TypingVisitor::top_block="
-typedef val_t (* typing___TypingVisitor___closure_t)(val_t self);
-val_t typing___TypingVisitor___closure(val_t self);
-#define LOCATE_typing___TypingVisitor___closure "typing::TypingVisitor::closure"
-typedef void (* typing___TypingVisitor___closure__eq_t)(val_t self, val_t param0);
-void typing___TypingVisitor___closure__eq(val_t self, val_t param0);
-#define LOCATE_typing___TypingVisitor___closure__eq "typing::TypingVisitor::closure="
-typedef val_t (* typing___TypingVisitor___closure_break_stype_t)(val_t self);
-val_t typing___TypingVisitor___closure_break_stype(val_t self);
-#define LOCATE_typing___TypingVisitor___closure_break_stype "typing::TypingVisitor::closure_break_stype"
-typedef void (* typing___TypingVisitor___closure_break_stype__eq_t)(val_t self, val_t param0);
-void typing___TypingVisitor___closure_break_stype__eq(val_t self, val_t param0);
-#define LOCATE_typing___TypingVisitor___closure_break_stype__eq "typing::TypingVisitor::closure_break_stype="
-typedef val_t (* typing___TypingVisitor___break_list_t)(val_t self);
-val_t typing___TypingVisitor___break_list(val_t self);
-#define LOCATE_typing___TypingVisitor___break_list "typing::TypingVisitor::break_list"
-typedef void (* typing___TypingVisitor___break_list__eq_t)(val_t self, val_t param0);
-void typing___TypingVisitor___break_list__eq(val_t self, val_t param0);
-#define LOCATE_typing___TypingVisitor___break_list__eq "typing::TypingVisitor::break_list="
typedef val_t (* typing___TypingVisitor___explicit_super_init_calls_t)(val_t self);
val_t typing___TypingVisitor___explicit_super_init_calls(val_t self);
#define LOCATE_typing___TypingVisitor___explicit_super_init_calls "typing::TypingVisitor::explicit_super_init_calls"
typedef void (* typing___TypingVisitor___explicit_other_init_call__eq_t)(val_t self, val_t param0);
void typing___TypingVisitor___explicit_other_init_call__eq(val_t self, val_t param0);
#define LOCATE_typing___TypingVisitor___explicit_other_init_call__eq "typing::TypingVisitor::explicit_other_init_call="
+typedef void (* typing___TypingVisitor___use_if_true_variable_ctx_t)(val_t self, val_t param0);
+void typing___TypingVisitor___use_if_true_variable_ctx(val_t self, val_t param0);
+#define LOCATE_typing___TypingVisitor___use_if_true_variable_ctx "typing::TypingVisitor::use_if_true_variable_ctx"
+typedef void (* typing___TypingVisitor___use_if_false_variable_ctx_t)(val_t self, val_t param0);
+void typing___TypingVisitor___use_if_false_variable_ctx(val_t self, val_t param0);
+#define LOCATE_typing___TypingVisitor___use_if_false_variable_ctx "typing::TypingVisitor::use_if_false_variable_ctx"
+typedef val_t (* typing___TypingVisitor___once_count_t)(val_t self);
+val_t typing___TypingVisitor___once_count(val_t self);
+#define LOCATE_typing___TypingVisitor___once_count "typing::TypingVisitor::once_count"
+typedef void (* typing___TypingVisitor___once_count__eq_t)(val_t self, val_t param0);
+void typing___TypingVisitor___once_count__eq(val_t self, val_t param0);
+#define LOCATE_typing___TypingVisitor___once_count__eq "typing::TypingVisitor::once_count="
typedef void (* typing___TypingVisitor___init_t)(val_t self, val_t param0, val_t param1, int* init_table);
void typing___TypingVisitor___init(val_t self, val_t param0, val_t param1, int* init_table);
#define LOCATE_typing___TypingVisitor___init "typing::TypingVisitor::init"
typedef val_t (* typing___TypingVisitor___get_default_constructor_for_t)(val_t self, val_t param0, val_t param1, val_t param2);
val_t typing___TypingVisitor___get_default_constructor_for(val_t self, val_t param0, val_t param1, val_t param2);
#define LOCATE_typing___TypingVisitor___get_default_constructor_for "typing::TypingVisitor::get_default_constructor_for"
-typedef val_t (* typing___VariableContext_____bra_t)(val_t self, val_t param0);
-val_t typing___VariableContext_____bra(val_t self, val_t param0);
-#define LOCATE_typing___VariableContext_____bra "typing::VariableContext::[]"
-typedef void (* typing___VariableContext___add_t)(val_t self, val_t param0);
-void typing___VariableContext___add(val_t self, val_t param0);
-#define LOCATE_typing___VariableContext___add "typing::VariableContext::add"
-typedef val_t (* typing___VariableContext___stype_t)(val_t self, val_t param0);
-val_t typing___VariableContext___stype(val_t self, val_t param0);
-#define LOCATE_typing___VariableContext___stype "typing::VariableContext::stype"
-typedef val_t (* typing___VariableContext___sub_t)(val_t self);
-val_t typing___VariableContext___sub(val_t self);
-#define LOCATE_typing___VariableContext___sub "typing::VariableContext::sub"
-typedef val_t (* typing___VariableContext___sub_with_t)(val_t self, val_t param0, val_t param1);
-val_t typing___VariableContext___sub_with(val_t self, val_t param0, val_t param1);
-#define LOCATE_typing___VariableContext___sub_with "typing::VariableContext::sub_with"
-typedef void (* typing___VariableContext___init_t)(val_t self, int* init_table);
-void typing___VariableContext___init(val_t self, int* init_table);
-#define LOCATE_typing___VariableContext___init "typing::VariableContext::init"
-val_t NEW_VariableContext_typing___VariableContext___init();
-typedef val_t (* typing___SubVariableContext_____bra_t)(val_t self, val_t param0);
-val_t typing___SubVariableContext_____bra(val_t self, val_t param0);
-#define LOCATE_typing___SubVariableContext_____bra "typing::SubVariableContext::(typing::VariableContext::[])"
-typedef val_t (* typing___SubVariableContext___stype_t)(val_t self, val_t param0);
-val_t typing___SubVariableContext___stype(val_t self, val_t param0);
-#define LOCATE_typing___SubVariableContext___stype "typing::SubVariableContext::(typing::VariableContext::stype)"
-typedef val_t (* typing___SubVariableContext___prev_t)(val_t self);
-val_t typing___SubVariableContext___prev(val_t self);
-#define LOCATE_typing___SubVariableContext___prev "typing::SubVariableContext::prev"
-typedef void (* typing___SubVariableContext___with_prev_t)(val_t self, val_t param0, val_t param1, val_t param2, int* init_table);
-void typing___SubVariableContext___with_prev(val_t self, val_t param0, val_t param1, val_t param2, int* init_table);
-#define LOCATE_typing___SubVariableContext___with_prev "typing::SubVariableContext::with_prev"
-val_t NEW_SubVariableContext_typing___SubVariableContext___with_prev(val_t p0, val_t p1, val_t p2);
val_t NEW_PNode_parser_nodes___PNode___init();
typedef void (* typing___PNode___accept_typing_t)(val_t self, val_t param0);
void typing___PNode___accept_typing(val_t self, val_t param0);
#define LOCATE_typing___PClassdef___accept_typing "typing::PClassdef::(typing::PNode::accept_typing)"
val_t NEW_AAttrPropdef_parser_nodes___PNode___init();
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);
+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);
typedef void (* typing___AAttrPropdef___accept_typing_t)(val_t self, val_t param0);
void typing___AAttrPropdef___accept_typing(val_t self, val_t param0);
#define LOCATE_typing___AAttrPropdef___accept_typing "typing::AAttrPropdef::(typing::PNode::accept_typing)"
typedef void (* typing___AMethPropdef___accept_typing_t)(val_t self, val_t param0);
void typing___AMethPropdef___accept_typing(val_t self, val_t param0);
#define LOCATE_typing___AMethPropdef___accept_typing "typing::AMethPropdef::(typing::PNode::accept_typing)"
+val_t NEW_AConcreteMethPropdef_parser_nodes___PNode___init();
+val_t NEW_AConcreteMethPropdef_parser_prod___AMethPropdef___empty_init();
+val_t NEW_AConcreteMethPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+val_t NEW_AConcreteMethPropdef_parser_prod___AConcreteMethPropdef___empty_init();
+val_t NEW_AConcreteMethPropdef_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);
+typedef void (* typing___AConcreteMethPropdef___accept_typing_t)(val_t self, val_t param0);
+void typing___AConcreteMethPropdef___accept_typing(val_t self, val_t param0);
+#define LOCATE_typing___AConcreteMethPropdef___accept_typing "typing::AConcreteMethPropdef::(typing::PNode::accept_typing)"
val_t NEW_AConcreteInitPropdef_parser_nodes___PNode___init();
val_t NEW_AConcreteInitPropdef_parser_prod___AMethPropdef___empty_init();
val_t NEW_AConcreteInitPropdef_parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
typedef void (* typing___AClosureDecl___accept_typing_t)(val_t self, val_t param0);
void typing___AClosureDecl___accept_typing(val_t self, val_t param0);
#define LOCATE_typing___AClosureDecl___accept_typing "typing::AClosureDecl::(typing::PNode::accept_typing)"
+typedef val_t (* typing___AClosureDecl___escapable_t)(val_t self);
+val_t typing___AClosureDecl___escapable(val_t self);
+#define LOCATE_typing___AClosureDecl___escapable "typing::AClosureDecl::escapable"
val_t NEW_PType_parser_nodes___PNode___init();
typedef void (* typing___PType___after_typing_t)(val_t self, val_t param0);
void typing___PType___after_typing(val_t self, val_t param0);
val_t typing___PType___stype(val_t self);
#define LOCATE_typing___PType___stype "typing::PType::stype"
val_t NEW_PExpr_parser_nodes___PNode___init();
+typedef val_t (* typing___PExpr___is_typed_t)(val_t self);
+val_t typing___PExpr___is_typed(val_t self);
+#define LOCATE_typing___PExpr___is_typed "typing::PExpr::(syntax_base::PExpr::is_typed)"
+typedef val_t (* typing___PExpr___is_statement_t)(val_t self);
+val_t typing___PExpr___is_statement(val_t self);
+#define LOCATE_typing___PExpr___is_statement "typing::PExpr::(syntax_base::PExpr::is_statement)"
typedef val_t (* typing___PExpr___stype_t)(val_t self);
val_t typing___PExpr___stype(val_t self);
#define LOCATE_typing___PExpr___stype "typing::PExpr::(syntax_base::PExpr::stype)"
typedef val_t (* typing___PExpr___if_true_variable_ctx_t)(val_t self);
val_t typing___PExpr___if_true_variable_ctx(val_t self);
#define LOCATE_typing___PExpr___if_true_variable_ctx "typing::PExpr::if_true_variable_ctx"
+typedef val_t (* typing___PExpr___if_false_variable_ctx_t)(val_t self);
+val_t typing___PExpr___if_false_variable_ctx(val_t self);
+#define LOCATE_typing___PExpr___if_false_variable_ctx "typing::PExpr::if_false_variable_ctx"
val_t NEW_AVardeclExpr_parser_nodes___PNode___init();
val_t NEW_AVardeclExpr_parser_prod___AVardeclExpr___empty_init();
val_t NEW_AVardeclExpr_parser_prod___AVardeclExpr___init_avardeclexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
typedef void (* typing___ABreakExpr___after_typing_t)(val_t self, val_t param0);
void typing___ABreakExpr___after_typing(val_t self, val_t param0);
#define LOCATE_typing___ABreakExpr___after_typing "typing::ABreakExpr::(typing::PNode::after_typing)"
+val_t NEW_AAbortExpr_parser_nodes___PNode___init();
+val_t NEW_AAbortExpr_parser_prod___AAbortExpr___empty_init();
+val_t NEW_AAbortExpr_parser_prod___AAbortExpr___init_aabortexpr(val_t p0);
+typedef void (* typing___AAbortExpr___after_typing_t)(val_t self, val_t param0);
+void typing___AAbortExpr___after_typing(val_t self, val_t param0);
+#define LOCATE_typing___AAbortExpr___after_typing "typing::AAbortExpr::(typing::PNode::after_typing)"
val_t NEW_AIfExpr_parser_nodes___PNode___init();
val_t NEW_AIfExpr_parser_prod___AIfExpr___empty_init();
val_t NEW_AIfExpr_parser_prod___AIfExpr___init_aifexpr(val_t p0, val_t p1, val_t p2, val_t p3);
val_t NEW_AWhileExpr_parser_nodes___PNode___init();
val_t NEW_AWhileExpr_parser_prod___AWhileExpr___empty_init();
val_t NEW_AWhileExpr_parser_prod___AWhileExpr___init_awhileexpr(val_t p0, val_t p1, val_t p2, val_t p3);
-typedef void (* typing___AWhileExpr___after_typing_t)(val_t self, val_t param0);
-void typing___AWhileExpr___after_typing(val_t self, val_t param0);
-#define LOCATE_typing___AWhileExpr___after_typing "typing::AWhileExpr::(typing::PNode::after_typing)"
+typedef void (* typing___AWhileExpr___accept_typing_t)(val_t self, val_t param0);
+void typing___AWhileExpr___accept_typing(val_t self, val_t param0);
+#define LOCATE_typing___AWhileExpr___accept_typing "typing::AWhileExpr::(typing::PNode::accept_typing)"
+typedef val_t (* typing___AWhileExpr___escapable_t)(val_t self);
+val_t typing___AWhileExpr___escapable(val_t self);
+#define LOCATE_typing___AWhileExpr___escapable "typing::AWhileExpr::escapable"
val_t NEW_AForExpr_parser_nodes___PNode___init();
val_t NEW_AForExpr_parser_prod___AForExpr___empty_init();
-val_t NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(val_t p0, val_t p1, val_t p2);
-typedef void (* typing___AForExpr___after_typing_t)(val_t self, val_t param0);
-void typing___AForExpr___after_typing(val_t self, val_t param0);
-#define LOCATE_typing___AForExpr___after_typing "typing::AForExpr::(typing::PNode::after_typing)"
-val_t NEW_AForVardeclExpr_parser_nodes___PNode___init();
-val_t NEW_AForVardeclExpr_parser_prod___AForVardeclExpr___empty_init();
-val_t NEW_AForVardeclExpr_parser_prod___AForVardeclExpr___init_aforvardeclexpr(val_t p0, val_t p1, val_t p2);
-typedef void (* typing___AForVardeclExpr___after_typing_t)(val_t self, val_t param0);
-void typing___AForVardeclExpr___after_typing(val_t self, val_t param0);
-#define LOCATE_typing___AForVardeclExpr___after_typing "typing::AForVardeclExpr::(typing::PNode::after_typing)"
-typedef val_t (* typing___AForVardeclExpr___meth_iterator_t)(val_t self);
-val_t typing___AForVardeclExpr___meth_iterator(val_t self);
-#define LOCATE_typing___AForVardeclExpr___meth_iterator "typing::AForVardeclExpr::meth_iterator"
-typedef val_t (* typing___AForVardeclExpr___meth_is_ok_t)(val_t self);
-val_t typing___AForVardeclExpr___meth_is_ok(val_t self);
-#define LOCATE_typing___AForVardeclExpr___meth_is_ok "typing::AForVardeclExpr::meth_is_ok"
-typedef val_t (* typing___AForVardeclExpr___meth_item_t)(val_t self);
-val_t typing___AForVardeclExpr___meth_item(val_t self);
-#define LOCATE_typing___AForVardeclExpr___meth_item "typing::AForVardeclExpr::meth_item"
-typedef val_t (* typing___AForVardeclExpr___meth_next_t)(val_t self);
-val_t typing___AForVardeclExpr___meth_next(val_t self);
-#define LOCATE_typing___AForVardeclExpr___meth_next "typing::AForVardeclExpr::meth_next"
+val_t NEW_AForExpr_parser_prod___AForExpr___init_aforexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
+typedef void (* typing___AForExpr___accept_typing_t)(val_t self, val_t param0);
+void typing___AForExpr___accept_typing(val_t self, val_t param0);
+#define LOCATE_typing___AForExpr___accept_typing "typing::AForExpr::(typing::PNode::accept_typing)"
+typedef val_t (* typing___AForExpr___escapable_t)(val_t self);
+val_t typing___AForExpr___escapable(val_t self);
+#define LOCATE_typing___AForExpr___escapable "typing::AForExpr::escapable"
+typedef val_t (* typing___AForExpr___meth_iterator_t)(val_t self);
+val_t typing___AForExpr___meth_iterator(val_t self);
+#define LOCATE_typing___AForExpr___meth_iterator "typing::AForExpr::meth_iterator"
+typedef val_t (* typing___AForExpr___meth_is_ok_t)(val_t self);
+val_t typing___AForExpr___meth_is_ok(val_t self);
+#define LOCATE_typing___AForExpr___meth_is_ok "typing::AForExpr::meth_is_ok"
+typedef val_t (* typing___AForExpr___meth_item_t)(val_t self);
+val_t typing___AForExpr___meth_item(val_t self);
+#define LOCATE_typing___AForExpr___meth_item "typing::AForExpr::meth_item"
+typedef val_t (* typing___AForExpr___meth_next_t)(val_t self);
+val_t typing___AForExpr___meth_next(val_t self);
+#define LOCATE_typing___AForExpr___meth_next "typing::AForExpr::meth_next"
val_t NEW_AAssertExpr_parser_nodes___PNode___init();
val_t NEW_AAssertExpr_parser_prod___AAssertExpr___empty_init();
val_t NEW_AAssertExpr_parser_prod___AAssertExpr___init_aassertexpr(val_t p0, val_t p1, val_t p2);
void typing___AVarAssignExpr___after_typing(val_t self, val_t param0);
#define LOCATE_typing___AVarAssignExpr___after_typing "typing::AVarAssignExpr::(typing::PNode::after_typing)"
val_t NEW_AReassignFormExpr_parser_nodes___PNode___init();
-typedef void (* typing___AReassignFormExpr___do_lvalue_typing_t)(val_t self, val_t param0, val_t param1);
-void typing___AReassignFormExpr___do_lvalue_typing(val_t self, val_t param0, val_t param1);
-#define LOCATE_typing___AReassignFormExpr___do_lvalue_typing "typing::AReassignFormExpr::do_lvalue_typing"
+typedef val_t (* typing___AReassignFormExpr___do_rvalue_typing_t)(val_t self, val_t param0, val_t param1);
+val_t typing___AReassignFormExpr___do_rvalue_typing(val_t self, val_t param0, val_t param1);
+#define LOCATE_typing___AReassignFormExpr___do_rvalue_typing "typing::AReassignFormExpr::do_rvalue_typing"
typedef val_t (* typing___AReassignFormExpr___assign_method_t)(val_t self);
val_t typing___AReassignFormExpr___assign_method(val_t self);
#define LOCATE_typing___AReassignFormExpr___assign_method "typing::AReassignFormExpr::assign_method"
val_t NEW_AOrExpr_parser_nodes___PNode___init();
val_t NEW_AOrExpr_parser_prod___AOrExpr___empty_init();
val_t NEW_AOrExpr_parser_prod___AOrExpr___init_aorexpr(val_t p0, val_t p1);
-typedef void (* typing___AOrExpr___after_typing_t)(val_t self, val_t param0);
-void typing___AOrExpr___after_typing(val_t self, val_t param0);
-#define LOCATE_typing___AOrExpr___after_typing "typing::AOrExpr::(typing::PNode::after_typing)"
+typedef void (* typing___AOrExpr___accept_typing_t)(val_t self, val_t param0);
+void typing___AOrExpr___accept_typing(val_t self, val_t param0);
+#define LOCATE_typing___AOrExpr___accept_typing "typing::AOrExpr::(typing::PNode::accept_typing)"
val_t NEW_AAndExpr_parser_nodes___PNode___init();
val_t NEW_AAndExpr_parser_prod___AAndExpr___empty_init();
val_t NEW_AAndExpr_parser_prod___AAndExpr___init_aandexpr(val_t p0, val_t p1);
typedef void (* typing___AAttrReassignExpr___after_typing_t)(val_t self, val_t param0);
void typing___AAttrReassignExpr___after_typing(val_t self, val_t param0);
#define LOCATE_typing___AAttrReassignExpr___after_typing "typing::AAttrReassignExpr::(typing::PNode::after_typing)"
+val_t NEW_AIssetAttrExpr_parser_nodes___PNode___init();
+val_t NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___empty_init();
+val_t NEW_AIssetAttrExpr_parser_prod___AIssetAttrExpr___init_aissetattrexpr(val_t p0, val_t p1, val_t p2);
+typedef void (* typing___AIssetAttrExpr___after_typing_t)(val_t self, val_t param0);
+void typing___AIssetAttrExpr___after_typing(val_t self, val_t param0);
+#define LOCATE_typing___AIssetAttrExpr___after_typing "typing::AIssetAttrExpr::(typing::PNode::after_typing)"
+val_t NEW_AAbsAbsSendExpr_parser_nodes___PNode___init();
+typedef val_t (* typing___AAbsAbsSendExpr___prop_signature_t)(val_t self);
+val_t typing___AAbsAbsSendExpr___prop_signature(val_t self);
+#define LOCATE_typing___AAbsAbsSendExpr___prop_signature "typing::AAbsAbsSendExpr::prop_signature"
+typedef val_t (* typing___AAbsAbsSendExpr___arguments_t)(val_t self);
+val_t typing___AAbsAbsSendExpr___arguments(val_t self);
+#define LOCATE_typing___AAbsAbsSendExpr___arguments "typing::AAbsAbsSendExpr::arguments"
+typedef val_t (* typing___AAbsAbsSendExpr___process_signature_t)(val_t self, val_t param0, val_t param1, val_t param2, val_t param3);
+val_t typing___AAbsAbsSendExpr___process_signature(val_t self, val_t param0, val_t param1, val_t param2, val_t param3);
+#define LOCATE_typing___AAbsAbsSendExpr___process_signature "typing::AAbsAbsSendExpr::process_signature"
+typedef val_t (* typing___AAbsAbsSendExpr___process_closures_t)(val_t self, val_t param0, val_t param1, val_t param2, val_t param3);
+val_t typing___AAbsAbsSendExpr___process_closures(val_t self, val_t param0, val_t param1, val_t param2, val_t param3);
+#define LOCATE_typing___AAbsAbsSendExpr___process_closures "typing::AAbsAbsSendExpr::process_closures"
val_t NEW_AAbsSendExpr_parser_nodes___PNode___init();
-typedef val_t (* typing___AAbsSendExpr___prop_signature_t)(val_t self);
-val_t typing___AAbsSendExpr___prop_signature(val_t self);
-#define LOCATE_typing___AAbsSendExpr___prop_signature "typing::AAbsSendExpr::prop_signature"
typedef void (* typing___AAbsSendExpr___do_typing_t)(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, val_t param5, val_t param6);
void typing___AAbsSendExpr___do_typing(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, val_t param4, val_t param5, val_t param6);
#define LOCATE_typing___AAbsSendExpr___do_typing "typing::AAbsSendExpr::do_typing"
typedef val_t (* typing___AAbsSendExpr___get_signature_t)(val_t self, val_t param0, val_t param1, val_t param2, val_t param3);
val_t typing___AAbsSendExpr___get_signature(val_t self, val_t param0, val_t param1, val_t param2, val_t param3);
#define LOCATE_typing___AAbsSendExpr___get_signature "typing::AAbsSendExpr::get_signature"
-typedef val_t (* typing___AAbsSendExpr___process_signature_t)(val_t self, val_t param0, val_t param1, val_t param2, val_t param3);
-val_t typing___AAbsSendExpr___process_signature(val_t self, val_t param0, val_t param1, val_t param2, val_t param3);
-#define LOCATE_typing___AAbsSendExpr___process_signature "typing::AAbsSendExpr::process_signature"
-typedef val_t (* typing___AAbsSendExpr___process_closures_t)(val_t self, val_t param0, val_t param1, val_t param2, val_t param3);
-val_t typing___AAbsSendExpr___process_closures(val_t self, val_t param0, val_t param1, val_t param2, val_t param3);
-#define LOCATE_typing___AAbsSendExpr___process_closures "typing::AAbsSendExpr::process_closures"
typedef val_t (* typing___AAbsSendExpr___prop_t)(val_t self);
val_t typing___AAbsSendExpr___prop(val_t self);
#define LOCATE_typing___AAbsSendExpr___prop "typing::AAbsSendExpr::prop"
-typedef val_t (* typing___AAbsSendExpr___arguments_t)(val_t self);
-val_t typing___AAbsSendExpr___arguments(val_t self);
-#define LOCATE_typing___AAbsSendExpr___arguments "typing::AAbsSendExpr::arguments"
typedef val_t (* typing___AAbsSendExpr___return_type_t)(val_t self);
val_t typing___AAbsSendExpr___return_type(val_t self);
#define LOCATE_typing___AAbsSendExpr___return_type "typing::AAbsSendExpr::return_type"
val_t NEW_AEqExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
val_t NEW_AEqExpr_parser_prod___AEqExpr___empty_init();
val_t NEW_AEqExpr_parser_prod___AEqExpr___init_aeqexpr(val_t p0, val_t p1);
+typedef void (* typing___AEqExpr___after_typing_t)(val_t self, val_t param0);
+void typing___AEqExpr___after_typing(val_t self, val_t param0);
+#define LOCATE_typing___AEqExpr___after_typing "typing::AEqExpr::(typing::PNode::after_typing)"
typedef val_t (* typing___AEqExpr___name_t)(val_t self);
val_t typing___AEqExpr___name(val_t self);
#define LOCATE_typing___AEqExpr___name "typing::AEqExpr::(typing::ASendExpr::name)"
+typedef void (* typing___AEqExpr___try_to_isa_t)(val_t self, val_t param0, val_t param1);
+void typing___AEqExpr___try_to_isa(val_t self, val_t param0, val_t param1);
+#define LOCATE_typing___AEqExpr___try_to_isa "typing::AEqExpr::try_to_isa"
val_t NEW_ANeExpr_parser_nodes___PNode___init();
val_t NEW_ANeExpr_parser_prod___ASendExpr___empty_init();
val_t NEW_ANeExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
val_t NEW_ANeExpr_parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1);
val_t NEW_ANeExpr_parser_prod___ANeExpr___empty_init();
val_t NEW_ANeExpr_parser_prod___ANeExpr___init_aneexpr(val_t p0, val_t p1);
+typedef void (* typing___ANeExpr___after_typing_t)(val_t self, val_t param0);
+void typing___ANeExpr___after_typing(val_t self, val_t param0);
+#define LOCATE_typing___ANeExpr___after_typing "typing::ANeExpr::(typing::PNode::after_typing)"
typedef val_t (* typing___ANeExpr___name_t)(val_t self);
val_t typing___ANeExpr___name(val_t self);
#define LOCATE_typing___ANeExpr___name "typing::ANeExpr::(typing::ASendExpr::name)"
+typedef void (* typing___ANeExpr___try_to_isa_t)(val_t self, val_t param0, val_t param1);
+void typing___ANeExpr___try_to_isa(val_t self, val_t param0, val_t param1);
+#define LOCATE_typing___ANeExpr___try_to_isa "typing::ANeExpr::try_to_isa"
val_t NEW_ALtExpr_parser_nodes___PNode___init();
val_t NEW_ALtExpr_parser_prod___ASendExpr___empty_init();
val_t NEW_ALtExpr_parser_prod___ASendExpr___init_asendexpr(val_t p0);
typedef val_t (* typing___AInitExpr___raw_arguments_t)(val_t self);
val_t typing___AInitExpr___raw_arguments(val_t self);
#define LOCATE_typing___AInitExpr___raw_arguments "typing::AInitExpr::(typing::ASendExpr::raw_arguments)"
-val_t NEW_AClosureCallExpr_parser_nodes___AClosureCallExpr___init(val_t p0, val_t p1, val_t p2);
+val_t NEW_AClosureCallExpr_parser_nodes___PNode___init();
+val_t NEW_AClosureCallExpr_parser_prod___AClosureCallExpr___empty_init();
+val_t NEW_AClosureCallExpr_parser_prod___AClosureCallExpr___init_aclosurecallexpr(val_t p0, val_t p1, val_t p2);
typedef void (* typing___AClosureCallExpr___after_typing_t)(val_t self, val_t param0);
void typing___AClosureCallExpr___after_typing(val_t self, val_t param0);
#define LOCATE_typing___AClosureCallExpr___after_typing "typing::AClosureCallExpr::(typing::PNode::after_typing)"
typedef void (* typing___PClosureDef___accept_typing_t)(val_t self, val_t param0);
void typing___PClosureDef___accept_typing(val_t self, val_t param0);
#define LOCATE_typing___PClosureDef___accept_typing "typing::PClosureDef::(typing::PNode::accept_typing)"
+typedef val_t (* typing___PClosureDef___escapable_t)(val_t self);
+val_t typing___PClosureDef___escapable(val_t self);
+#define LOCATE_typing___PClosureDef___escapable "typing::PClosureDef::escapable"
typedef void (* typing___PClosureDef___accept_typing2_t)(val_t self, val_t param0, val_t param1);
void typing___PClosureDef___accept_typing2(val_t self, val_t param0, val_t param1);
#define LOCATE_typing___PClosureDef___accept_typing2 "typing::PClosureDef::accept_typing2"
typedef void (* typing___AClosureDef___accept_typing2_t)(val_t self, val_t param0, val_t param1);
void typing___AClosureDef___accept_typing2(val_t self, val_t param0, val_t param1);
#define LOCATE_typing___AClosureDef___accept_typing2 "typing::AClosureDef::(typing::PClosureDef::accept_typing2)"
+val_t NEW_ATypeCheckExpr_parser_nodes___PNode___init();
+typedef void (* typing___ATypeCheckExpr___check_expr_cast_t)(val_t self, val_t param0, val_t param1, val_t param2);
+void typing___ATypeCheckExpr___check_expr_cast(val_t self, val_t param0, val_t param1, val_t param2);
+#define LOCATE_typing___ATypeCheckExpr___check_expr_cast "typing::ATypeCheckExpr::check_expr_cast"
val_t NEW_AIsaExpr_parser_nodes___PNode___init();
val_t NEW_AIsaExpr_parser_prod___AIsaExpr___empty_init();
val_t NEW_AIsaExpr_parser_prod___AIsaExpr___init_aisaexpr(val_t p0, val_t p1);
typedef void (* typing___AAsCastExpr___after_typing_t)(val_t self, val_t param0);
void typing___AAsCastExpr___after_typing(val_t self, val_t param0);
#define LOCATE_typing___AAsCastExpr___after_typing "typing::AAsCastExpr::(typing::PNode::after_typing)"
+val_t NEW_AAsNotnullExpr_parser_nodes___PNode___init();
+val_t NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___empty_init();
+val_t NEW_AAsNotnullExpr_parser_prod___AAsNotnullExpr___init_aasnotnullexpr(val_t p0, val_t p1, val_t p2, val_t p3);
+typedef void (* typing___AAsNotnullExpr___after_typing_t)(val_t self, val_t param0);
+void typing___AAsNotnullExpr___after_typing(val_t self, val_t param0);
+#define LOCATE_typing___AAsNotnullExpr___after_typing "typing::AAsNotnullExpr::(typing::PNode::after_typing)"
val_t NEW_AProxyExpr_parser_nodes___PNode___init();
typedef void (* typing___AProxyExpr___after_typing_t)(val_t self, val_t param0);
void typing___AProxyExpr___after_typing(val_t self, val_t param0);
#define LOCATE_typing___AProxyExpr___after_typing "typing::AProxyExpr::(typing::PNode::after_typing)"
+val_t NEW_AOnceExpr_parser_nodes___PNode___init();
+val_t NEW_AOnceExpr_parser_prod___AOnceExpr___empty_init();
+val_t NEW_AOnceExpr_parser_prod___AOnceExpr___init_aonceexpr(val_t p0, val_t p1);
+typedef void (* typing___AOnceExpr___accept_typing_t)(val_t self, val_t param0);
+void typing___AOnceExpr___accept_typing(val_t self, val_t param0);
+#define LOCATE_typing___AOnceExpr___accept_typing "typing::AOnceExpr::(typing::PNode::accept_typing)"
#endif