-val_t typing___ACallExpr___name(val_t self) {
- struct trace_t trace = {NULL, NULL, 1456, LOCATE_typing___ACallExpr___name};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = CALL_parser_nodes___ACallFormExpr___n_id(variable[0])(variable[0]) /*ACallFormExpr::n_id*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_syntax_base___Token___to_symbol(variable[2])(variable[2]) /*Token::to_symbol*/;
- variable[1] = variable[2];
- goto return_label303;
- return_label303: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___ACallExpr___raw_arguments(val_t self) {
- struct trace_t trace = {NULL, NULL, 1457, LOCATE_typing___ACallExpr___raw_arguments};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = CALL_parser_nodes___ACallFormExpr___n_args(variable[0])(variable[0]) /*ACallFormExpr::n_args*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_array___Collection___to_a(variable[2])(variable[2]) /*Collection::to_a*/;
- variable[1] = variable[2];
- goto return_label304;
- return_label304: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___ACallExpr___variable_create(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 1451, LOCATE_typing___ACallExpr___variable_create};
- val_t variable[4];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Result */
- variable[3] = CALL_parser_nodes___ACallFormExpr___n_id(variable[0])(variable[0]) /*ACallFormExpr::n_id*/;
- /* Register variable[3]: Result */
- variable[3] = NEW_AVarExpr_parser_prod___AVarExpr___init_avarexpr(variable[3]) /*new AVarExpr*/;
- variable[2] = variable[3];
- goto return_label305;
- return_label305: while(false);
- tracehead = trace.prev;
- return variable[2];
-}
-val_t typing___ACallAssignExpr___name(val_t self) {
- struct trace_t trace = {NULL, NULL, 1466, LOCATE_typing___ACallAssignExpr___name};
- static val_t once_value_307 = NIT_NULL; /* Once value for string variable[3]*/
- val_t variable[4];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = CALL_parser_nodes___ACallFormExpr___n_id(variable[0])(variable[0]) /*ACallFormExpr::n_id*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
- /* Register variable[3]: Once String constant */
- if (once_value_307 != NIT_NULL) variable[3] = once_value_307;
- else {
- variable[3] = NEW_String_string___String___with_native(BOX_NativeString("="), TAG_Int(1)) /*new String*/;
- once_value_307 = variable[3];
- }
- /* Register variable[3]: Result */
- /* Register variable[2]: Result */
- variable[2] = CALL_string___String_____plus(variable[2])(variable[2], variable[3]) /*String::+*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_symbol___String___to_symbol(variable[2])(variable[2]) /*String::to_symbol*/;
- variable[1] = variable[2];
- goto return_label306;
- return_label306: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___ACallAssignExpr___raw_arguments(val_t self) {
- struct trace_t trace = {NULL, NULL, 1467, LOCATE_typing___ACallAssignExpr___raw_arguments};
- val_t variable[4];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Local variable */
- /* Register variable[3]: Result */
- variable[3] = CALL_parser_nodes___ACallFormExpr___n_args(variable[0])(variable[0]) /*ACallFormExpr::n_args*/;
- /* Register variable[3]: Result */
- variable[3] = CALL_array___Collection___to_a(variable[3])(variable[3]) /*Collection::to_a*/;
- variable[2] = variable[3];
- /* Register variable[3]: Result */
- variable[3] = CALL_parser_nodes___AAssignFormExpr___n_value(variable[0])(variable[0]) /*AAssignFormExpr::n_value*/;
- CALL_abstract_collection___SimpleCollection___add( variable[2] /*res*/)( variable[2] /*res*/, variable[3]) /*AbstractArray::add*/;
- variable[1] = variable[2] /*res*/;
- goto return_label308;
- return_label308: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___ACallAssignExpr___variable_create(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 1461, LOCATE_typing___ACallAssignExpr___variable_create};
- val_t variable[6];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Result */
- variable[3] = CALL_parser_nodes___ACallFormExpr___n_id(variable[0])(variable[0]) /*ACallFormExpr::n_id*/;
- /* Register variable[4]: Result */
- variable[4] = CALL_parser_nodes___AAssignFormExpr___n_assign(variable[0])(variable[0]) /*AAssignFormExpr::n_assign*/;
- /* Register variable[5]: Result */
- variable[5] = CALL_parser_nodes___AAssignFormExpr___n_value(variable[0])(variable[0]) /*AAssignFormExpr::n_value*/;
- /* Register variable[3]: Result */
- variable[3] = NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___init_avarassignexpr(variable[3], variable[4], variable[5]) /*new AVarAssignExpr*/;
- variable[2] = variable[3];
- goto return_label309;
- return_label309: while(false);
- tracehead = trace.prev;
- return variable[2];
-}
-val_t typing___ACallReassignExpr___name(val_t self) {
- struct trace_t trace = {NULL, NULL, 1481, LOCATE_typing___ACallReassignExpr___name};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = CALL_parser_nodes___ACallFormExpr___n_id(variable[0])(variable[0]) /*ACallFormExpr::n_id*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_syntax_base___Token___to_symbol(variable[2])(variable[2]) /*Token::to_symbol*/;
- variable[1] = variable[2];
- goto return_label310;
- return_label310: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___ACallReassignExpr___raw_arguments(val_t self) {
- struct trace_t trace = {NULL, NULL, 1482, LOCATE_typing___ACallReassignExpr___raw_arguments};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = CALL_parser_nodes___ACallFormExpr___n_args(variable[0])(variable[0]) /*ACallFormExpr::n_args*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_array___Collection___to_a(variable[2])(variable[2]) /*Collection::to_a*/;
- variable[1] = variable[2];
- goto return_label311;
- return_label311: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___ACallReassignExpr___variable_create(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 1476, LOCATE_typing___ACallReassignExpr___variable_create};
- val_t variable[6];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Result */
- variable[3] = CALL_parser_nodes___ACallFormExpr___n_id(variable[0])(variable[0]) /*ACallFormExpr::n_id*/;
- /* Register variable[4]: Result */
- variable[4] = CALL_parser_nodes___AReassignFormExpr___n_assign_op(variable[0])(variable[0]) /*AReassignFormExpr::n_assign_op*/;
- /* Register variable[5]: Result */
- variable[5] = CALL_parser_nodes___AReassignFormExpr___n_value(variable[0])(variable[0]) /*AReassignFormExpr::n_value*/;
- /* Register variable[3]: Result */
- variable[3] = NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___init_avarreassignexpr(variable[3], variable[4], variable[5]) /*new AVarReassignExpr*/;
- variable[2] = variable[3];
- goto return_label312;
- return_label312: while(false);
- tracehead = trace.prev;
- return variable[2];
-}
-val_t typing___ABraExpr___name(val_t self) {
- struct trace_t trace = {NULL, NULL, 1486, LOCATE_typing___ABraExpr___name};
- static val_t once_value_314; static int once_bool_314; /* Once value for variable[2]*/
- static val_t once_value_315 = NIT_NULL; /* Once value for string variable[2]*/
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Once expression result */
- if (once_bool_314) variable[2] = once_value_314;
- else {
- /* Register variable[2]: Once String constant */
- if (once_value_315 != NIT_NULL) variable[2] = once_value_315;
- else {
- variable[2] = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)) /*new String*/;
- once_value_315 = variable[2];
- }
- /* Register variable[2]: Result */
- /* Register variable[2]: Result */
- variable[2] = CALL_symbol___String___to_symbol(variable[2])(variable[2]) /*String::to_symbol*/;
- once_value_314 = variable[2];
- once_bool_314 = true;
- }
- /* Register variable[2]: Result */
- variable[1] = variable[2];
- goto return_label313;
- return_label313: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___ABraExpr___raw_arguments(val_t self) {
- struct trace_t trace = {NULL, NULL, 1487, LOCATE_typing___ABraExpr___raw_arguments};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = CALL_parser_nodes___ABraFormExpr___n_args(variable[0])(variable[0]) /*ABraFormExpr::n_args*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_array___Collection___to_a(variable[2])(variable[2]) /*Collection::to_a*/;
- variable[1] = variable[2];
- goto return_label316;
- return_label316: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___ABraAssignExpr___name(val_t self) {
- struct trace_t trace = {NULL, NULL, 1491, LOCATE_typing___ABraAssignExpr___name};
- static val_t once_value_318; static int once_bool_318; /* Once value for variable[2]*/
- static val_t once_value_319 = NIT_NULL; /* Once value for string variable[2]*/
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Once expression result */
- if (once_bool_318) variable[2] = once_value_318;
- else {
- /* Register variable[2]: Once String constant */
- if (once_value_319 != NIT_NULL) variable[2] = once_value_319;
- else {
- variable[2] = NEW_String_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)) /*new String*/;
- once_value_319 = variable[2];
- }
- /* Register variable[2]: Result */
- /* Register variable[2]: Result */
- variable[2] = CALL_symbol___String___to_symbol(variable[2])(variable[2]) /*String::to_symbol*/;
- once_value_318 = variable[2];
- once_bool_318 = true;
- }
- /* Register variable[2]: Result */
- variable[1] = variable[2];
- goto return_label317;
- return_label317: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___ABraAssignExpr___raw_arguments(val_t self) {
- struct trace_t trace = {NULL, NULL, 1492, LOCATE_typing___ABraAssignExpr___raw_arguments};
- val_t variable[4];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Local variable */
- /* Register variable[3]: Result */
- variable[3] = CALL_parser_nodes___ABraFormExpr___n_args(variable[0])(variable[0]) /*ABraFormExpr::n_args*/;
- /* Register variable[3]: Result */
- variable[3] = CALL_array___Collection___to_a(variable[3])(variable[3]) /*Collection::to_a*/;
- variable[2] = variable[3];
- /* Register variable[3]: Result */
- variable[3] = CALL_parser_nodes___AAssignFormExpr___n_value(variable[0])(variable[0]) /*AAssignFormExpr::n_value*/;
- CALL_abstract_collection___SimpleCollection___add( variable[2] /*res*/)( variable[2] /*res*/, variable[3]) /*AbstractArray::add*/;
- variable[1] = variable[2] /*res*/;
- goto return_label320;
- return_label320: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___ABraReassignExpr___name(val_t self) {
- struct trace_t trace = {NULL, NULL, 1501, LOCATE_typing___ABraReassignExpr___name};
- static val_t once_value_322; static int once_bool_322; /* Once value for variable[2]*/
- static val_t once_value_323 = NIT_NULL; /* Once value for string variable[2]*/
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Once expression result */
- if (once_bool_322) variable[2] = once_value_322;
- else {
- /* Register variable[2]: Once String constant */
- if (once_value_323 != NIT_NULL) variable[2] = once_value_323;
- else {
- variable[2] = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)) /*new String*/;
- once_value_323 = variable[2];
- }
- /* Register variable[2]: Result */
- /* Register variable[2]: Result */
- variable[2] = CALL_symbol___String___to_symbol(variable[2])(variable[2]) /*String::to_symbol*/;
- once_value_322 = variable[2];
- once_bool_322 = true;
- }
- /* Register variable[2]: Result */
- variable[1] = variable[2];
- goto return_label321;
- return_label321: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___ABraReassignExpr___raw_arguments(val_t self) {
- struct trace_t trace = {NULL, NULL, 1502, LOCATE_typing___ABraReassignExpr___raw_arguments};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = CALL_parser_nodes___ABraFormExpr___n_args(variable[0])(variable[0]) /*ABraFormExpr::n_args*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_array___Collection___to_a(variable[2])(variable[2]) /*Collection::to_a*/;
- variable[1] = variable[2];
- goto return_label324;
- return_label324: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___AInitExpr___name(val_t self) {
- struct trace_t trace = {NULL, NULL, 1506, LOCATE_typing___AInitExpr___name};
- static val_t once_value_326; static int once_bool_326; /* Once value for variable[2]*/
- static val_t once_value_327 = NIT_NULL; /* Once value for string variable[2]*/
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Once expression result */
- if (once_bool_326) variable[2] = once_value_326;
- else {
- /* Register variable[2]: Once String constant */
- if (once_value_327 != NIT_NULL) variable[2] = once_value_327;
- else {
- variable[2] = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)) /*new String*/;
- once_value_327 = variable[2];
- }
- /* Register variable[2]: Result */
- /* Register variable[2]: Result */
- variable[2] = CALL_symbol___String___to_symbol(variable[2])(variable[2]) /*String::to_symbol*/;
- once_value_326 = variable[2];
- once_bool_326 = true;
- }
- /* Register variable[2]: Result */
- variable[1] = variable[2];
- goto return_label325;
- return_label325: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t typing___AInitExpr___raw_arguments(val_t self) {
- struct trace_t trace = {NULL, NULL, 1507, LOCATE_typing___AInitExpr___raw_arguments};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = CALL_parser_nodes___AInitExpr___n_args(variable[0])(variable[0]) /*AInitExpr::n_args*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_array___Collection___to_a(variable[2])(variable[2]) /*Collection::to_a*/;
- variable[1] = variable[2];
- goto return_label328;
- return_label328: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-void typing___AClosureCallExpr___after_typing(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 1512, LOCATE_typing___AClosureCallExpr___after_typing};
- val_t variable[8];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Local variable */
- /* Register variable[4]: Result */
- variable[4] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
- variable[3] = variable[4];
- /* Register variable[4]: Result */
- variable[4] = CALL_syntax_base___ClosureVariable___closure( variable[3] /*va*/)( variable[3] /*va*/) /*ClosureVariable::closure*/;
- /* Register variable[4]: Result */
- variable[4] = CALL_static_type___MMClosure___is_break(variable[4])(variable[4]) /*MMClosure::is_break*/;
- if (UNTAG_Bool(variable[4])) { /*if*/
- /* Register variable[4]: Result */
- variable[4] = CALL_typing___TypingVisitor___variable_ctx( variable[1] /*v*/)( variable[1] /*v*/) /*TypingVisitor::variable_ctx*/;
- CALL_control_flow___VariableContext___unreash__eq(variable[4])(variable[4], TAG_Bool(true)) /*VariableContext::unreash=*/;
- }
- /* Register variable[4]: Local variable */
- /* Register variable[5]: Result */
- variable[5] = CALL_syntax_base___ClosureVariable___closure( variable[3] /*va*/)( variable[3] /*va*/) /*ClosureVariable::closure*/;
- /* Register variable[5]: Result */
- variable[5] = CALL_static_type___MMClosure___signature(variable[5])(variable[5]) /*MMClosure::signature*/;
- variable[4] = variable[5];
- /* Register variable[5]: Local variable */
- /* Register variable[6]: Result */
- variable[6] = CALL_parser_nodes___AClosureCallExpr___n_id(variable[0])(variable[0]) /*AClosureCallExpr::n_id*/;
- /* Register variable[6]: Result */
- variable[6] = CALL_syntax_base___Token___to_symbol(variable[6])(variable[6]) /*Token::to_symbol*/;
- /* Register variable[7]: Result */
- variable[7] = CALL_parser_nodes___AClosureCallExpr___n_args(variable[0])(variable[0]) /*AClosureCallExpr::n_args*/;
- /* Register variable[7]: Result */
- variable[7] = CALL_array___Collection___to_a(variable[7])(variable[7]) /*Collection::to_a*/;
- /* Register variable[6]: Result */
- variable[6] = CALL_typing___AAbsAbsSendExpr___process_signature(variable[0])(variable[0], variable[1] /*v*/, variable[4] /*sig*/, variable[6], variable[7]) /*AAbsAbsSendExpr::process_signature*/;
- variable[5] = variable[6];
- /* Register variable[6]: Result */
- variable[6] = CALL_parser_nodes___AClosureCallExpr___n_closure_defs(variable[0])(variable[0]) /*AClosureCallExpr::n_closure_defs*/;
- /* Register variable[6]: Result */
- variable[6] = CALL_abstract_collection___Collection___is_empty(variable[6])(variable[6]) /*List::is_empty*/;
- if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[6])))) { /*if*/
- /* Register variable[6]: Result */
- variable[6] = CALL_parser_nodes___AClosureCallExpr___n_id(variable[0])(variable[0]) /*AClosureCallExpr::n_id*/;
- /* Register variable[6]: Result */
- variable[6] = CALL_syntax_base___Token___to_symbol(variable[6])(variable[6]) /*Token::to_symbol*/;
- /* Register variable[7]: Result */
- variable[7] = CALL_parser_nodes___AClosureCallExpr___n_closure_defs(variable[0])(variable[0]) /*AClosureCallExpr::n_closure_defs*/;
- /* Register variable[7]: Result */
- variable[7] = CALL_array___Collection___to_a(variable[7])(variable[7]) /*Collection::to_a*/;
- CALL_typing___AAbsAbsSendExpr___process_closures(variable[0])(variable[0], variable[1] /*v*/, variable[4] /*sig*/, variable[6], variable[7]) /*AAbsAbsSendExpr::process_closures*/;
- }
- /* Register variable[6]: Result */
- variable[6] = TAG_Bool(( variable[5] /*args*/ == NIT_NULL /*null*/) || (( variable[5] /*args*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*args*/)( variable[5] /*args*/, NIT_NULL /*null*/) /*AbstractArrayRead::==*/)));
- if (UNTAG_Bool(variable[6])) { /*if*/
- goto return_label329;
- }
- ATTR_typing___AAbsAbsSendExpr____prop_signature(variable[0]) /*AAbsAbsSendExpr::_prop_signature*/ = variable[4] /*sig*/;
- ATTR_typing___AAbsAbsSendExpr____arguments(variable[0]) /*AAbsAbsSendExpr::_arguments*/ = variable[5] /*args*/;
- /* Register variable[6]: Result */
- variable[6] = CALL_static_type___MMSignature___return_type( variable[4] /*sig*/)( variable[4] /*sig*/) /*MMSignature::return_type*/;
- ATTR_typing___PExpr____stype(variable[0]) /*PExpr::_stype*/ = variable[6];
- ATTR_typing___PExpr____is_typed(variable[0]) /*PExpr::_is_typed*/ = TAG_Bool(true);
- return_label329: while(false);
- tracehead = trace.prev;
- return;
-}
-void typing___PClosureDef___accept_typing(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 1534, LOCATE_typing___PClosureDef___accept_typing};
- val_t variable[4];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_typing;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Result */
- variable[3] = ATTR_typing___PClosureDef____accept_typing2(variable[0]) /*PClosureDef::_accept_typing2*/;
- if (UNTAG_Bool(variable[3])) { /*if*/
- CALL_SUPER_typing___PClosureDef___accept_typing(variable[0])(variable[0], variable[1]) /*super PClosureDef::accept_typing*/;
- }
- return_label330: while(false);
- tracehead = trace.prev;
+val_t typing___ACallExpr___compute_raw_arguments(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1552;
+ fra.me.meth = LOCATE_typing___ACallExpr___compute_raw_arguments;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[0] = CALL_parser_nodes___ACallFormExpr___n_args(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = CALL_array___Collection___to_a(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./syntax//typing.nit:1552 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___ACallExpr___name(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1551;
+ fra.me.meth = LOCATE_typing___ACallExpr___name;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[0] = CALL_parser_nodes___ACallFormExpr___n_id(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = CALL_syntax_base___Token___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./syntax//typing.nit:1551 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___ACallExpr___variable_create(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1546;
+ fra.me.meth = LOCATE_typing___ACallExpr___variable_create;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[0] = CALL_parser_nodes___ACallFormExpr___n_id(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = NEW_AVarExpr_parser_prod___AVarExpr___init_avarexpr(fra.me.REG[0]);
+ /* ./syntax//typing.nit:1548 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___ACallAssignExpr___compute_raw_arguments(val_t p0){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1562;
+ fra.me.meth = LOCATE_typing___ACallAssignExpr___compute_raw_arguments;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = CALL_parser_nodes___ACallFormExpr___n_args(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[1] = CALL_array___Collection___to_a(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[0] = CALL_parser_nodes___AAssignFormExpr___n_value(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./syntax//typing.nit:1564 */
+ array___Array___add(fra.me.REG[1], fra.me.REG[0]);
+ /* ./syntax//typing.nit:1565 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[1];
+}
+val_t typing___ACallAssignExpr___name(val_t p0){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ static val_t once_value_1; /* Once value */
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1561;
+ fra.me.meth = LOCATE_typing___ACallAssignExpr___name;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[0] = CALL_parser_nodes___ACallFormExpr___n_id(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = CALL_lexer___Token___text(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./syntax//typing.nit:1561 */
+ if (!once_value_1) {
+ fra.me.REG[1] = BOX_NativeString("=");
+ REGB0 = TAG_Int(1);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
+ once_value_1 = fra.me.REG[1];
+ register_static_object(&once_value_1);
+ } else fra.me.REG[1] = once_value_1;
+ fra.me.REG[1] = CALL_string___String_____plus(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
+ fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
+ goto label2;
+ label2: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[1];
+}
+val_t typing___ACallAssignExpr___variable_create(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1556;
+ fra.me.meth = LOCATE_typing___ACallAssignExpr___variable_create;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[1] = CALL_parser_nodes___ACallFormExpr___n_id(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[2] = CALL_parser_nodes___AAssignFormExpr___n_assign(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = CALL_parser_nodes___AAssignFormExpr___n_value(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = NEW_AVarAssignExpr_parser_prod___AVarAssignExpr___init_avarassignexpr(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
+ /* ./syntax//typing.nit:1558 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___ACallReassignExpr___compute_raw_arguments(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1576;
+ fra.me.meth = LOCATE_typing___ACallReassignExpr___compute_raw_arguments;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[0] = CALL_parser_nodes___ACallFormExpr___n_args(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = CALL_array___Collection___to_a(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./syntax//typing.nit:1576 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___ACallReassignExpr___name(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1575;
+ fra.me.meth = LOCATE_typing___ACallReassignExpr___name;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[0] = CALL_parser_nodes___ACallFormExpr___n_id(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = CALL_syntax_base___Token___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./syntax//typing.nit:1575 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___ACallReassignExpr___variable_create(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1570;
+ fra.me.meth = LOCATE_typing___ACallReassignExpr___variable_create;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[1] = CALL_parser_nodes___ACallFormExpr___n_id(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[2] = CALL_parser_nodes___AReassignFormExpr___n_assign_op(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = CALL_parser_nodes___AReassignFormExpr___n_value(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = NEW_AVarReassignExpr_parser_prod___AVarReassignExpr___init_avarreassignexpr(fra.me.REG[1], fra.me.REG[2], fra.me.REG[0]);
+ /* ./syntax//typing.nit:1572 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___ABraExpr___closure_defs(val_t p0){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1582;
+ fra.me.meth = LOCATE_typing___ABraExpr___closure_defs;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = CALL_parser_nodes___ASendExpr___n_closure_defs(fra.me.REG[0])(fra.me.REG[0]);
+ REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./syntax//typing.nit:1584 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[1] = NIT_NULL;
+ /* ./syntax//typing.nit:1585 */
+ goto label1;
+ } else {
+ fra.me.REG[0] = CALL_parser_nodes___ASendExpr___n_closure_defs(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = CALL_array___Collection___to_a(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[1] = fra.me.REG[0];
+ /* ./syntax//typing.nit:1587 */
+ goto label1;
+ }
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[1];
+}
+val_t typing___ABraExpr___compute_raw_arguments(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1581;
+ fra.me.meth = LOCATE_typing___ABraExpr___compute_raw_arguments;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[0] = CALL_parser_nodes___ABraFormExpr___n_args(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = CALL_array___Collection___to_a(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./syntax//typing.nit:1581 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___ABraExpr___name(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ static val_t once_value_1; /* Once value */
+ static val_t once_value_2; /* Once value */
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1580;
+ fra.me.meth = LOCATE_typing___ABraExpr___name;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./syntax//typing.nit:1580 */
+ if (!once_value_1) {
+ if (!once_value_2) {
+ fra.me.REG[0] = BOX_NativeString("[]");
+ REGB0 = TAG_Int(2);
+ fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
+ once_value_2 = fra.me.REG[0];
+ register_static_object(&once_value_2);
+ } else fra.me.REG[0] = once_value_2;
+ fra.me.REG[0] = CALL_symbol___String___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
+ once_value_1 = fra.me.REG[0];
+ register_static_object(&once_value_1);
+ } else fra.me.REG[0] = once_value_1;
+ goto label3;
+ label3: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___ABraAssignExpr___compute_raw_arguments(val_t p0){
+ struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1594;
+ fra.me.meth = LOCATE_typing___ABraAssignExpr___compute_raw_arguments;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 2;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = CALL_parser_nodes___ABraFormExpr___n_args(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[1] = CALL_array___Collection___to_a(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[0] = CALL_parser_nodes___AAssignFormExpr___n_value(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./syntax//typing.nit:1596 */
+ array___Array___add(fra.me.REG[1], fra.me.REG[0]);
+ /* ./syntax//typing.nit:1597 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[1];
+}
+val_t typing___ABraAssignExpr___name(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ static val_t once_value_1; /* Once value */
+ static val_t once_value_2; /* Once value */
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1593;
+ fra.me.meth = LOCATE_typing___ABraAssignExpr___name;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./syntax//typing.nit:1593 */
+ if (!once_value_1) {
+ if (!once_value_2) {
+ fra.me.REG[0] = BOX_NativeString("[]=");
+ REGB0 = TAG_Int(3);
+ fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
+ once_value_2 = fra.me.REG[0];
+ register_static_object(&once_value_2);
+ } else fra.me.REG[0] = once_value_2;
+ fra.me.REG[0] = CALL_symbol___String___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
+ once_value_1 = fra.me.REG[0];
+ register_static_object(&once_value_1);
+ } else fra.me.REG[0] = once_value_1;
+ goto label3;
+ label3: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___ABraReassignExpr___compute_raw_arguments(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1603;
+ fra.me.meth = LOCATE_typing___ABraReassignExpr___compute_raw_arguments;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[0] = CALL_parser_nodes___ABraFormExpr___n_args(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = CALL_array___Collection___to_a(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./syntax//typing.nit:1603 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___ABraReassignExpr___name(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ static val_t once_value_1; /* Once value */
+ static val_t once_value_2; /* Once value */
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1602;
+ fra.me.meth = LOCATE_typing___ABraReassignExpr___name;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./syntax//typing.nit:1602 */
+ if (!once_value_1) {
+ if (!once_value_2) {
+ fra.me.REG[0] = BOX_NativeString("[]");
+ REGB0 = TAG_Int(2);
+ fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
+ once_value_2 = fra.me.REG[0];
+ register_static_object(&once_value_2);
+ } else fra.me.REG[0] = once_value_2;
+ fra.me.REG[0] = CALL_symbol___String___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
+ once_value_1 = fra.me.REG[0];
+ register_static_object(&once_value_1);
+ } else fra.me.REG[0] = once_value_1;
+ goto label3;
+ label3: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___AInitExpr___compute_raw_arguments(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1608;
+ fra.me.meth = LOCATE_typing___AInitExpr___compute_raw_arguments;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[0] = CALL_parser_nodes___AInitExpr___n_args(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[0] = CALL_array___Collection___to_a(fra.me.REG[0])(fra.me.REG[0]);
+ /* ./syntax//typing.nit:1608 */
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___AInitExpr___name(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ static val_t once_value_1; /* Once value */
+ static val_t once_value_2; /* Once value */
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1607;
+ fra.me.meth = LOCATE_typing___AInitExpr___name;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ /* ./syntax//typing.nit:1607 */
+ if (!once_value_1) {
+ if (!once_value_2) {
+ fra.me.REG[0] = BOX_NativeString("init");
+ REGB0 = TAG_Int(4);
+ fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
+ once_value_2 = fra.me.REG[0];
+ register_static_object(&once_value_2);
+ } else fra.me.REG[0] = once_value_2;
+ fra.me.REG[0] = CALL_symbol___String___to_symbol(fra.me.REG[0])(fra.me.REG[0]);
+ once_value_1 = fra.me.REG[0];
+ register_static_object(&once_value_1);
+ } else fra.me.REG[0] = once_value_1;
+ goto label3;
+ label3: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t typing___AClosureCallExpr___variable(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1613;
+ fra.me.meth = LOCATE_typing___AClosureCallExpr___variable;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[0] = ATTR_typing___AClosureCallExpr____variable(fra.me.REG[0]);
+ REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
+ /* ./syntax//typing.nit:1613 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Cast failed");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_typing, 1613);
+ nit_exit(1);
+ }
+ goto label1;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+void typing___AClosureCallExpr___after_typing(val_t p0, val_t p1){
+ struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_typing;
+ fra.me.line = 1616;
+ fra.me.meth = LOCATE_typing___AClosureCallExpr___after_typing;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 5;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[4] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[2] = CALL_syntax_base___AClosureCallExpr___variable(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[3] = CALL_syntax_base___ClosureVariable___closure(fra.me.REG[2])(fra.me.REG[2]);
+ REGB0 = CALL_static_type___MMClosure___is_break(fra.me.REG[3])(fra.me.REG[3]);
+ /* ./syntax//typing.nit:1619 */
+ if (UNTAG_Bool(REGB0)) {
+ fra.me.REG[3] = CALL_typing___TypingVisitor___variable_ctx(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Bool(true);
+ CALL_control_flow___VariableContext___unreash__eq(fra.me.REG[3])(fra.me.REG[3], REGB0);
+ }
+ fra.me.REG[2] = CALL_syntax_base___ClosureVariable___closure(fra.me.REG[2])(fra.me.REG[2]);
+ fra.me.REG[2] = CALL_static_type___MMClosure___signature(fra.me.REG[2])(fra.me.REG[2]);
+ fra.me.REG[3] = CALL_parser_nodes___AClosureCallExpr___n_id(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[3] = CALL_syntax_base___Token___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
+ fra.me.REG[4] = CALL_typing___AAbsAbsSendExpr___compute_raw_arguments(fra.me.REG[0])(fra.me.REG[0]);
+ REGB0 = CALL_typing___AAbsAbsSendExpr___process_signature(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], fra.me.REG[3], fra.me.REG[4]);
+ fra.me.REG[4] = CALL_parser_nodes___AClosureCallExpr___n_closure_defs(fra.me.REG[0])(fra.me.REG[0]);
+ REGB1 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
+ REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
+ /* ./syntax//typing.nit:1622 */
+ if (UNTAG_Bool(REGB1)) {
+ fra.me.REG[4] = CALL_parser_nodes___AClosureCallExpr___n_id(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[4] = CALL_syntax_base___Token___to_symbol(fra.me.REG[4])(fra.me.REG[4]);
+ fra.me.REG[3] = CALL_parser_nodes___AClosureCallExpr___n_closure_defs(fra.me.REG[0])(fra.me.REG[0]);
+ fra.me.REG[3] = CALL_array___Collection___to_a(fra.me.REG[3])(fra.me.REG[3]);
+ /* ./syntax//typing.nit:1623 */
+ CALL_typing___AAbsAbsSendExpr___process_closures(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], fra.me.REG[4], fra.me.REG[3]);
+ }
+ REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
+ /* ./syntax//typing.nit:1625 */
+ if (UNTAG_Bool(REGB0)) {
+ goto label1;
+ }
+ /* ./syntax//typing.nit:1626 */
+ ATTR_typing___AAbsAbsSendExpr____prop_signature(fra.me.REG[0]) = fra.me.REG[2];
+ fra.me.REG[2] = CALL_static_type___MMSignature___return_type(fra.me.REG[2])(fra.me.REG[2]);
+ /* ./syntax//typing.nit:1627 */
+ ATTR_typing___AExpr____stype(fra.me.REG[0]) = fra.me.REG[2];
+ REGB0 = TAG_Bool(true);
+ /* ./syntax//typing.nit:1628 */
+ ATTR_typing___AExpr____is_typed(fra.me.REG[0]) = REGB0;
+ label1: while(0);
+ stack_frame_head = fra.me.prev;