X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__parser.sep.3.c b/c_src/nit__parser.sep.3.c index 109ffcf..7d484e3 100644 --- a/c_src/nit__parser.sep.3.c +++ b/c_src/nit__parser.sep.3.c @@ -1,9 +1,10 @@ #include "nit__parser.sep.0.h" -/* method parser#ReduceAction57#action for (self: ReduceAction57, Parser) */ -void nit__parser___nit__parser__ReduceAction57___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction64#action for (self: ReduceAction64, Parser) */ +void nit__parser___nit__parser__ReduceAction64___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var1 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var2 /* : nullable Object */; @@ -34,34 +35,44 @@ val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var14 /* : Bool */; int cltype15; int idtype16; -val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +val* var_tkwvarnode5 /* var tkwvarnode5: nullable Object */; short int var17 /* : Bool */; int cltype18; int idtype19; -val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +val* var_tidnode6 /* var tidnode6: nullable Object */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +val* var_ptypenode7 /* var ptypenode7: nullable Object */; short int var23 /* : Bool */; int cltype24; int idtype25; -val* var_pexprnode13 /* var pexprnode13: nullable Object */; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; short int var26 /* : Bool */; int cltype27; int idtype28; -val* var29 /* : AMethPropdef */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var32 /* : null */; -val* var33 /* : null */; -val* var34 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var35 /* : Int */; -long var36 /* : Int */; +val* var_tkwdonode11 /* var tkwdonode11: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var_pexprnode12 /* var pexprnode12: nullable Object */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; +val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +val* var38 /* : AAttrPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; +long var39 /* : Int */; +long var40 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist10 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -105,16 +116,16 @@ idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { var10 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { var10 = 0; } else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; +var10 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2931); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3128); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ @@ -123,16 +134,16 @@ idtype13 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { var11 = 1; } else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { +if(cltype12 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { var11 = 0; } else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; +var11 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype12] == idtype13; } } if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2933); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3130); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ @@ -141,2038 +152,2212 @@ idtype16 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { var14 = 1; } else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { +if(cltype15 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { var14 = 0; } else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +var14 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype15] == idtype16; } } if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2935); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3132); +fatal_exit(1); } -var_tkwmethnode5 = var_nodearraylist4; -/* isa nullable TKwmeth */ -cltype18 = type_nullable__nit__TKwmeth.color; -idtype19 = type_nullable__nit__TKwmeth.id; -if(var_tkwmethnode5 == NULL) { +var_tkwvarnode5 = var_nodearraylist4; +/* isa nullable TKwvar */ +cltype18 = type_nullable__nit__TKwvar.color; +idtype19 = type_nullable__nit__TKwvar.id; +if(var_tkwvarnode5 == NULL) { var17 = 1; } else { -if(cltype18 >= var_tkwmethnode5->type->table_size) { +if(cltype18 >= (((long)var_tkwvarnode5&3)?type_info[((long)var_tkwvarnode5&3)]:var_tkwvarnode5->type)->table_size) { var17 = 0; } else { -var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19; +var17 = (((long)var_tkwvarnode5&3)?type_info[((long)var_tkwvarnode5&3)]:var_tkwvarnode5->type)->type_table[cltype18] == idtype19; } } if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2937); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3134); +fatal_exit(1); } -var_pmethidnode8 = var_nodearraylist5; -/* isa nullable AMethid */ -cltype21 = type_nullable__nit__AMethid.color; -idtype22 = type_nullable__nit__AMethid.id; -if(var_pmethidnode8 == NULL) { +var_tidnode6 = var_nodearraylist5; +/* isa nullable TId */ +cltype21 = type_nullable__nit__TId.color; +idtype22 = type_nullable__nit__TId.id; +if(var_tidnode6 == NULL) { var20 = 1; } else { -if(cltype21 >= var_pmethidnode8->type->table_size) { +if(cltype21 >= (((long)var_tidnode6&3)?type_info[((long)var_tidnode6&3)]:var_tidnode6->type)->table_size) { var20 = 0; } else { -var20 = var_pmethidnode8->type->type_table[cltype21] == idtype22; +var20 = (((long)var_tidnode6&3)?type_info[((long)var_tidnode6&3)]:var_tidnode6->type)->type_table[cltype21] == idtype22; } } if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2939); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3136); +fatal_exit(1); } -var_psignaturenode9 = var_nodearraylist6; -/* isa nullable ASignature */ -cltype24 = type_nullable__nit__ASignature.color; -idtype25 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { +var_ptypenode7 = var_nodearraylist6; +/* isa nullable AType */ +cltype24 = type_nullable__nit__AType.color; +idtype25 = type_nullable__nit__AType.id; +if(var_ptypenode7 == NULL) { var23 = 1; } else { -if(cltype24 >= var_psignaturenode9->type->table_size) { +if(cltype24 >= (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->table_size) { var23 = 0; } else { -var23 = var_psignaturenode9->type->type_table[cltype24] == idtype25; +var23 = (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->type_table[cltype24] == idtype25; } } if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2941); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3138); +fatal_exit(1); } -var_pexprnode13 = var_nodearraylist8; -/* isa nullable AExpr */ -cltype27 = type_nullable__nit__AExpr.color; -idtype28 = type_nullable__nit__AExpr.id; -if(var_pexprnode13 == NULL) { +var_pannotationsnode10 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype27 = type_nullable__nit__AAnnotations.color; +idtype28 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { var26 = 1; } else { -if(cltype27 >= var_pexprnode13->type->table_size) { +if(cltype27 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { var26 = 0; } else { -var26 = var_pexprnode13->type->type_table[cltype27] == idtype28; +var26 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype27] == idtype28; } } if (unlikely(!var26)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2943); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3140); +fatal_exit(1); +} +var_tkwdonode11 = var_nodearraylist8; +/* isa nullable TKwdo */ +cltype30 = type_nullable__nit__TKwdo.color; +idtype31 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode11 == NULL) { +var29 = 1; +} else { +if(cltype30 >= (((long)var_tkwdonode11&3)?type_info[((long)var_tkwdonode11&3)]:var_tkwdonode11->type)->table_size) { +var29 = 0; +} else { +var29 = (((long)var_tkwdonode11&3)?type_info[((long)var_tkwdonode11&3)]:var_tkwdonode11->type)->type_table[cltype30] == idtype31; +} +} +if (unlikely(!var29)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3142); +fatal_exit(1); +} +var_pexprnode12 = var_nodearraylist9; +/* isa nullable AExpr */ +cltype33 = type_nullable__nit__AExpr.color; +idtype34 = type_nullable__nit__AExpr.id; +if(var_pexprnode12 == NULL) { +var32 = 1; +} else { +if(cltype33 >= (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->table_size) { +var32 = 0; +} else { +var32 = (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->type_table[cltype33] == idtype34; +} +} +if (unlikely(!var32)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3144); +fatal_exit(1); +} +var_tkwendnode13 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype36 = type_nullable__nit__TKwend.color; +idtype37 = type_nullable__nit__TKwend.id; +if(var_tkwendnode13 == NULL) { +var35 = 1; +} else { +if(cltype36 >= (((long)var_tkwendnode13&3)?type_info[((long)var_tkwendnode13&3)]:var_tkwendnode13->type)->table_size) { +var35 = 0; +} else { +var35 = (((long)var_tkwendnode13&3)?type_info[((long)var_tkwendnode13&3)]:var_tkwendnode13->type)->type_table[cltype36] == idtype37; +} +} +if (unlikely(!var35)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3146); +fatal_exit(1); } -var29 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var30 = NULL; -var31 = NULL; -var32 = NULL; -var33 = NULL; -var34 = NULL; +var38 = NEW_nit__AAttrPropdef(&type_nit__AAttrPropdef); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var30, var31, var_pmethidnode8, var_psignaturenode9, var32, var33, var34, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AAttrPropdef___init_aattrpropdef(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwvarnode5, var_tidnode6, var_ptypenode7, ((val*)NULL), ((val*)NULL), var_pannotationsnode10, var_tkwdonode11, var_pexprnode12, var_tkwendnode13); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ } -var_ppropdefnode1 = var29; +var_ppropdefnode1 = var38; var_node_list = var_ppropdefnode1; -var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var39 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var36 = nit___nit__Parser___go_to(var_p, var35); +var40 = nit___nit__Parser___go_to(var_p, var39); } { -nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var40, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction58#action for (self: ReduceAction58, Parser) */ -void nit__parser___nit__parser__ReduceAction58___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction65#action for (self: ReduceAction65, Parser) */ +void nit__parser___nit__parser__ReduceAction65___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var3 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var4 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var5 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var11 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var12 /* : Bool */; int cltype13; int idtype14; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_tkwinitnode6 /* var tkwinitnode6: nullable Object */; short int var15 /* : Bool */; int cltype16; int idtype17; -val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; short int var18 /* : Bool */; int cltype19; int idtype20; -val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +val* var_tkwdonode13 /* var tkwdonode13: nullable Object */; short int var21 /* : Bool */; int cltype22; int idtype23; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +val* var_pexprnode14 /* var pexprnode14: nullable Object */; short int var24 /* : Bool */; int cltype25; int idtype26; -val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; short int var27 /* : Bool */; int cltype28; int idtype29; -val* var_pexprnode13 /* var pexprnode13: nullable Object */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : AMethPropdef */; -val* var34 /* : null */; -val* var35 /* : null */; -val* var36 /* : null */; -val* var37 /* : null */; +val* var30 /* : AMethPropdef */; val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var38 /* : Int */; -long var39 /* : Int */; +long var31 /* : Int */; +long var32 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist8 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var1; +var_nodearraylist7 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist6 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var3; +var_nodearraylist5 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var4; +var_nodearraylist4 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var5; +var_nodearraylist3 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var6; +var_nodearraylist2 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var9; -{ -var10 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var10; +var_nodearraylist1 = var7; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var11 = 1; +var8 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var11 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var8 = 0; } else { -var11 = var_pdocnode2->type->type_table[cltype] == idtype; +var8 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var11)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2978); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3179); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype13 = type_nullable__nit__TKwredef.color; -idtype14 = type_nullable__nit__TKwredef.id; +cltype10 = type_nullable__nit__TKwredef.color; +idtype11 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var12 = 1; +var9 = 1; } else { -if(cltype13 >= var_tkwredefnode3->type->table_size) { -var12 = 0; +if(cltype10 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var9 = 0; } else { -var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14; +var9 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype10] == idtype11; } } -if (unlikely(!var12)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2980); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3181); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype16 = type_nullable__nit__AVisibility.color; -idtype17 = type_nullable__nit__AVisibility.id; +cltype13 = type_nullable__nit__AVisibility.color; +idtype14 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { +var12 = 1; +} else { +if(cltype13 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var12 = 0; +} else { +var12 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype13] == idtype14; +} +} +if (unlikely(!var12)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3183); +fatal_exit(1); +} +var_tkwinitnode6 = var_nodearraylist4; +/* isa nullable TKwinit */ +cltype16 = type_nullable__nit__TKwinit.color; +idtype17 = type_nullable__nit__TKwinit.id; +if(var_tkwinitnode6 == NULL) { var15 = 1; } else { -if(cltype16 >= var_pvisibilitynode4->type->table_size) { +if(cltype16 >= (((long)var_tkwinitnode6&3)?type_info[((long)var_tkwinitnode6&3)]:var_tkwinitnode6->type)->table_size) { var15 = 0; } else { -var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; +var15 = (((long)var_tkwinitnode6&3)?type_info[((long)var_tkwinitnode6&3)]:var_tkwinitnode6->type)->type_table[cltype16] == idtype17; } } if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2982); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3185); +fatal_exit(1); } -var_tkwmethnode5 = var_nodearraylist4; -/* isa nullable TKwmeth */ -cltype19 = type_nullable__nit__TKwmeth.color; -idtype20 = type_nullable__nit__TKwmeth.id; -if(var_tkwmethnode5 == NULL) { +var_psignaturenode9 = var_nodearraylist5; +/* isa nullable ASignature */ +cltype19 = type_nullable__nit__ASignature.color; +idtype20 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { var18 = 1; } else { -if(cltype19 >= var_tkwmethnode5->type->table_size) { +if(cltype19 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { var18 = 0; } else { -var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20; +var18 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype19] == idtype20; } } if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2984); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3187); +fatal_exit(1); } -var_pmethidnode8 = var_nodearraylist5; -/* isa nullable AMethid */ -cltype22 = type_nullable__nit__AMethid.color; -idtype23 = type_nullable__nit__AMethid.id; -if(var_pmethidnode8 == NULL) { +var_tkwdonode13 = var_nodearraylist6; +/* isa nullable TKwdo */ +cltype22 = type_nullable__nit__TKwdo.color; +idtype23 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode13 == NULL) { var21 = 1; } else { -if(cltype22 >= var_pmethidnode8->type->table_size) { +if(cltype22 >= (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->table_size) { var21 = 0; } else { -var21 = var_pmethidnode8->type->type_table[cltype22] == idtype23; +var21 = (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->type_table[cltype22] == idtype23; } } if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2986); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3189); +fatal_exit(1); } -var_psignaturenode9 = var_nodearraylist6; -/* isa nullable ASignature */ -cltype25 = type_nullable__nit__ASignature.color; -idtype26 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { +var_pexprnode14 = var_nodearraylist7; +/* isa nullable AExpr */ +cltype25 = type_nullable__nit__AExpr.color; +idtype26 = type_nullable__nit__AExpr.id; +if(var_pexprnode14 == NULL) { var24 = 1; } else { -if(cltype25 >= var_psignaturenode9->type->table_size) { +if(cltype25 >= (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->table_size) { var24 = 0; } else { -var24 = var_psignaturenode9->type->type_table[cltype25] == idtype26; +var24 = (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->type_table[cltype25] == idtype26; } } if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2988); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3191); +fatal_exit(1); } -var_pannotationsnode10 = var_nodearraylist7; -/* isa nullable AAnnotations */ -cltype28 = type_nullable__nit__AAnnotations.color; -idtype29 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode10 == NULL) { +var_tkwendnode15 = var_nodearraylist8; +/* isa nullable TKwend */ +cltype28 = type_nullable__nit__TKwend.color; +idtype29 = type_nullable__nit__TKwend.id; +if(var_tkwendnode15 == NULL) { var27 = 1; } else { -if(cltype28 >= var_pannotationsnode10->type->table_size) { +if(cltype28 >= (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->table_size) { var27 = 0; } else { -var27 = var_pannotationsnode10->type->type_table[cltype28] == idtype29; +var27 = (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->type_table[cltype28] == idtype29; } } if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2990); -show_backtrace(1); -} -var_pexprnode13 = var_nodearraylist9; -/* isa nullable AExpr */ -cltype31 = type_nullable__nit__AExpr.color; -idtype32 = type_nullable__nit__AExpr.id; -if(var_pexprnode13 == NULL) { -var30 = 1; -} else { -if(cltype31 >= var_pexprnode13->type->table_size) { -var30 = 0; -} else { -var30 = var_pexprnode13->type->type_table[cltype31] == idtype32; -} -} -if (unlikely(!var30)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2992); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3193); +fatal_exit(1); } -var33 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var34 = NULL; -var35 = NULL; -var36 = NULL; -var37 = NULL; +var30 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var34, var35, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, var36, var37, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var30, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), var_tkwinitnode6, ((val*)NULL), ((val*)NULL), var_psignaturenode9, ((val*)NULL), ((val*)NULL), ((val*)NULL), var_tkwdonode13, var_pexprnode14, var_tkwendnode15); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_ppropdefnode1 = var33; +var_ppropdefnode1 = var30; var_node_list = var_ppropdefnode1; -var38 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var31 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var39 = nit___nit__Parser___go_to(var_p, var38); +var32 = nit___nit__Parser___go_to(var_p, var31); } { -nit___nit__Parser___push(var_p, var39, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var32, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction59#action for (self: ReduceAction59, Parser) */ -void nit__parser___nit__parser__ReduceAction59___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction66#action for (self: ReduceAction66, Parser) */ +void nit__parser___nit__parser__ReduceAction66___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var7 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var8 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; +short int var10 /* : Bool */; +int cltype11; +int idtype12; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_tkwinitnode6 /* var tkwinitnode6: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var27 /* : AMethPropdef */; -val* var28 /* : null */; -val* var29 /* : null */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var32 /* : null */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var_tkwdonode13 /* var tkwdonode13: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var_pexprnode14 /* var pexprnode14: nullable Object */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AMethPropdef */; val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var33 /* : Int */; -long var34 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +long var35 /* : Int */; +long var36 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist9 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var1; +var_nodearraylist8 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var2; +var_nodearraylist7 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var3; +var_nodearraylist6 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var4; +var_nodearraylist5 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var5; +var_nodearraylist4 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var6; +var_nodearraylist3 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var7; +var_nodearraylist2 = var7; +{ +var8 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var8; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var8 = 1; +var9 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var8 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var9 = 0; } else { -var8 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var8)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3024); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3229); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype10 = type_nullable__nit__TKwredef.color; -idtype11 = type_nullable__nit__TKwredef.id; +cltype11 = type_nullable__nit__TKwredef.color; +idtype12 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var9 = 1; +var10 = 1; } else { -if(cltype10 >= var_tkwredefnode3->type->table_size) { -var9 = 0; +if(cltype11 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var10 = 0; } else { -var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11; +var10 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var9)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3026); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3231); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype13 = type_nullable__nit__AVisibility.color; -idtype14 = type_nullable__nit__AVisibility.id; +cltype14 = type_nullable__nit__AVisibility.color; +idtype15 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var12 = 1; +var13 = 1; } else { -if(cltype13 >= var_pvisibilitynode4->type->table_size) { -var12 = 0; +if(cltype14 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var13 = 0; } else { -var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14; +var13 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype14] == idtype15; } } -if (unlikely(!var12)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3028); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3233); +fatal_exit(1); } -var_tkwmethnode5 = var_nodearraylist4; -/* isa nullable TKwmeth */ -cltype16 = type_nullable__nit__TKwmeth.color; -idtype17 = type_nullable__nit__TKwmeth.id; -if(var_tkwmethnode5 == NULL) { -var15 = 1; +var_tkwinitnode6 = var_nodearraylist4; +/* isa nullable TKwinit */ +cltype17 = type_nullable__nit__TKwinit.color; +idtype18 = type_nullable__nit__TKwinit.id; +if(var_tkwinitnode6 == NULL) { +var16 = 1; } else { -if(cltype16 >= var_tkwmethnode5->type->table_size) { -var15 = 0; +if(cltype17 >= (((long)var_tkwinitnode6&3)?type_info[((long)var_tkwinitnode6&3)]:var_tkwinitnode6->type)->table_size) { +var16 = 0; } else { -var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17; +var16 = (((long)var_tkwinitnode6&3)?type_info[((long)var_tkwinitnode6&3)]:var_tkwinitnode6->type)->type_table[cltype17] == idtype18; } } -if (unlikely(!var15)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3030); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3235); +fatal_exit(1); } var_pmethidnode8 = var_nodearraylist5; /* isa nullable AMethid */ -cltype19 = type_nullable__nit__AMethid.color; -idtype20 = type_nullable__nit__AMethid.id; +cltype20 = type_nullable__nit__AMethid.color; +idtype21 = type_nullable__nit__AMethid.id; if(var_pmethidnode8 == NULL) { -var18 = 1; +var19 = 1; } else { -if(cltype19 >= var_pmethidnode8->type->table_size) { -var18 = 0; +if(cltype20 >= (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->table_size) { +var19 = 0; } else { -var18 = var_pmethidnode8->type->type_table[cltype19] == idtype20; +var19 = (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->type_table[cltype20] == idtype21; } } -if (unlikely(!var18)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3032); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3237); +fatal_exit(1); } var_psignaturenode9 = var_nodearraylist6; /* isa nullable ASignature */ -cltype22 = type_nullable__nit__ASignature.color; -idtype23 = type_nullable__nit__ASignature.id; +cltype23 = type_nullable__nit__ASignature.color; +idtype24 = type_nullable__nit__ASignature.id; if(var_psignaturenode9 == NULL) { -var21 = 1; +var22 = 1; } else { -if(cltype22 >= var_psignaturenode9->type->table_size) { -var21 = 0; +if(cltype23 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var22 = 0; } else { -var21 = var_psignaturenode9->type->type_table[cltype22] == idtype23; +var22 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype23] == idtype24; } } -if (unlikely(!var21)) { +if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3034); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3239); +fatal_exit(1); } -var_pannotationsnode10 = var_nodearraylist7; -/* isa nullable AAnnotations */ -cltype25 = type_nullable__nit__AAnnotations.color; -idtype26 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode10 == NULL) { -var24 = 1; +var_tkwdonode13 = var_nodearraylist7; +/* isa nullable TKwdo */ +cltype26 = type_nullable__nit__TKwdo.color; +idtype27 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode13 == NULL) { +var25 = 1; } else { -if(cltype25 >= var_pannotationsnode10->type->table_size) { -var24 = 0; +if(cltype26 >= (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->table_size) { +var25 = 0; } else { -var24 = var_pannotationsnode10->type->type_table[cltype25] == idtype26; +var25 = (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->type_table[cltype26] == idtype27; } } -if (unlikely(!var24)) { +if (unlikely(!var25)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3241); +fatal_exit(1); +} +var_pexprnode14 = var_nodearraylist8; +/* isa nullable AExpr */ +cltype29 = type_nullable__nit__AExpr.color; +idtype30 = type_nullable__nit__AExpr.id; +if(var_pexprnode14 == NULL) { +var28 = 1; +} else { +if(cltype29 >= (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->table_size) { +var28 = 0; +} else { +var28 = (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->type_table[cltype29] == idtype30; +} +} +if (unlikely(!var28)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3243); +fatal_exit(1); +} +var_tkwendnode15 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype32 = type_nullable__nit__TKwend.color; +idtype33 = type_nullable__nit__TKwend.id; +if(var_tkwendnode15 == NULL) { +var31 = 1; +} else { +if(cltype32 >= (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->table_size) { +var31 = 0; +} else { +var31 = (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->type_table[cltype32] == idtype33; +} +} +if (unlikely(!var31)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3036); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3245); +fatal_exit(1); } -var27 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var28 = NULL; -var29 = NULL; -var30 = NULL; -var31 = NULL; -var32 = NULL; +var34 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var28, var29, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, var30, var31, var32); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), var_tkwinitnode6, ((val*)NULL), var_pmethidnode8, var_psignaturenode9, ((val*)NULL), ((val*)NULL), ((val*)NULL), var_tkwdonode13, var_pexprnode14, var_tkwendnode15); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_ppropdefnode1 = var27; +var_ppropdefnode1 = var34; var_node_list = var_ppropdefnode1; -var33 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var34 = nit___nit__Parser___go_to(var_p, var33); +var36 = nit___nit__Parser___go_to(var_p, var35); } { -nit___nit__Parser___push(var_p, var34, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction60#action for (self: ReduceAction60, Parser) */ -void nit__parser___nit__parser__ReduceAction60___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction67#action for (self: ReduceAction67, Parser) */ +void nit__parser___nit__parser__ReduceAction67___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var6 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var7 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; +short int var10 /* : Bool */; +int cltype11; +int idtype12; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_tkwinitnode6 /* var tkwinitnode6: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var23 /* : AMethPropdef */; -val* var24 /* : null */; -val* var25 /* : null */; -val* var26 /* : null */; -val* var27 /* : null */; -val* var28 /* : null */; -val* var29 /* : null */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var_tkwdonode13 /* var tkwdonode13: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var_pexprnode14 /* var pexprnode14: nullable Object */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AMethPropdef */; val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var30 /* : Int */; -long var31 /* : Int */; +long var35 /* : Int */; +long var36 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist9 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var1; +var_nodearraylist8 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var2; +var_nodearraylist7 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var3; +var_nodearraylist6 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var4; +var_nodearraylist5 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var5; +var_nodearraylist4 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var6; +var_nodearraylist3 = var6; +{ +var7 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var7; +{ +var8 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var8; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var7 = 1; +var9 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var7 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var9 = 0; } else { -var7 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var7)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3067); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3281); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype9 = type_nullable__nit__TKwredef.color; -idtype10 = type_nullable__nit__TKwredef.id; +cltype11 = type_nullable__nit__TKwredef.color; +idtype12 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var8 = 1; +var10 = 1; } else { -if(cltype9 >= var_tkwredefnode3->type->table_size) { -var8 = 0; +if(cltype11 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var10 = 0; } else { -var8 = var_tkwredefnode3->type->type_table[cltype9] == idtype10; +var10 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var8)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3069); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3283); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype12 = type_nullable__nit__AVisibility.color; -idtype13 = type_nullable__nit__AVisibility.id; +cltype14 = type_nullable__nit__AVisibility.color; +idtype15 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var11 = 1; +var13 = 1; } else { -if(cltype12 >= var_pvisibilitynode4->type->table_size) { -var11 = 0; +if(cltype14 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var13 = 0; } else { -var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13; +var13 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype14] == idtype15; } } -if (unlikely(!var11)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3071); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3285); +fatal_exit(1); } -var_tkwnewnode7 = var_nodearraylist4; -/* isa nullable TKwnew */ -cltype15 = type_nullable__nit__TKwnew.color; -idtype16 = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode7 == NULL) { -var14 = 1; +var_tkwinitnode6 = var_nodearraylist4; +/* isa nullable TKwinit */ +cltype17 = type_nullable__nit__TKwinit.color; +idtype18 = type_nullable__nit__TKwinit.id; +if(var_tkwinitnode6 == NULL) { +var16 = 1; } else { -if(cltype15 >= var_tkwnewnode7->type->table_size) { -var14 = 0; +if(cltype17 >= (((long)var_tkwinitnode6&3)?type_info[((long)var_tkwinitnode6&3)]:var_tkwinitnode6->type)->table_size) { +var16 = 0; } else { -var14 = var_tkwnewnode7->type->type_table[cltype15] == idtype16; +var16 = (((long)var_tkwinitnode6&3)?type_info[((long)var_tkwinitnode6&3)]:var_tkwinitnode6->type)->type_table[cltype17] == idtype18; } } -if (unlikely(!var14)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3073); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3287); +fatal_exit(1); } var_psignaturenode9 = var_nodearraylist5; /* isa nullable ASignature */ -cltype18 = type_nullable__nit__ASignature.color; -idtype19 = type_nullable__nit__ASignature.id; +cltype20 = type_nullable__nit__ASignature.color; +idtype21 = type_nullable__nit__ASignature.id; if(var_psignaturenode9 == NULL) { -var17 = 1; +var19 = 1; } else { -if(cltype18 >= var_psignaturenode9->type->table_size) { -var17 = 0; +if(cltype20 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var19 = 0; } else { -var17 = var_psignaturenode9->type->type_table[cltype18] == idtype19; +var19 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype20] == idtype21; } } -if (unlikely(!var17)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3075); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3289); +fatal_exit(1); } var_pannotationsnode10 = var_nodearraylist6; /* isa nullable AAnnotations */ -cltype21 = type_nullable__nit__AAnnotations.color; -idtype22 = type_nullable__nit__AAnnotations.id; +cltype23 = type_nullable__nit__AAnnotations.color; +idtype24 = type_nullable__nit__AAnnotations.id; if(var_pannotationsnode10 == NULL) { -var20 = 1; +var22 = 1; } else { -if(cltype21 >= var_pannotationsnode10->type->table_size) { -var20 = 0; +if(cltype23 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { +var22 = 0; } else { -var20 = var_pannotationsnode10->type->type_table[cltype21] == idtype22; +var22 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype23] == idtype24; } } -if (unlikely(!var20)) { +if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3077); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3291); +fatal_exit(1); } -var23 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var24 = NULL; -var25 = NULL; -var26 = NULL; -var27 = NULL; -var28 = NULL; -var29 = NULL; -{ -nit__parser_prod___AMethPropdef___init_amethpropdef(var23, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var24, var25, var_tkwnewnode7, var26, var_psignaturenode9, var_pannotationsnode10, var27, var28, var29); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +var_tkwdonode13 = var_nodearraylist7; +/* isa nullable TKwdo */ +cltype26 = type_nullable__nit__TKwdo.color; +idtype27 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode13 == NULL) { +var25 = 1; +} else { +if(cltype26 >= (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->table_size) { +var25 = 0; +} else { +var25 = (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->type_table[cltype26] == idtype27; } -var_ppropdefnode1 = var23; -var_node_list = var_ppropdefnode1; -var30 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var31 = nit___nit__Parser___go_to(var_p, var30); } +if (unlikely(!var25)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3293); +fatal_exit(1); +} +var_pexprnode14 = var_nodearraylist8; +/* isa nullable AExpr */ +cltype29 = type_nullable__nit__AExpr.color; +idtype30 = type_nullable__nit__AExpr.id; +if(var_pexprnode14 == NULL) { +var28 = 1; +} else { +if(cltype29 >= (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->table_size) { +var28 = 0; +} else { +var28 = (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->type_table[cltype29] == idtype30; +} +} +if (unlikely(!var28)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3295); +fatal_exit(1); +} +var_tkwendnode15 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype32 = type_nullable__nit__TKwend.color; +idtype33 = type_nullable__nit__TKwend.id; +if(var_tkwendnode15 == NULL) { +var31 = 1; +} else { +if(cltype32 >= (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->table_size) { +var31 = 0; +} else { +var31 = (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->type_table[cltype32] == idtype33; +} +} +if (unlikely(!var31)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3297); +fatal_exit(1); +} +var34 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); +{ +nit__parser_prod___AMethPropdef___init_amethpropdef(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), var_tkwinitnode6, ((val*)NULL), ((val*)NULL), var_psignaturenode9, var_pannotationsnode10, ((val*)NULL), ((val*)NULL), var_tkwdonode13, var_pexprnode14, var_tkwendnode15); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +} +var_ppropdefnode1 = var34; +var_node_list = var_ppropdefnode1; +var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -nit___nit__Parser___push(var_p, var31, var_node_list); /* Direct call parser_work#Parser#push on */ +var36 = nit___nit__Parser___go_to(var_p, var35); +} +{ +nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction61#action for (self: ReduceAction61, Parser) */ -void nit__parser___nit__parser__ReduceAction61___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction68#action for (self: ReduceAction68, Parser) */ +void nit__parser___nit__parser__ReduceAction68___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var7 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var8 /* : Bool */; +short int var10 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; +short int var11 /* : Bool */; +int cltype12; +int idtype13; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_tkwinitnode6 /* var tkwinitnode6: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; +short int var23 /* : Bool */; +int cltype24; +int idtype25; val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var27 /* : AMethPropdef */; -val* var28 /* : null */; -val* var29 /* : null */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var32 /* : null */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var_tkwdonode13 /* var tkwdonode13: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var_pexprnode14 /* var pexprnode14: nullable Object */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; +val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +val* var38 /* : AMethPropdef */; val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var33 /* : Int */; -long var34 /* : Int */; +long var39 /* : Int */; +long var40 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist10 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var1; +var_nodearraylist9 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var2; +var_nodearraylist8 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var3; +var_nodearraylist7 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var4; +var_nodearraylist6 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var5; +var_nodearraylist5 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var6; +var_nodearraylist4 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var7; +var_nodearraylist3 = var7; +{ +var8 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var8; +{ +var9 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var9; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var8 = 1; +var10 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var8 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var10 = 0; } else { -var8 = var_pdocnode2->type->type_table[cltype] == idtype; +var10 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var8)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3109); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3334); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype10 = type_nullable__nit__TKwredef.color; -idtype11 = type_nullable__nit__TKwredef.id; +cltype12 = type_nullable__nit__TKwredef.color; +idtype13 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var9 = 1; +var11 = 1; } else { -if(cltype10 >= var_tkwredefnode3->type->table_size) { -var9 = 0; +if(cltype12 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var11 = 0; } else { -var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11; +var11 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var9)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3111); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3336); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype13 = type_nullable__nit__AVisibility.color; -idtype14 = type_nullable__nit__AVisibility.id; +cltype15 = type_nullable__nit__AVisibility.color; +idtype16 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var12 = 1; +var14 = 1; } else { -if(cltype13 >= var_pvisibilitynode4->type->table_size) { -var12 = 0; +if(cltype15 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var14 = 0; } else { -var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14; +var14 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype15] == idtype16; } } -if (unlikely(!var12)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3113); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3338); +fatal_exit(1); } -var_tkwnewnode7 = var_nodearraylist4; -/* isa nullable TKwnew */ -cltype16 = type_nullable__nit__TKwnew.color; -idtype17 = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode7 == NULL) { -var15 = 1; +var_tkwinitnode6 = var_nodearraylist4; +/* isa nullable TKwinit */ +cltype18 = type_nullable__nit__TKwinit.color; +idtype19 = type_nullable__nit__TKwinit.id; +if(var_tkwinitnode6 == NULL) { +var17 = 1; } else { -if(cltype16 >= var_tkwnewnode7->type->table_size) { -var15 = 0; +if(cltype18 >= (((long)var_tkwinitnode6&3)?type_info[((long)var_tkwinitnode6&3)]:var_tkwinitnode6->type)->table_size) { +var17 = 0; } else { -var15 = var_tkwnewnode7->type->type_table[cltype16] == idtype17; +var17 = (((long)var_tkwinitnode6&3)?type_info[((long)var_tkwinitnode6&3)]:var_tkwinitnode6->type)->type_table[cltype18] == idtype19; } } -if (unlikely(!var15)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3115); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3340); +fatal_exit(1); } var_pmethidnode8 = var_nodearraylist5; /* isa nullable AMethid */ -cltype19 = type_nullable__nit__AMethid.color; -idtype20 = type_nullable__nit__AMethid.id; +cltype21 = type_nullable__nit__AMethid.color; +idtype22 = type_nullable__nit__AMethid.id; if(var_pmethidnode8 == NULL) { -var18 = 1; +var20 = 1; } else { -if(cltype19 >= var_pmethidnode8->type->table_size) { -var18 = 0; +if(cltype21 >= (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->table_size) { +var20 = 0; } else { -var18 = var_pmethidnode8->type->type_table[cltype19] == idtype20; +var20 = (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var18)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3117); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3342); +fatal_exit(1); } var_psignaturenode9 = var_nodearraylist6; /* isa nullable ASignature */ -cltype22 = type_nullable__nit__ASignature.color; -idtype23 = type_nullable__nit__ASignature.id; +cltype24 = type_nullable__nit__ASignature.color; +idtype25 = type_nullable__nit__ASignature.id; if(var_psignaturenode9 == NULL) { -var21 = 1; +var23 = 1; } else { -if(cltype22 >= var_psignaturenode9->type->table_size) { -var21 = 0; +if(cltype24 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var23 = 0; } else { -var21 = var_psignaturenode9->type->type_table[cltype22] == idtype23; +var23 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype24] == idtype25; } } -if (unlikely(!var21)) { +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3119); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3344); +fatal_exit(1); } var_pannotationsnode10 = var_nodearraylist7; /* isa nullable AAnnotations */ -cltype25 = type_nullable__nit__AAnnotations.color; -idtype26 = type_nullable__nit__AAnnotations.id; +cltype27 = type_nullable__nit__AAnnotations.color; +idtype28 = type_nullable__nit__AAnnotations.id; if(var_pannotationsnode10 == NULL) { -var24 = 1; +var26 = 1; } else { -if(cltype25 >= var_pannotationsnode10->type->table_size) { -var24 = 0; +if(cltype27 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { +var26 = 0; } else { -var24 = var_pannotationsnode10->type->type_table[cltype25] == idtype26; +var26 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype27] == idtype28; } } -if (unlikely(!var24)) { +if (unlikely(!var26)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3346); +fatal_exit(1); +} +var_tkwdonode13 = var_nodearraylist8; +/* isa nullable TKwdo */ +cltype30 = type_nullable__nit__TKwdo.color; +idtype31 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode13 == NULL) { +var29 = 1; +} else { +if(cltype30 >= (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->table_size) { +var29 = 0; +} else { +var29 = (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->type_table[cltype30] == idtype31; +} +} +if (unlikely(!var29)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3348); +fatal_exit(1); +} +var_pexprnode14 = var_nodearraylist9; +/* isa nullable AExpr */ +cltype33 = type_nullable__nit__AExpr.color; +idtype34 = type_nullable__nit__AExpr.id; +if(var_pexprnode14 == NULL) { +var32 = 1; +} else { +if(cltype33 >= (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->table_size) { +var32 = 0; +} else { +var32 = (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->type_table[cltype33] == idtype34; +} +} +if (unlikely(!var32)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3350); +fatal_exit(1); +} +var_tkwendnode15 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype36 = type_nullable__nit__TKwend.color; +idtype37 = type_nullable__nit__TKwend.id; +if(var_tkwendnode15 == NULL) { +var35 = 1; +} else { +if(cltype36 >= (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->table_size) { +var35 = 0; +} else { +var35 = (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->type_table[cltype36] == idtype37; +} +} +if (unlikely(!var35)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3121); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3352); +fatal_exit(1); } -var27 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var28 = NULL; -var29 = NULL; -var30 = NULL; -var31 = NULL; -var32 = NULL; +var38 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var28, var29, var_tkwnewnode7, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, var30, var31, var32); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), var_tkwinitnode6, ((val*)NULL), var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, ((val*)NULL), ((val*)NULL), var_tkwdonode13, var_pexprnode14, var_tkwendnode15); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_ppropdefnode1 = var27; +var_ppropdefnode1 = var38; var_node_list = var_ppropdefnode1; -var33 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var39 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var34 = nit___nit__Parser___go_to(var_p, var33); +var40 = nit___nit__Parser___go_to(var_p, var39); } { -nit___nit__Parser___push(var_p, var34, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var40, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction62#action for (self: ReduceAction62, Parser) */ -void nit__parser___nit__parser__ReduceAction62___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction69#action for (self: ReduceAction69, Parser) */ +void nit__parser___nit__parser__ReduceAction69___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var2 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var3 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; +short int var8 /* : Bool */; +int cltype9; +int idtype10; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_pexprnode13 /* var pexprnode13: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var25 /* : AMethPropdef */; -val* var26 /* : null */; -val* var27 /* : null */; -val* var28 /* : null */; -val* var29 /* : null */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var32 /* : Int */; -long var33 /* : Int */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_ptypenode7 /* var ptypenode7: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var26 /* : ATypePropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */; +long var27 /* : Int */; +long var28 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist7 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var1; +var_nodearraylist6 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var2; +var_nodearraylist5 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var3; +var_nodearraylist4 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var4; +var_nodearraylist3 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var5; +var_nodearraylist2 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var8; +var_nodearraylist1 = var6; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var9 = 1; +var7 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var7 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var7 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var9)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3154); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3386); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype11 = type_nullable__nit__TKwredef.color; -idtype12 = type_nullable__nit__TKwredef.id; +cltype9 = type_nullable__nit__TKwredef.color; +idtype10 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var10 = 1; +var8 = 1; } else { -if(cltype11 >= var_tkwredefnode3->type->table_size) { -var10 = 0; +if(cltype9 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var8 = 0; } else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +var8 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var10)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3156); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3388); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype14 = type_nullable__nit__AVisibility.color; -idtype15 = type_nullable__nit__AVisibility.id; +cltype12 = type_nullable__nit__AVisibility.color; +idtype13 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var13 = 1; +var11 = 1; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; +if(cltype12 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var11 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var11 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var13)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3158); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3390); +fatal_exit(1); } -var_tkwnewnode7 = var_nodearraylist4; -/* isa nullable TKwnew */ -cltype17 = type_nullable__nit__TKwnew.color; -idtype18 = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode7 == NULL) { -var16 = 1; +var_tkwtypenode5 = var_nodearraylist4; +/* isa nullable TKwtype */ +cltype15 = type_nullable__nit__TKwtype.color; +idtype16 = type_nullable__nit__TKwtype.id; +if(var_tkwtypenode5 == NULL) { +var14 = 1; } else { -if(cltype17 >= var_tkwnewnode7->type->table_size) { -var16 = 0; +if(cltype15 >= (((long)var_tkwtypenode5&3)?type_info[((long)var_tkwtypenode5&3)]:var_tkwtypenode5->type)->table_size) { +var14 = 0; } else { -var16 = var_tkwnewnode7->type->type_table[cltype17] == idtype18; +var14 = (((long)var_tkwtypenode5&3)?type_info[((long)var_tkwtypenode5&3)]:var_tkwtypenode5->type)->type_table[cltype15] == idtype16; } } -if (unlikely(!var16)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3160); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3392); +fatal_exit(1); } -var_psignaturenode9 = var_nodearraylist5; -/* isa nullable ASignature */ -cltype20 = type_nullable__nit__ASignature.color; -idtype21 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { -var19 = 1; +var_tclassidnode6 = var_nodearraylist5; +/* isa nullable TClassid */ +cltype18 = type_nullable__nit__TClassid.color; +idtype19 = type_nullable__nit__TClassid.id; +if(var_tclassidnode6 == NULL) { +var17 = 1; } else { -if(cltype20 >= var_psignaturenode9->type->table_size) { -var19 = 0; +if(cltype18 >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) { +var17 = 0; } else { -var19 = var_psignaturenode9->type->type_table[cltype20] == idtype21; +var17 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype18] == idtype19; } } -if (unlikely(!var19)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3162); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3394); +fatal_exit(1); } -var_pexprnode13 = var_nodearraylist7; -/* isa nullable AExpr */ -cltype23 = type_nullable__nit__AExpr.color; -idtype24 = type_nullable__nit__AExpr.id; -if(var_pexprnode13 == NULL) { -var22 = 1; +var_ptypenode7 = var_nodearraylist6; +/* isa nullable AType */ +cltype21 = type_nullable__nit__AType.color; +idtype22 = type_nullable__nit__AType.id; +if(var_ptypenode7 == NULL) { +var20 = 1; } else { -if(cltype23 >= var_pexprnode13->type->table_size) { -var22 = 0; +if(cltype21 >= (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->table_size) { +var20 = 0; } else { -var22 = var_pexprnode13->type->type_table[cltype23] == idtype24; +var20 = (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var22)) { +if (unlikely(!var20)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3396); +fatal_exit(1); +} +var_pannotationsnode8 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype24 = type_nullable__nit__AAnnotations.color; +idtype25 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode8 == NULL) { +var23 = 1; +} else { +if(cltype24 >= (((long)var_pannotationsnode8&3)?type_info[((long)var_pannotationsnode8&3)]:var_pannotationsnode8->type)->table_size) { +var23 = 0; +} else { +var23 = (((long)var_pannotationsnode8&3)?type_info[((long)var_pannotationsnode8&3)]:var_pannotationsnode8->type)->type_table[cltype24] == idtype25; +} +} +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3164); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3398); +fatal_exit(1); } -var25 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var26 = NULL; -var27 = NULL; -var28 = NULL; -var29 = NULL; -var30 = NULL; -var31 = NULL; +var26 = NEW_nit__ATypePropdef(&type_nit__ATypePropdef); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var26, var27, var_tkwnewnode7, var28, var_psignaturenode9, var29, var30, var31, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___ATypePropdef___init_atypepropdef(var26, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var_pannotationsnode8); /* Direct call parser_prod#ATypePropdef#init_atypepropdef on */ } -var_ppropdefnode1 = var25; +var_ppropdefnode1 = var26; var_node_list = var_ppropdefnode1; -var32 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var33 = nit___nit__Parser___go_to(var_p, var32); +var28 = nit___nit__Parser___go_to(var_p, var27); } { -nit___nit__Parser___push(var_p, var33, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var28, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction63#action for (self: ReduceAction63, Parser) */ -void nit__parser___nit__parser__ReduceAction63___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction70#action for (self: ReduceAction70, Parser) */ +void nit__parser___nit__parser__ReduceAction70___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var3 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var4 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var5 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var6 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var11 /* : Bool */; int cltype12; int idtype13; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; short int var14 /* : Bool */; int cltype15; int idtype16; -val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; short int var17 /* : Bool */; int cltype18; int idtype19; -val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +val* var_pexterncallsnode11 /* var pexterncallsnode11: nullable Object */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +val* var_pexterncodeblocknode12 /* var pexterncodeblocknode12: nullable Object */; short int var23 /* : Bool */; int cltype24; int idtype25; -val* var_pexprnode13 /* var pexprnode13: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : AMethPropdef */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var32 /* : null */; -val* var33 /* : null */; -val* var34 /* : null */; +val* var26 /* : AMethPropdef */; val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var35 /* : Int */; -long var36 /* : Int */; +long var27 /* : Int */; +long var28 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist7 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var1; +var_nodearraylist6 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var2; +var_nodearraylist5 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var3; +var_nodearraylist4 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var4; +var_nodearraylist3 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var5; +var_nodearraylist2 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var9; +var_nodearraylist1 = var6; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var10 = 1; +var7 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var7 = 0; } else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; +var7 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var10)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3198); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3425); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype12 = type_nullable__nit__TKwredef.color; -idtype13 = type_nullable__nit__TKwredef.id; +cltype9 = type_nullable__nit__TKwredef.color; +idtype10 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var11 = 1; +var8 = 1; } else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { -var11 = 0; +if(cltype9 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var8 = 0; } else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; +var8 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var11)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3200); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3427); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype15 = type_nullable__nit__AVisibility.color; -idtype16 = type_nullable__nit__AVisibility.id; +cltype12 = type_nullable__nit__AVisibility.color; +idtype13 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var14 = 1; +var11 = 1; } else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; +if(cltype12 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var11 = 0; } else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +var11 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var14)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3202); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3429); +fatal_exit(1); } var_tkwnewnode7 = var_nodearraylist4; /* isa nullable TKwnew */ -cltype18 = type_nullable__nit__TKwnew.color; -idtype19 = type_nullable__nit__TKwnew.id; +cltype15 = type_nullable__nit__TKwnew.color; +idtype16 = type_nullable__nit__TKwnew.id; if(var_tkwnewnode7 == NULL) { +var14 = 1; +} else { +if(cltype15 >= (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->table_size) { +var14 = 0; +} else { +var14 = (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->type_table[cltype15] == idtype16; +} +} +if (unlikely(!var14)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3431); +fatal_exit(1); +} +var_psignaturenode9 = var_nodearraylist5; +/* isa nullable ASignature */ +cltype18 = type_nullable__nit__ASignature.color; +idtype19 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { var17 = 1; } else { -if(cltype18 >= var_tkwnewnode7->type->table_size) { +if(cltype18 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { var17 = 0; } else { -var17 = var_tkwnewnode7->type->type_table[cltype18] == idtype19; +var17 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype18] == idtype19; } } if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3204); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3433); +fatal_exit(1); } -var_pmethidnode8 = var_nodearraylist5; -/* isa nullable AMethid */ -cltype21 = type_nullable__nit__AMethid.color; -idtype22 = type_nullable__nit__AMethid.id; -if(var_pmethidnode8 == NULL) { +var_pexterncallsnode11 = var_nodearraylist6; +/* isa nullable AExternCalls */ +cltype21 = type_nullable__nit__AExternCalls.color; +idtype22 = type_nullable__nit__AExternCalls.id; +if(var_pexterncallsnode11 == NULL) { var20 = 1; } else { -if(cltype21 >= var_pmethidnode8->type->table_size) { +if(cltype21 >= (((long)var_pexterncallsnode11&3)?type_info[((long)var_pexterncallsnode11&3)]:var_pexterncallsnode11->type)->table_size) { var20 = 0; } else { -var20 = var_pmethidnode8->type->type_table[cltype21] == idtype22; +var20 = (((long)var_pexterncallsnode11&3)?type_info[((long)var_pexterncallsnode11&3)]:var_pexterncallsnode11->type)->type_table[cltype21] == idtype22; } } if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3206); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3435); +fatal_exit(1); } -var_psignaturenode9 = var_nodearraylist6; -/* isa nullable ASignature */ -cltype24 = type_nullable__nit__ASignature.color; -idtype25 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { -var23 = 1; +var_pexterncodeblocknode12 = var_nodearraylist7; +/* isa nullable AExternCodeBlock */ +cltype24 = type_nullable__nit__AExternCodeBlock.color; +idtype25 = type_nullable__nit__AExternCodeBlock.id; +if(var_pexterncodeblocknode12 == NULL) { +var23 = 1; } else { -if(cltype24 >= var_psignaturenode9->type->table_size) { +if(cltype24 >= (((long)var_pexterncodeblocknode12&3)?type_info[((long)var_pexterncodeblocknode12&3)]:var_pexterncodeblocknode12->type)->table_size) { var23 = 0; } else { -var23 = var_psignaturenode9->type->type_table[cltype24] == idtype25; +var23 = (((long)var_pexterncodeblocknode12&3)?type_info[((long)var_pexterncodeblocknode12&3)]:var_pexterncodeblocknode12->type)->type_table[cltype24] == idtype25; } } if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3208); -show_backtrace(1); -} -var_pexprnode13 = var_nodearraylist8; -/* isa nullable AExpr */ -cltype27 = type_nullable__nit__AExpr.color; -idtype28 = type_nullable__nit__AExpr.id; -if(var_pexprnode13 == NULL) { -var26 = 1; -} else { -if(cltype27 >= var_pexprnode13->type->table_size) { -var26 = 0; -} else { -var26 = var_pexprnode13->type->type_table[cltype27] == idtype28; -} -} -if (unlikely(!var26)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3210); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3437); +fatal_exit(1); } -var29 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var30 = NULL; -var31 = NULL; -var32 = NULL; -var33 = NULL; -var34 = NULL; +var26 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var30, var31, var_tkwnewnode7, var_pmethidnode8, var_psignaturenode9, var32, var33, var34, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var26, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), ((val*)NULL), var_tkwnewnode7, ((val*)NULL), var_psignaturenode9, ((val*)NULL), var_pexterncallsnode11, var_pexterncodeblocknode12, ((val*)NULL), ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_ppropdefnode1 = var29; +var_ppropdefnode1 = var26; var_node_list = var_ppropdefnode1; -var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var36 = nit___nit__Parser___go_to(var_p, var35); +var28 = nit___nit__Parser___go_to(var_p, var27); } { -nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var28, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction64#action for (self: ReduceAction64, Parser) */ -void nit__parser___nit__parser__ReduceAction64___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction71#action for (self: ReduceAction71, Parser) */ +void nit__parser___nit__parser__ReduceAction71___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var2 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var3 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; +short int var9 /* : Bool */; +int cltype10; +int idtype11; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var12 /* : Bool */; +int cltype13; +int idtype14; val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_pexprnode13 /* var pexprnode13: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : AMethPropdef */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var32 /* : null */; -val* var33 /* : null */; -val* var34 /* : null */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var_pexterncallsnode11 /* var pexterncallsnode11: nullable Object */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var_pexterncodeblocknode12 /* var pexterncodeblocknode12: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : AMethPropdef */; val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var35 /* : Int */; -long var36 /* : Int */; +long var31 /* : Int */; +long var32 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist8 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var1; +var_nodearraylist7 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var2; +var_nodearraylist6 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var3; +var_nodearraylist5 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var4; +var_nodearraylist4 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var5; +var_nodearraylist3 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var6; +var_nodearraylist2 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var9; +var_nodearraylist1 = var7; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var10 = 1; +var8 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var8 = 0; } else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; +var8 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var10)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3244); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3472); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype12 = type_nullable__nit__TKwredef.color; -idtype13 = type_nullable__nit__TKwredef.id; +cltype10 = type_nullable__nit__TKwredef.color; +idtype11 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var11 = 1; +var9 = 1; } else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { -var11 = 0; +if(cltype10 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var9 = 0; } else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; +var9 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype10] == idtype11; } } -if (unlikely(!var11)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3246); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3474); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype15 = type_nullable__nit__AVisibility.color; -idtype16 = type_nullable__nit__AVisibility.id; +cltype13 = type_nullable__nit__AVisibility.color; +idtype14 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var14 = 1; +var12 = 1; } else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; +if(cltype13 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var12 = 0; } else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +var12 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype13] == idtype14; } } -if (unlikely(!var14)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3248); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3476); +fatal_exit(1); } var_tkwnewnode7 = var_nodearraylist4; /* isa nullable TKwnew */ -cltype18 = type_nullable__nit__TKwnew.color; -idtype19 = type_nullable__nit__TKwnew.id; +cltype16 = type_nullable__nit__TKwnew.color; +idtype17 = type_nullable__nit__TKwnew.id; if(var_tkwnewnode7 == NULL) { -var17 = 1; +var15 = 1; } else { -if(cltype18 >= var_tkwnewnode7->type->table_size) { -var17 = 0; +if(cltype16 >= (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->table_size) { +var15 = 0; } else { -var17 = var_tkwnewnode7->type->type_table[cltype18] == idtype19; +var15 = (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->type_table[cltype16] == idtype17; } } -if (unlikely(!var17)) { +if (unlikely(!var15)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3478); +fatal_exit(1); +} +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype19 = type_nullable__nit__AMethid.color; +idtype20 = type_nullable__nit__AMethid.id; +if(var_pmethidnode8 == NULL) { +var18 = 1; +} else { +if(cltype19 >= (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->table_size) { +var18 = 0; +} else { +var18 = (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->type_table[cltype19] == idtype20; +} +} +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3250); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3480); +fatal_exit(1); } -var_psignaturenode9 = var_nodearraylist5; +var_psignaturenode9 = var_nodearraylist6; /* isa nullable ASignature */ -cltype21 = type_nullable__nit__ASignature.color; -idtype22 = type_nullable__nit__ASignature.id; +cltype22 = type_nullable__nit__ASignature.color; +idtype23 = type_nullable__nit__ASignature.id; if(var_psignaturenode9 == NULL) { -var20 = 1; +var21 = 1; } else { -if(cltype21 >= var_psignaturenode9->type->table_size) { -var20 = 0; +if(cltype22 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var21 = 0; } else { -var20 = var_psignaturenode9->type->type_table[cltype21] == idtype22; +var21 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype22] == idtype23; } } -if (unlikely(!var20)) { +if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3252); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3482); +fatal_exit(1); } -var_pannotationsnode10 = var_nodearraylist6; -/* isa nullable AAnnotations */ -cltype24 = type_nullable__nit__AAnnotations.color; -idtype25 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode10 == NULL) { -var23 = 1; +var_pexterncallsnode11 = var_nodearraylist7; +/* isa nullable AExternCalls */ +cltype25 = type_nullable__nit__AExternCalls.color; +idtype26 = type_nullable__nit__AExternCalls.id; +if(var_pexterncallsnode11 == NULL) { +var24 = 1; } else { -if(cltype24 >= var_pannotationsnode10->type->table_size) { -var23 = 0; +if(cltype25 >= (((long)var_pexterncallsnode11&3)?type_info[((long)var_pexterncallsnode11&3)]:var_pexterncallsnode11->type)->table_size) { +var24 = 0; } else { -var23 = var_pannotationsnode10->type->type_table[cltype24] == idtype25; +var24 = (((long)var_pexterncallsnode11&3)?type_info[((long)var_pexterncallsnode11&3)]:var_pexterncallsnode11->type)->type_table[cltype25] == idtype26; } } -if (unlikely(!var23)) { +if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3254); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3484); +fatal_exit(1); } -var_pexprnode13 = var_nodearraylist8; -/* isa nullable AExpr */ -cltype27 = type_nullable__nit__AExpr.color; -idtype28 = type_nullable__nit__AExpr.id; -if(var_pexprnode13 == NULL) { -var26 = 1; +var_pexterncodeblocknode12 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype28 = type_nullable__nit__AExternCodeBlock.color; +idtype29 = type_nullable__nit__AExternCodeBlock.id; +if(var_pexterncodeblocknode12 == NULL) { +var27 = 1; } else { -if(cltype27 >= var_pexprnode13->type->table_size) { -var26 = 0; +if(cltype28 >= (((long)var_pexterncodeblocknode12&3)?type_info[((long)var_pexterncodeblocknode12&3)]:var_pexterncodeblocknode12->type)->table_size) { +var27 = 0; } else { -var26 = var_pexprnode13->type->type_table[cltype27] == idtype28; +var27 = (((long)var_pexterncodeblocknode12&3)?type_info[((long)var_pexterncodeblocknode12&3)]:var_pexterncodeblocknode12->type)->type_table[cltype28] == idtype29; } } -if (unlikely(!var26)) { +if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3256); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3486); +fatal_exit(1); } -var29 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var30 = NULL; -var31 = NULL; -var32 = NULL; -var33 = NULL; -var34 = NULL; +var30 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var30, var31, var_tkwnewnode7, var32, var_psignaturenode9, var_pannotationsnode10, var33, var34, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var30, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), ((val*)NULL), var_tkwnewnode7, var_pmethidnode8, var_psignaturenode9, ((val*)NULL), var_pexterncallsnode11, var_pexterncodeblocknode12, ((val*)NULL), ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_ppropdefnode1 = var29; +var_ppropdefnode1 = var30; var_node_list = var_ppropdefnode1; -var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var31 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var36 = nit___nit__Parser___go_to(var_p, var35); +var32 = nit___nit__Parser___go_to(var_p, var31); } { -nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var32, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction65#action for (self: ReduceAction65, Parser) */ -void nit__parser___nit__parser__ReduceAction65___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction72#action for (self: ReduceAction72, Parser) */ +void nit__parser___nit__parser__ReduceAction72___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var3 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var4 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var5 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var11 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var12 /* : Bool */; int cltype13; int idtype14; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; short int var15 /* : Bool */; int cltype16; int idtype17; -val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; short int var18 /* : Bool */; int cltype19; int idtype20; -val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; short int var21 /* : Bool */; int cltype22; int idtype23; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +val* var_pexterncallsnode11 /* var pexterncallsnode11: nullable Object */; short int var24 /* : Bool */; int cltype25; int idtype26; -val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +val* var_pexterncodeblocknode12 /* var pexterncodeblocknode12: nullable Object */; short int var27 /* : Bool */; int cltype28; int idtype29; -val* var_pexprnode13 /* var pexprnode13: nullable Object */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : AMethPropdef */; -val* var34 /* : null */; -val* var35 /* : null */; -val* var36 /* : null */; -val* var37 /* : null */; +val* var30 /* : AMethPropdef */; val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var38 /* : Int */; -long var39 /* : Int */; +long var31 /* : Int */; +long var32 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist8 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var1; +var_nodearraylist7 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist6 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var3; +var_nodearraylist5 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var4; +var_nodearraylist4 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var5; +var_nodearraylist3 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var6; +var_nodearraylist2 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var9; -{ -var10 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var10; +var_nodearraylist1 = var7; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var11 = 1; +var8 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var11 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var8 = 0; } else { -var11 = var_pdocnode2->type->type_table[cltype] == idtype; +var8 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var11)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3291); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3521); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype13 = type_nullable__nit__TKwredef.color; -idtype14 = type_nullable__nit__TKwredef.id; +cltype10 = type_nullable__nit__TKwredef.color; +idtype11 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var12 = 1; +var9 = 1; } else { -if(cltype13 >= var_tkwredefnode3->type->table_size) { -var12 = 0; +if(cltype10 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var9 = 0; } else { -var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14; +var9 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype10] == idtype11; } } -if (unlikely(!var12)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3293); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3523); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype16 = type_nullable__nit__AVisibility.color; -idtype17 = type_nullable__nit__AVisibility.id; +cltype13 = type_nullable__nit__AVisibility.color; +idtype14 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var15 = 1; +var12 = 1; } else { -if(cltype16 >= var_pvisibilitynode4->type->table_size) { -var15 = 0; +if(cltype13 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var12 = 0; } else { -var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; +var12 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype13] == idtype14; } } -if (unlikely(!var15)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3295); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3525); +fatal_exit(1); } var_tkwnewnode7 = var_nodearraylist4; /* isa nullable TKwnew */ -cltype19 = type_nullable__nit__TKwnew.color; -idtype20 = type_nullable__nit__TKwnew.id; +cltype16 = type_nullable__nit__TKwnew.color; +idtype17 = type_nullable__nit__TKwnew.id; if(var_tkwnewnode7 == NULL) { +var15 = 1; +} else { +if(cltype16 >= (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->table_size) { +var15 = 0; +} else { +var15 = (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3527); +fatal_exit(1); +} +var_psignaturenode9 = var_nodearraylist5; +/* isa nullable ASignature */ +cltype19 = type_nullable__nit__ASignature.color; +idtype20 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { var18 = 1; } else { -if(cltype19 >= var_tkwnewnode7->type->table_size) { +if(cltype19 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { var18 = 0; } else { -var18 = var_tkwnewnode7->type->type_table[cltype19] == idtype20; +var18 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype19] == idtype20; } } if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3297); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3529); +fatal_exit(1); } -var_pmethidnode8 = var_nodearraylist5; -/* isa nullable AMethid */ -cltype22 = type_nullable__nit__AMethid.color; -idtype23 = type_nullable__nit__AMethid.id; -if(var_pmethidnode8 == NULL) { +var_pannotationsnode10 = var_nodearraylist6; +/* isa nullable AAnnotations */ +cltype22 = type_nullable__nit__AAnnotations.color; +idtype23 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { var21 = 1; } else { -if(cltype22 >= var_pmethidnode8->type->table_size) { +if(cltype22 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { var21 = 0; } else { -var21 = var_pmethidnode8->type->type_table[cltype22] == idtype23; +var21 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype22] == idtype23; } } if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3299); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3531); +fatal_exit(1); } -var_psignaturenode9 = var_nodearraylist6; -/* isa nullable ASignature */ -cltype25 = type_nullable__nit__ASignature.color; -idtype26 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { +var_pexterncallsnode11 = var_nodearraylist7; +/* isa nullable AExternCalls */ +cltype25 = type_nullable__nit__AExternCalls.color; +idtype26 = type_nullable__nit__AExternCalls.id; +if(var_pexterncallsnode11 == NULL) { var24 = 1; } else { -if(cltype25 >= var_psignaturenode9->type->table_size) { +if(cltype25 >= (((long)var_pexterncallsnode11&3)?type_info[((long)var_pexterncallsnode11&3)]:var_pexterncallsnode11->type)->table_size) { var24 = 0; } else { -var24 = var_psignaturenode9->type->type_table[cltype25] == idtype26; +var24 = (((long)var_pexterncallsnode11&3)?type_info[((long)var_pexterncallsnode11&3)]:var_pexterncallsnode11->type)->type_table[cltype25] == idtype26; } } if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3301); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3533); +fatal_exit(1); } -var_pannotationsnode10 = var_nodearraylist7; -/* isa nullable AAnnotations */ -cltype28 = type_nullable__nit__AAnnotations.color; -idtype29 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode10 == NULL) { +var_pexterncodeblocknode12 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype28 = type_nullable__nit__AExternCodeBlock.color; +idtype29 = type_nullable__nit__AExternCodeBlock.id; +if(var_pexterncodeblocknode12 == NULL) { var27 = 1; } else { -if(cltype28 >= var_pannotationsnode10->type->table_size) { +if(cltype28 >= (((long)var_pexterncodeblocknode12&3)?type_info[((long)var_pexterncodeblocknode12&3)]:var_pexterncodeblocknode12->type)->table_size) { var27 = 0; } else { -var27 = var_pannotationsnode10->type->type_table[cltype28] == idtype29; +var27 = (((long)var_pexterncodeblocknode12&3)?type_info[((long)var_pexterncodeblocknode12&3)]:var_pexterncodeblocknode12->type)->type_table[cltype28] == idtype29; } } if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3303); -show_backtrace(1); -} -var_pexprnode13 = var_nodearraylist9; -/* isa nullable AExpr */ -cltype31 = type_nullable__nit__AExpr.color; -idtype32 = type_nullable__nit__AExpr.id; -if(var_pexprnode13 == NULL) { -var30 = 1; -} else { -if(cltype31 >= var_pexprnode13->type->table_size) { -var30 = 0; -} else { -var30 = var_pexprnode13->type->type_table[cltype31] == idtype32; -} -} -if (unlikely(!var30)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3305); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3535); +fatal_exit(1); } -var33 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var34 = NULL; -var35 = NULL; -var36 = NULL; -var37 = NULL; +var30 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var34, var35, var_tkwnewnode7, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, var36, var37, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var30, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), ((val*)NULL), var_tkwnewnode7, ((val*)NULL), var_psignaturenode9, var_pannotationsnode10, var_pexterncallsnode11, var_pexterncodeblocknode12, ((val*)NULL), ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_ppropdefnode1 = var33; +var_ppropdefnode1 = var30; var_node_list = var_ppropdefnode1; -var38 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var31 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var39 = nit___nit__Parser___go_to(var_p, var38); +var32 = nit___nit__Parser___go_to(var_p, var31); } { -nit___nit__Parser___push(var_p, var39, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var32, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction66#action for (self: ReduceAction66, Parser) */ -void nit__parser___nit__parser__ReduceAction66___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction73#action for (self: ReduceAction73, Parser) */ +void nit__parser___nit__parser__ReduceAction73___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var1 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var2 /* : nullable Object */; @@ -2201,7 +2386,7 @@ val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var13 /* : Bool */; int cltype14; int idtype15; -val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; short int var16 /* : Bool */; int cltype17; int idtype18; @@ -2213,25 +2398,28 @@ val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; short int var22 /* : Bool */; int cltype23; int idtype24; -val* var_pexterncallsnode11 /* var pexterncallsnode11: nullable Object */; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; short int var25 /* : Bool */; int cltype26; int idtype27; -val* var_pexterncodeblocknode12 /* var pexterncodeblocknode12: nullable Object */; +val* var_pexterncallsnode11 /* var pexterncallsnode11: nullable Object */; short int var28 /* : Bool */; int cltype29; int idtype30; -val* var31 /* : AMethPropdef */; -val* var32 /* : null */; -val* var33 /* : null */; -val* var34 /* : null */; -val* var35 /* : null */; +val* var_pexterncodeblocknode12 /* var pexterncodeblocknode12: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AMethPropdef */; val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var35 /* : Int */; long var36 /* : Int */; -long var37 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist9 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -2271,16 +2459,16 @@ idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { var9 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { var9 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3338); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3571); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ @@ -2289,16 +2477,16 @@ idtype12 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { var10 = 1; } else { -if(cltype11 >= var_tkwredefnode3->type->table_size) { +if(cltype11 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { var10 = 0; } else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +var10 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype11] == idtype12; } } if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3340); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3573); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ @@ -2307,34 +2495,34 @@ idtype15 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { var13 = 1; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { +if(cltype14 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { var13 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var13 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype14] == idtype15; } } if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3342); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3575); +fatal_exit(1); } -var_tkwmethnode5 = var_nodearraylist4; -/* isa nullable TKwmeth */ -cltype17 = type_nullable__nit__TKwmeth.color; -idtype18 = type_nullable__nit__TKwmeth.id; -if(var_tkwmethnode5 == NULL) { +var_tkwnewnode7 = var_nodearraylist4; +/* isa nullable TKwnew */ +cltype17 = type_nullable__nit__TKwnew.color; +idtype18 = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode7 == NULL) { var16 = 1; } else { -if(cltype17 >= var_tkwmethnode5->type->table_size) { +if(cltype17 >= (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->table_size) { var16 = 0; } else { -var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18; +var16 = (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->type_table[cltype17] == idtype18; } } if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3344); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3577); +fatal_exit(1); } var_pmethidnode8 = var_nodearraylist5; /* isa nullable AMethid */ @@ -2343,16 +2531,16 @@ idtype21 = type_nullable__nit__AMethid.id; if(var_pmethidnode8 == NULL) { var19 = 1; } else { -if(cltype20 >= var_pmethidnode8->type->table_size) { +if(cltype20 >= (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->table_size) { var19 = 0; } else { -var19 = var_pmethidnode8->type->type_table[cltype20] == idtype21; +var19 = (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->type_table[cltype20] == idtype21; } } if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3346); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3579); +fatal_exit(1); } var_psignaturenode9 = var_nodearraylist6; /* isa nullable ASignature */ @@ -2361,4099 +2549,3419 @@ idtype24 = type_nullable__nit__ASignature.id; if(var_psignaturenode9 == NULL) { var22 = 1; } else { -if(cltype23 >= var_psignaturenode9->type->table_size) { +if(cltype23 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { var22 = 0; } else { -var22 = var_psignaturenode9->type->type_table[cltype23] == idtype24; +var22 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype23] == idtype24; } } if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3581); +fatal_exit(1); } -var_pexterncallsnode11 = var_nodearraylist7; -/* isa nullable AExternCalls */ -cltype26 = type_nullable__nit__AExternCalls.color; -idtype27 = type_nullable__nit__AExternCalls.id; -if(var_pexterncallsnode11 == NULL) { +var_pannotationsnode10 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype26 = type_nullable__nit__AAnnotations.color; +idtype27 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { var25 = 1; } else { -if(cltype26 >= var_pexterncallsnode11->type->table_size) { +if(cltype26 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { var25 = 0; } else { -var25 = var_pexterncallsnode11->type->type_table[cltype26] == idtype27; +var25 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype26] == idtype27; } } if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3350); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3583); +fatal_exit(1); } -var_pexterncodeblocknode12 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype29 = type_nullable__nit__AExternCodeBlock.color; -idtype30 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode12 == NULL) { +var_pexterncallsnode11 = var_nodearraylist8; +/* isa nullable AExternCalls */ +cltype29 = type_nullable__nit__AExternCalls.color; +idtype30 = type_nullable__nit__AExternCalls.id; +if(var_pexterncallsnode11 == NULL) { var28 = 1; } else { -if(cltype29 >= var_pexterncodeblocknode12->type->table_size) { +if(cltype29 >= (((long)var_pexterncallsnode11&3)?type_info[((long)var_pexterncallsnode11&3)]:var_pexterncallsnode11->type)->table_size) { var28 = 0; } else { -var28 = var_pexterncodeblocknode12->type->type_table[cltype29] == idtype30; +var28 = (((long)var_pexterncallsnode11&3)?type_info[((long)var_pexterncallsnode11&3)]:var_pexterncallsnode11->type)->type_table[cltype29] == idtype30; } } if (unlikely(!var28)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3352); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3585); +fatal_exit(1); +} +var_pexterncodeblocknode12 = var_nodearraylist9; +/* isa nullable AExternCodeBlock */ +cltype32 = type_nullable__nit__AExternCodeBlock.color; +idtype33 = type_nullable__nit__AExternCodeBlock.id; +if(var_pexterncodeblocknode12 == NULL) { +var31 = 1; +} else { +if(cltype32 >= (((long)var_pexterncodeblocknode12&3)?type_info[((long)var_pexterncodeblocknode12&3)]:var_pexterncodeblocknode12->type)->table_size) { +var31 = 0; +} else { +var31 = (((long)var_pexterncodeblocknode12&3)?type_info[((long)var_pexterncodeblocknode12&3)]:var_pexterncodeblocknode12->type)->type_table[cltype32] == idtype33; +} } -var31 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var32 = NULL; -var33 = NULL; -var34 = NULL; -var35 = NULL; +if (unlikely(!var31)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3587); +fatal_exit(1); +} +var34 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var32, var33, var_pmethidnode8, var_psignaturenode9, var34, var_pexterncallsnode11, var_pexterncodeblocknode12, var35); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), ((val*)NULL), var_tkwnewnode7, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, var_pexterncallsnode11, var_pexterncodeblocknode12, ((val*)NULL), ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_ppropdefnode1 = var31; +var_ppropdefnode1 = var34; var_node_list = var_ppropdefnode1; -var36 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var37 = nit___nit__Parser___go_to(var_p, var36); +var36 = nit___nit__Parser___go_to(var_p, var35); } { -nit___nit__Parser___push(var_p, var37, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction67#action for (self: ReduceAction67, Parser) */ -void nit__parser___nit__parser__ReduceAction67___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction74#action for (self: ReduceAction74, Parser) */ +void nit__parser___nit__parser__ReduceAction74___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; -int cltype; -int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var_pexterncallsnode11 /* var pexterncallsnode11: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var_pexterncodeblocknode12 /* var pexterncodeblocknode12: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : AMethPropdef */; -val* var36 /* : null */; -val* var37 /* : null */; -val* var38 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var39 /* : Int */; -long var40 /* : Int */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable Object */; +long var1 /* : Int */; +long var2 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist9 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist8 = var2; +var_node_list = ((val*)NULL); { -var3 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var3; +var_nodearraylist1 = var; +var_ppropdefnode1 = var_nodearraylist1; +var_node_list = var_ppropdefnode1; +var1 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var4 = nit___nit__Parser___pop(var_p); +var2 = nit___nit__Parser___go_to(var_p, var1); } -var_nodearraylist6 = var4; { -var5 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var2, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist5 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); +RET_LABEL:; } -var_nodearraylist4 = var6; +/* method parser#ReduceAction76#action for (self: ReduceAction76, Parser) */ +void nit__parser___nit__parser__ReduceAction76___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var2 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: Array[Object] */; +val* var_tkwisnode2 /* var tkwisnode2: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var_listnode5 /* var listnode5: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var7 /* : Array[Object] */; +val* var8 /* : AAnnotations */; +val* var_pannotationsnode1 /* var pannotationsnode1: nullable AAnnotations */; +long var9 /* : Int */; +long var10 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var7 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var7; +var_nodearraylist2 = var; { -var8 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var8; +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var9 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var9; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var10 = 1; +var_listnode6 = var2; +var_tkwisnode2 = var_nodearraylist1; +/* isa nullable TKwis */ +cltype = type_nullable__nit__TKwis.color; +idtype = type_nullable__nit__TKwis.id; +if(var_tkwisnode2 == NULL) { +var3 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; +if(cltype >= (((long)var_tkwisnode2&3)?type_info[((long)var_tkwisnode2&3)]:var_tkwisnode2->type)->table_size) { +var3 = 0; } else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_tkwisnode2&3)?type_info[((long)var_tkwisnode2&3)]:var_tkwisnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var10)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3386); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3628); +fatal_exit(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype12 = type_nullable__nit__TKwredef.color; -idtype13 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var11 = 1; +var_listnode5 = var_nodearraylist2; +/* isa Array[Object] */ +cltype5 = type_standard__Array__standard__Object.color; +idtype6 = type_standard__Array__standard__Object.id; +if(var_listnode5 == NULL) { +var4 = 0; } else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { -var11 = 0; +if(cltype5 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) { +var4 = 0; } else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; +var4 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype5] == idtype6; } } -if (unlikely(!var11)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3388); -show_backtrace(1); -} -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype15 = type_nullable__nit__AVisibility.color; -idtype16 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var14 = 1; -} else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; -} else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3630); +fatal_exit(1); } +{ +var7 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); } -if (unlikely(!var14)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3390); -show_backtrace(1); -} -var_tkwmethnode5 = var_nodearraylist4; -/* isa nullable TKwmeth */ -cltype18 = type_nullable__nit__TKwmeth.color; -idtype19 = type_nullable__nit__TKwmeth.id; -if(var_tkwmethnode5 == NULL) { -var17 = 1; -} else { -if(cltype18 >= var_tkwmethnode5->type->table_size) { -var17 = 0; -} else { -var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19; +var_listnode6 = var7; +var8 = NEW_nit__AAnnotations(&type_nit__AAnnotations); +{ +nit__parser_prod___AAnnotations___init_aannotations(var8, var_tkwisnode2, ((val*)NULL), ((val*)NULL), var_listnode6, ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AAnnotations#init_aannotations on */ } +var_pannotationsnode1 = var8; +var_node_list = var_pannotationsnode1; +var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var10 = nit___nit__Parser___go_to(var_p, var9); } -if (unlikely(!var17)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3392); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_pmethidnode8 = var_nodearraylist5; -/* isa nullable AMethid */ -cltype21 = type_nullable__nit__AMethid.color; -idtype22 = type_nullable__nit__AMethid.id; -if(var_pmethidnode8 == NULL) { -var20 = 1; -} else { -if(cltype21 >= var_pmethidnode8->type->table_size) { -var20 = 0; -} else { -var20 = var_pmethidnode8->type->type_table[cltype21] == idtype22; +RET_LABEL:; } +/* method parser#ReduceAction77#action for (self: ReduceAction77, Parser) */ +void nit__parser___nit__parser__ReduceAction77___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var4 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: Array[Object] */; +val* var_tkwisnode2 /* var tkwisnode2: nullable Object */; +short int var5 /* : Bool */; +int cltype; +int idtype; +val* var_listnode5 /* var listnode5: nullable Object */; +short int var6 /* : Bool */; +int cltype7; +int idtype8; +val* var9 /* : Array[Object] */; +val* var_tkwendnode8 /* var tkwendnode8: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var13 /* : AAnnotations */; +val* var_pannotationsnode1 /* var pannotationsnode1: nullable AAnnotations */; +long var14 /* : Int */; +long var15 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -if (unlikely(!var20)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3394); -show_backtrace(1); +var_nodearraylist4 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } -var_psignaturenode9 = var_nodearraylist6; -/* isa nullable ASignature */ -cltype24 = type_nullable__nit__ASignature.color; -idtype25 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { -var23 = 1; -} else { -if(cltype24 >= var_psignaturenode9->type->table_size) { -var23 = 0; -} else { -var23 = var_psignaturenode9->type->type_table[cltype24] == idtype25; +var_nodearraylist3 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); } +var_nodearraylist2 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); } -if (unlikely(!var23)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3396); -show_backtrace(1); +var_nodearraylist1 = var3; +var4 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_pannotationsnode10 = var_nodearraylist7; -/* isa nullable AAnnotations */ -cltype27 = type_nullable__nit__AAnnotations.color; -idtype28 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode10 == NULL) { -var26 = 1; +var_listnode6 = var4; +var_tkwisnode2 = var_nodearraylist1; +/* isa nullable TKwis */ +cltype = type_nullable__nit__TKwis.color; +idtype = type_nullable__nit__TKwis.id; +if(var_tkwisnode2 == NULL) { +var5 = 1; } else { -if(cltype27 >= var_pannotationsnode10->type->table_size) { -var26 = 0; +if(cltype >= (((long)var_tkwisnode2&3)?type_info[((long)var_tkwisnode2&3)]:var_tkwisnode2->type)->table_size) { +var5 = 0; } else { -var26 = var_pannotationsnode10->type->type_table[cltype27] == idtype28; +var5 = (((long)var_tkwisnode2&3)?type_info[((long)var_tkwisnode2&3)]:var_tkwisnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var26)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3398); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3655); +fatal_exit(1); } -var_pexterncallsnode11 = var_nodearraylist8; -/* isa nullable AExternCalls */ -cltype30 = type_nullable__nit__AExternCalls.color; -idtype31 = type_nullable__nit__AExternCalls.id; -if(var_pexterncallsnode11 == NULL) { -var29 = 1; +var_listnode5 = var_nodearraylist3; +/* isa Array[Object] */ +cltype7 = type_standard__Array__standard__Object.color; +idtype8 = type_standard__Array__standard__Object.id; +if(var_listnode5 == NULL) { +var6 = 0; } else { -if(cltype30 >= var_pexterncallsnode11->type->table_size) { -var29 = 0; +if(cltype7 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) { +var6 = 0; } else { -var29 = var_pexterncallsnode11->type->type_table[cltype30] == idtype31; +var6 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype7] == idtype8; } } -if (unlikely(!var29)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3400); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3657); +fatal_exit(1); } -var_pexterncodeblocknode12 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype33 = type_nullable__nit__AExternCodeBlock.color; -idtype34 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode12 == NULL) { -var32 = 1; +{ +var9 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); +} +var_listnode6 = var9; +var_tkwendnode8 = var_nodearraylist4; +/* isa nullable TKwend */ +cltype11 = type_nullable__nit__TKwend.color; +idtype12 = type_nullable__nit__TKwend.id; +if(var_tkwendnode8 == NULL) { +var10 = 1; } else { -if(cltype33 >= var_pexterncodeblocknode12->type->table_size) { -var32 = 0; +if(cltype11 >= (((long)var_tkwendnode8&3)?type_info[((long)var_tkwendnode8&3)]:var_tkwendnode8->type)->table_size) { +var10 = 0; } else { -var32 = var_pexterncodeblocknode12->type->type_table[cltype33] == idtype34; +var10 = (((long)var_tkwendnode8&3)?type_info[((long)var_tkwendnode8&3)]:var_tkwendnode8->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var32)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3402); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3660); +fatal_exit(1); } -var35 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var36 = NULL; -var37 = NULL; -var38 = NULL; +var13 = NEW_nit__AAnnotations(&type_nit__AAnnotations); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var36, var37, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, var_pexterncallsnode11, var_pexterncodeblocknode12, var38); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AAnnotations___init_aannotations(var13, var_tkwisnode2, ((val*)NULL), ((val*)NULL), var_listnode6, ((val*)NULL), var_tkwendnode8); /* Direct call parser_prod#AAnnotations#init_aannotations on */ } -var_ppropdefnode1 = var35; -var_node_list = var_ppropdefnode1; -var39 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pannotationsnode1 = var13; +var_node_list = var_pannotationsnode1; +var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var40 = nit___nit__Parser___go_to(var_p, var39); +var15 = nit___nit__Parser___go_to(var_p, var14); } { -nit___nit__Parser___push(var_p, var40, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction68#action for (self: ReduceAction68, Parser) */ -void nit__parser___nit__parser__ReduceAction68___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction80#action for (self: ReduceAction80, Parser) */ +void nit__parser___nit__parser__ReduceAction80___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var5 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var6 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var7 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var8 /* : Bool */; +val* var3 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: Array[Object] */; +val* var_tkwisnode2 /* var tkwisnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_tkwvarnode5 /* var tkwvarnode5: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_tidnode6 /* var tidnode6: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_ptypenode7 /* var ptypenode7: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var27 /* : AAttrPropdef */; -val* var28 /* : null */; -val* var29 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; -long var30 /* : Int */; -long var31 /* : Int */; +val* var_listnode5 /* var listnode5: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var8 /* : Array[Object] */; +val* var9 /* : AAnnotations */; +val* var_pannotationsnode1 /* var pannotationsnode1: nullable AAnnotations */; +long var10 /* : Int */; +long var11 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist7 = var1; +var_node_list = ((val*)NULL); { -var2 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist6 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist5 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var4; +var_nodearraylist3 = var; { -var5 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var5; +var_nodearraylist2 = var1; { -var6 = nit___nit__Parser___pop(var_p); +var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var6; +var_nodearraylist1 = var2; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var7 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var7; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var8 = 1; +var_listnode6 = var3; +var_tkwisnode2 = var_nodearraylist1; +/* isa nullable TKwis */ +cltype = type_nullable__nit__TKwis.color; +idtype = type_nullable__nit__TKwis.id; +if(var_tkwisnode2 == NULL) { +var4 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var8 = 0; +if(cltype >= (((long)var_tkwisnode2&3)?type_info[((long)var_tkwisnode2&3)]:var_tkwisnode2->type)->table_size) { +var4 = 0; } else { -var8 = var_pdocnode2->type->type_table[cltype] == idtype; +var4 = (((long)var_tkwisnode2&3)?type_info[((long)var_tkwisnode2&3)]:var_tkwisnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var8)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3434); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3683); +fatal_exit(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype10 = type_nullable__nit__TKwredef.color; -idtype11 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var9 = 1; +var_listnode5 = var_nodearraylist3; +/* isa Array[Object] */ +cltype6 = type_standard__Array__standard__Object.color; +idtype7 = type_standard__Array__standard__Object.id; +if(var_listnode5 == NULL) { +var5 = 0; } else { -if(cltype10 >= var_tkwredefnode3->type->table_size) { -var9 = 0; +if(cltype6 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) { +var5 = 0; } else { -var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11; +var5 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var9)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3436); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3685); +fatal_exit(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype13 = type_nullable__nit__AVisibility.color; -idtype14 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var12 = 1; -} else { -if(cltype13 >= var_pvisibilitynode4->type->table_size) { -var12 = 0; -} else { -var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14; +{ +var8 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); } +var_listnode6 = var8; +var9 = NEW_nit__AAnnotations(&type_nit__AAnnotations); +{ +nit__parser_prod___AAnnotations___init_aannotations(var9, var_tkwisnode2, ((val*)NULL), ((val*)NULL), var_listnode6, ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AAnnotations#init_aannotations on */ } -if (unlikely(!var12)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3438); -show_backtrace(1); -} -var_tkwvarnode5 = var_nodearraylist4; -/* isa nullable TKwvar */ -cltype16 = type_nullable__nit__TKwvar.color; -idtype17 = type_nullable__nit__TKwvar.id; -if(var_tkwvarnode5 == NULL) { -var15 = 1; -} else { -if(cltype16 >= var_tkwvarnode5->type->table_size) { -var15 = 0; -} else { -var15 = var_tkwvarnode5->type->type_table[cltype16] == idtype17; +var_pannotationsnode1 = var9; +var_node_list = var_pannotationsnode1; +var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var11 = nit___nit__Parser___go_to(var_p, var10); } +{ +nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ } -if (unlikely(!var15)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3440); -show_backtrace(1); +RET_LABEL:; } -var_tidnode6 = var_nodearraylist5; -/* isa nullable TId */ -cltype19 = type_nullable__nit__TId.color; -idtype20 = type_nullable__nit__TId.id; -if(var_tidnode6 == NULL) { -var18 = 1; -} else { -if(cltype19 >= var_tidnode6->type->table_size) { -var18 = 0; -} else { -var18 = var_tidnode6->type->type_table[cltype19] == idtype20; +/* method parser#ReduceAction81#action for (self: ReduceAction81, Parser) */ +void nit__parser___nit__parser__ReduceAction81___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : APublicVisibility */; +val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable APublicVisibility */; +long var1 /* : Int */; +long var2 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +var = NEW_nit__APublicVisibility(&type_nit__APublicVisibility); +{ +nit__parser_prod___APublicVisibility___init_apublicvisibility(var, ((val*)NULL)); /* Direct call parser_prod#APublicVisibility#init_apublicvisibility on */ } +var_pvisibilitynode1 = var; +var_node_list = var_pvisibilitynode1; +var1 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var2 = nit___nit__Parser___go_to(var_p, var1); } -if (unlikely(!var18)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3442); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var2, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_ptypenode7 = var_nodearraylist6; -/* isa nullable AType */ -cltype22 = type_nullable__nit__AType.color; -idtype23 = type_nullable__nit__AType.id; -if(var_ptypenode7 == NULL) { -var21 = 1; -} else { -if(cltype22 >= var_ptypenode7->type->table_size) { -var21 = 0; -} else { -var21 = var_ptypenode7->type->type_table[cltype22] == idtype23; +RET_LABEL:; } +/* method parser#ReduceAction82#action for (self: ReduceAction82, Parser) */ +void nit__parser___nit__parser__ReduceAction82___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwpublicnode2 /* var tkwpublicnode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var3 /* : APublicVisibility */; +val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable APublicVisibility */; +long var4 /* : Int */; +long var5 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -if (unlikely(!var21)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3444); -show_backtrace(1); +var_nodearraylist2 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } -var_pannotationsnode9 = var_nodearraylist7; -/* isa nullable AAnnotations */ -cltype25 = type_nullable__nit__AAnnotations.color; -idtype26 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode9 == NULL) { -var24 = 1; +var_nodearraylist1 = var1; +var_tkwpublicnode2 = var_nodearraylist1; +/* isa nullable TKwpublic */ +cltype = type_nullable__nit__TKwpublic.color; +idtype = type_nullable__nit__TKwpublic.id; +if(var_tkwpublicnode2 == NULL) { +var2 = 1; } else { -if(cltype25 >= var_pannotationsnode9->type->table_size) { -var24 = 0; +if(cltype >= (((long)var_tkwpublicnode2&3)?type_info[((long)var_tkwpublicnode2&3)]:var_tkwpublicnode2->type)->table_size) { +var2 = 0; } else { -var24 = var_pannotationsnode9->type->type_table[cltype25] == idtype26; +var2 = (((long)var_tkwpublicnode2&3)?type_info[((long)var_tkwpublicnode2&3)]:var_tkwpublicnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var24)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3446); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3719); +fatal_exit(1); } -var27 = NEW_nit__AAttrPropdef(&type_nit__AAttrPropdef); -var28 = NULL; -var29 = NULL; +var3 = NEW_nit__APublicVisibility(&type_nit__APublicVisibility); { -nit__parser_prod___AAttrPropdef___init_aattrpropdef(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwvarnode5, var_tidnode6, var_ptypenode7, var28, var_pannotationsnode9, var29); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ +nit__parser_prod___APublicVisibility___init_apublicvisibility(var3, var_tkwpublicnode2); /* Direct call parser_prod#APublicVisibility#init_apublicvisibility on */ } -var_ppropdefnode1 = var27; -var_node_list = var_ppropdefnode1; -var30 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pvisibilitynode1 = var3; +var_node_list = var_pvisibilitynode1; +var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var31 = nit___nit__Parser___go_to(var_p, var30); +var5 = nit___nit__Parser___go_to(var_p, var4); } { -nit___nit__Parser___push(var_p, var31, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction69#action for (self: ReduceAction69, Parser) */ -void nit__parser___nit__parser__ReduceAction69___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction83#action for (self: ReduceAction83, Parser) */ +void nit__parser___nit__parser__ReduceAction83___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var11 /* : Bool */; +val* var_tkwprivatenode2 /* var tkwprivatenode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_tkwvarnode5 /* var tkwvarnode5: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_tidnode6 /* var tidnode6: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_ptypenode7 /* var ptypenode7: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var_pexprnode8 /* var pexprnode8: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable Object */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : AAttrPropdef */; -val* var34 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; -long var35 /* : Int */; -long var36 /* : Int */; +val* var3 /* : APrivateVisibility */; +val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable APrivateVisibility */; +long var4 /* : Int */; +long var5 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var1; +var_nodearraylist2 = var; { -var2 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = var1; +var_tkwprivatenode2 = var_nodearraylist1; +/* isa nullable TKwprivate */ +cltype = type_nullable__nit__TKwprivate.color; +idtype = type_nullable__nit__TKwprivate.id; +if(var_tkwprivatenode2 == NULL) { +var2 = 1; +} else { +if(cltype >= (((long)var_tkwprivatenode2&3)?type_info[((long)var_tkwprivatenode2&3)]:var_tkwprivatenode2->type)->table_size) { +var2 = 0; +} else { +var2 = (((long)var_tkwprivatenode2&3)?type_info[((long)var_tkwprivatenode2&3)]:var_tkwprivatenode2->type)->type_table[cltype] == idtype; } -var_nodearraylist8 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3735); +fatal_exit(1); } -var_nodearraylist6 = var5; +var3 = NEW_nit__APrivateVisibility(&type_nit__APrivateVisibility); { -var6 = nit___nit__Parser___pop(var_p); +nit__parser_prod___APrivateVisibility___init_aprivatevisibility(var3, var_tkwprivatenode2); /* Direct call parser_prod#APrivateVisibility#init_aprivatevisibility on */ } -var_nodearraylist5 = var6; +var_pvisibilitynode1 = var3; +var_node_list = var_pvisibilitynode1; +var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var7 = nit___nit__Parser___pop(var_p); +var5 = nit___nit__Parser___go_to(var_p, var4); } -var_nodearraylist4 = var7; { -var8 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist3 = var8; +RET_LABEL:; +} +/* method parser#ReduceAction84#action for (self: ReduceAction84, Parser) */ +void nit__parser___nit__parser__ReduceAction84___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwprotectednode2 /* var tkwprotectednode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var3 /* : AProtectedVisibility */; +val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable AProtectedVisibility */; +long var4 /* : Int */; +long var5 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var9 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var9; +var_nodearraylist2 = var; { -var10 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var10; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var11 = 1; +var_nodearraylist1 = var1; +var_tkwprotectednode2 = var_nodearraylist1; +/* isa nullable TKwprotected */ +cltype = type_nullable__nit__TKwprotected.color; +idtype = type_nullable__nit__TKwprotected.id; +if(var_tkwprotectednode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var11 = 0; +if(cltype >= (((long)var_tkwprotectednode2&3)?type_info[((long)var_tkwprotectednode2&3)]:var_tkwprotectednode2->type)->table_size) { +var2 = 0; } else { -var11 = var_pdocnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_tkwprotectednode2&3)?type_info[((long)var_tkwprotectednode2&3)]:var_tkwprotectednode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var11)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3478); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3751); +fatal_exit(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype13 = type_nullable__nit__TKwredef.color; -idtype14 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var12 = 1; -} else { -if(cltype13 >= var_tkwredefnode3->type->table_size) { -var12 = 0; -} else { -var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14; +var3 = NEW_nit__AProtectedVisibility(&type_nit__AProtectedVisibility); +{ +nit__parser_prod___AProtectedVisibility___init_aprotectedvisibility(var3, var_tkwprotectednode2); /* Direct call parser_prod#AProtectedVisibility#init_aprotectedvisibility on */ } +var_pvisibilitynode1 = var3; +var_node_list = var_pvisibilitynode1; +var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var5 = nit___nit__Parser___go_to(var_p, var4); } -if (unlikely(!var12)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3480); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype16 = type_nullable__nit__AVisibility.color; -idtype17 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var15 = 1; +RET_LABEL:; +} +/* method parser#ReduceAction85#action for (self: ReduceAction85, Parser) */ +void nit__parser___nit__parser__ReduceAction85___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwintrudenode2 /* var tkwintrudenode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var3 /* : AIntrudeVisibility */; +val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable AIntrudeVisibility */; +long var4 /* : Int */; +long var5 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var; +{ +var1 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var1; +var_tkwintrudenode2 = var_nodearraylist1; +/* isa nullable TKwintrude */ +cltype = type_nullable__nit__TKwintrude.color; +idtype = type_nullable__nit__TKwintrude.id; +if(var_tkwintrudenode2 == NULL) { +var2 = 1; } else { -if(cltype16 >= var_pvisibilitynode4->type->table_size) { -var15 = 0; +if(cltype >= (((long)var_tkwintrudenode2&3)?type_info[((long)var_tkwintrudenode2&3)]:var_tkwintrudenode2->type)->table_size) { +var2 = 0; } else { -var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; +var2 = (((long)var_tkwintrudenode2&3)?type_info[((long)var_tkwintrudenode2&3)]:var_tkwintrudenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var15)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3482); -show_backtrace(1); -} -var_tkwvarnode5 = var_nodearraylist4; -/* isa nullable TKwvar */ -cltype19 = type_nullable__nit__TKwvar.color; -idtype20 = type_nullable__nit__TKwvar.id; -if(var_tkwvarnode5 == NULL) { -var18 = 1; -} else { -if(cltype19 >= var_tkwvarnode5->type->table_size) { -var18 = 0; -} else { -var18 = var_tkwvarnode5->type->type_table[cltype19] == idtype20; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3767); +fatal_exit(1); } +var3 = NEW_nit__AIntrudeVisibility(&type_nit__AIntrudeVisibility); +{ +nit__parser_prod___AIntrudeVisibility___init_aintrudevisibility(var3, var_tkwintrudenode2); /* Direct call parser_prod#AIntrudeVisibility#init_aintrudevisibility on */ } -if (unlikely(!var18)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3484); -show_backtrace(1); +var_pvisibilitynode1 = var3; +var_node_list = var_pvisibilitynode1; +var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var5 = nit___nit__Parser___go_to(var_p, var4); } -var_tidnode6 = var_nodearraylist5; -/* isa nullable TId */ -cltype22 = type_nullable__nit__TId.color; -idtype23 = type_nullable__nit__TId.id; -if(var_tidnode6 == NULL) { -var21 = 1; -} else { -if(cltype22 >= var_tidnode6->type->table_size) { -var21 = 0; -} else { -var21 = var_tidnode6->type->type_table[cltype22] == idtype23; +{ +nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ } +RET_LABEL:; } -if (unlikely(!var21)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3486); -show_backtrace(1); +/* method parser#ReduceAction86#action for (self: ReduceAction86, Parser) */ +void nit__parser___nit__parser__ReduceAction86___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tplusnode2 /* var tplusnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : APlusMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable APlusMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -var_ptypenode7 = var_nodearraylist6; -/* isa nullable AType */ -cltype25 = type_nullable__nit__AType.color; -idtype26 = type_nullable__nit__AType.id; -if(var_ptypenode7 == NULL) { -var24 = 1; +var_nodearraylist1 = var; +var_tplusnode2 = var_nodearraylist1; +/* isa nullable TPlus */ +cltype = type_nullable__nit__TPlus.color; +idtype = type_nullable__nit__TPlus.id; +if(var_tplusnode2 == NULL) { +var1 = 1; } else { -if(cltype25 >= var_ptypenode7->type->table_size) { -var24 = 0; +if(cltype >= (((long)var_tplusnode2&3)?type_info[((long)var_tplusnode2&3)]:var_tplusnode2->type)->table_size) { +var1 = 0; } else { -var24 = var_ptypenode7->type->type_table[cltype25] == idtype26; +var1 = (((long)var_tplusnode2&3)?type_info[((long)var_tplusnode2&3)]:var_tplusnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var24)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3488); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3782); +fatal_exit(1); } -var_pexprnode8 = var_nodearraylist9; -/* isa nullable AExpr */ -cltype28 = type_nullable__nit__AExpr.color; -idtype29 = type_nullable__nit__AExpr.id; -if(var_pexprnode8 == NULL) { -var27 = 1; -} else { -if(cltype28 >= var_pexprnode8->type->table_size) { -var27 = 0; -} else { -var27 = var_pexprnode8->type->type_table[cltype28] == idtype29; +var2 = NEW_nit__APlusMethid(&type_nit__APlusMethid); +{ +nit__parser_prod___APlusMethid___init_aplusmethid(var2, var_tplusnode2); /* Direct call parser_prod#APlusMethid#init_aplusmethid on */ +} +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); } +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } -if (unlikely(!var27)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3490); -show_backtrace(1); +RET_LABEL:; } -var_pannotationsnode9 = var_nodearraylist10; -/* isa nullable AAnnotations */ -cltype31 = type_nullable__nit__AAnnotations.color; -idtype32 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode9 == NULL) { -var30 = 1; +/* method parser#ReduceAction87#action for (self: ReduceAction87, Parser) */ +void nit__parser___nit__parser__ReduceAction87___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tminusnode2 /* var tminusnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : AMinusMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable AMinusMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var; +var_tminusnode2 = var_nodearraylist1; +/* isa nullable TMinus */ +cltype = type_nullable__nit__TMinus.color; +idtype = type_nullable__nit__TMinus.id; +if(var_tminusnode2 == NULL) { +var1 = 1; } else { -if(cltype31 >= var_pannotationsnode9->type->table_size) { -var30 = 0; +if(cltype >= (((long)var_tminusnode2&3)?type_info[((long)var_tminusnode2&3)]:var_tminusnode2->type)->table_size) { +var1 = 0; } else { -var30 = var_pannotationsnode9->type->type_table[cltype31] == idtype32; +var1 = (((long)var_tminusnode2&3)?type_info[((long)var_tminusnode2&3)]:var_tminusnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var30)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3797); +fatal_exit(1); } -var33 = NEW_nit__AAttrPropdef(&type_nit__AAttrPropdef); -var34 = NULL; +var2 = NEW_nit__AMinusMethid(&type_nit__AMinusMethid); { -nit__parser_prod___AAttrPropdef___init_aattrpropdef(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwvarnode5, var_tidnode6, var_ptypenode7, var_pexprnode8, var_pannotationsnode9, var34); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ +nit__parser_prod___AMinusMethid___init_aminusmethid(var2, var_tminusnode2); /* Direct call parser_prod#AMinusMethid#init_aminusmethid on */ } -var_ppropdefnode1 = var33; -var_node_list = var_ppropdefnode1; -var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var36 = nit___nit__Parser___go_to(var_p, var35); +var4 = nit___nit__Parser___go_to(var_p, var3); } { -nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction70#action for (self: ReduceAction70, Parser) */ -void nit__parser___nit__parser__ReduceAction70___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction88#action for (self: ReduceAction88, Parser) */ +void nit__parser___nit__parser__ReduceAction88___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +val* var_tstarnode2 /* var tstarnode2: nullable Object */; +short int var1 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_tkwvarnode5 /* var tkwvarnode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var_tidnode6 /* var tidnode6: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_ptypenode7 /* var ptypenode7: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_pexprnode10 /* var pexprnode10: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : AAttrPropdef */; -val* var29 /* : null */; -val* var30 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; -long var31 /* : Int */; -long var32 /* : Int */; +val* var2 /* : AStarMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable AStarMethid */; +long var3 /* : Int */; +long var4 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = var; +var_tstarnode2 = var_nodearraylist1; +/* isa nullable TStar */ +cltype = type_nullable__nit__TStar.color; +idtype = type_nullable__nit__TStar.id; +if(var_tstarnode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_tstarnode2&3)?type_info[((long)var_tstarnode2&3)]:var_tstarnode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_tstarnode2&3)?type_info[((long)var_tstarnode2&3)]:var_tstarnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist7 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3812); +fatal_exit(1); } -var_nodearraylist5 = var4; +var2 = NEW_nit__AStarMethid(&type_nit__AStarMethid); { -var5 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AStarMethid___init_astarmethid(var2, var_tstarnode2); /* Direct call parser_prod#AStarMethid#init_astarmethid on */ } -var_nodearraylist4 = var5; +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var6 = nit___nit__Parser___pop(var_p); +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_nodearraylist3 = var6; { -var7 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist2 = var7; +RET_LABEL:; +} +/* method parser#ReduceAction89#action for (self: ReduceAction89, Parser) */ +void nit__parser___nit__parser__ReduceAction89___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tstarstarnode2 /* var tstarstarnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : AStarstarMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable AStarstarMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var8 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var8; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var9 = 1; +var_nodearraylist1 = var; +var_tstarstarnode2 = var_nodearraylist1; +/* isa nullable TStarstar */ +cltype = type_nullable__nit__TStarstar.color; +idtype = type_nullable__nit__TStarstar.id; +if(var_tstarstarnode2 == NULL) { +var1 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_tstarstarnode2&3)?type_info[((long)var_tstarstarnode2&3)]:var_tstarstarnode2->type)->table_size) { +var1 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var1 = (((long)var_tstarstarnode2&3)?type_info[((long)var_tstarstarnode2&3)]:var_tstarstarnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var9)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3522); -show_backtrace(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype11 = type_nullable__nit__TKwredef.color; -idtype12 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var10 = 1; -} else { -if(cltype11 >= var_tkwredefnode3->type->table_size) { -var10 = 0; -} else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3827); +fatal_exit(1); } +var2 = NEW_nit__AStarstarMethid(&type_nit__AStarstarMethid); +{ +nit__parser_prod___AStarstarMethid___init_astarstarmethid(var2, var_tstarstarnode2); /* Direct call parser_prod#AStarstarMethid#init_astarstarmethid on */ } -if (unlikely(!var10)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3524); -show_backtrace(1); +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype14 = type_nullable__nit__AVisibility.color; -idtype15 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var13 = 1; -} else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; -} else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } +RET_LABEL:; } -if (unlikely(!var13)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3526); -show_backtrace(1); +/* method parser#ReduceAction90#action for (self: ReduceAction90, Parser) */ +void nit__parser___nit__parser__ReduceAction90___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tslashnode2 /* var tslashnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : ASlashMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable ASlashMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -var_tkwvarnode5 = var_nodearraylist4; -/* isa nullable TKwvar */ -cltype17 = type_nullable__nit__TKwvar.color; -idtype18 = type_nullable__nit__TKwvar.id; -if(var_tkwvarnode5 == NULL) { -var16 = 1; +var_nodearraylist1 = var; +var_tslashnode2 = var_nodearraylist1; +/* isa nullable TSlash */ +cltype = type_nullable__nit__TSlash.color; +idtype = type_nullable__nit__TSlash.id; +if(var_tslashnode2 == NULL) { +var1 = 1; } else { -if(cltype17 >= var_tkwvarnode5->type->table_size) { -var16 = 0; +if(cltype >= (((long)var_tslashnode2&3)?type_info[((long)var_tslashnode2&3)]:var_tslashnode2->type)->table_size) { +var1 = 0; } else { -var16 = var_tkwvarnode5->type->type_table[cltype17] == idtype18; +var1 = (((long)var_tslashnode2&3)?type_info[((long)var_tslashnode2&3)]:var_tslashnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var16)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3528); -show_backtrace(1); -} -var_tidnode6 = var_nodearraylist5; -/* isa nullable TId */ -cltype20 = type_nullable__nit__TId.color; -idtype21 = type_nullable__nit__TId.id; -if(var_tidnode6 == NULL) { -var19 = 1; -} else { -if(cltype20 >= var_tidnode6->type->table_size) { -var19 = 0; -} else { -var19 = var_tidnode6->type->type_table[cltype20] == idtype21; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3842); +fatal_exit(1); } +var2 = NEW_nit__ASlashMethid(&type_nit__ASlashMethid); +{ +nit__parser_prod___ASlashMethid___init_aslashmethid(var2, var_tslashnode2); /* Direct call parser_prod#ASlashMethid#init_aslashmethid on */ } -if (unlikely(!var19)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3530); -show_backtrace(1); +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_ptypenode7 = var_nodearraylist6; -/* isa nullable AType */ -cltype23 = type_nullable__nit__AType.color; -idtype24 = type_nullable__nit__AType.id; -if(var_ptypenode7 == NULL) { -var22 = 1; -} else { -if(cltype23 >= var_ptypenode7->type->table_size) { -var22 = 0; -} else { -var22 = var_ptypenode7->type->type_table[cltype23] == idtype24; +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } +RET_LABEL:; } -if (unlikely(!var22)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3532); -show_backtrace(1); +/* method parser#ReduceAction91#action for (self: ReduceAction91, Parser) */ +void nit__parser___nit__parser__ReduceAction91___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tpercentnode2 /* var tpercentnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : APercentMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable APercentMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -var_pexprnode10 = var_nodearraylist8; -/* isa nullable AExpr */ -cltype26 = type_nullable__nit__AExpr.color; -idtype27 = type_nullable__nit__AExpr.id; -if(var_pexprnode10 == NULL) { -var25 = 1; +var_nodearraylist1 = var; +var_tpercentnode2 = var_nodearraylist1; +/* isa nullable TPercent */ +cltype = type_nullable__nit__TPercent.color; +idtype = type_nullable__nit__TPercent.id; +if(var_tpercentnode2 == NULL) { +var1 = 1; } else { -if(cltype26 >= var_pexprnode10->type->table_size) { -var25 = 0; +if(cltype >= (((long)var_tpercentnode2&3)?type_info[((long)var_tpercentnode2&3)]:var_tpercentnode2->type)->table_size) { +var1 = 0; } else { -var25 = var_pexprnode10->type->type_table[cltype26] == idtype27; +var1 = (((long)var_tpercentnode2&3)?type_info[((long)var_tpercentnode2&3)]:var_tpercentnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var25)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3534); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3857); +fatal_exit(1); } -var28 = NEW_nit__AAttrPropdef(&type_nit__AAttrPropdef); -var29 = NULL; -var30 = NULL; +var2 = NEW_nit__APercentMethid(&type_nit__APercentMethid); { -nit__parser_prod___AAttrPropdef___init_aattrpropdef(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwvarnode5, var_tidnode6, var_ptypenode7, var29, var30, var_pexprnode10); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ +nit__parser_prod___APercentMethid___init_apercentmethid(var2, var_tpercentnode2); /* Direct call parser_prod#APercentMethid#init_apercentmethid on */ } -var_ppropdefnode1 = var28; -var_node_list = var_ppropdefnode1; -var31 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var32 = nit___nit__Parser___go_to(var_p, var31); +var4 = nit___nit__Parser___go_to(var_p, var3); } { -nit___nit__Parser___push(var_p, var32, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction71#action for (self: ReduceAction71, Parser) */ -void nit__parser___nit__parser__ReduceAction71___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction92#action for (self: ReduceAction92, Parser) */ +void nit__parser___nit__parser__ReduceAction92___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; +val* var_tpipenode2 /* var tpipenode2: nullable Object */; +short int var1 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var_tkwvarnode5 /* var tkwvarnode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var_tidnode6 /* var tidnode6: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_ptypenode7 /* var ptypenode7: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var_pexprnode10 /* var pexprnode10: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var32 /* : AAttrPropdef */; -val* var33 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; -long var34 /* : Int */; -long var35 /* : Int */; +val* var2 /* : APipeMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable APipeMethid */; +long var3 /* : Int */; +long var4 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = var; +var_tpipenode2 = var_nodearraylist1; +/* isa nullable TPipe */ +cltype = type_nullable__nit__TPipe.color; +idtype = type_nullable__nit__TPipe.id; +if(var_tpipenode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_tpipenode2&3)?type_info[((long)var_tpipenode2&3)]:var_tpipenode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_tpipenode2&3)?type_info[((long)var_tpipenode2&3)]:var_tpipenode2->type)->type_table[cltype] == idtype; } -var_nodearraylist8 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3872); +fatal_exit(1); } -var_nodearraylist6 = var4; +var2 = NEW_nit__APipeMethid(&type_nit__APipeMethid); { -var5 = nit___nit__Parser___pop(var_p); +nit__parser_prod___APipeMethid___init_apipemethid(var2, var_tpipenode2); /* Direct call parser_prod#APipeMethid#init_apipemethid on */ } -var_nodearraylist5 = var5; +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var6 = nit___nit__Parser___pop(var_p); +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_nodearraylist4 = var6; { -var7 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist3 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); +RET_LABEL:; } -var_nodearraylist2 = var8; +/* method parser#ReduceAction93#action for (self: ReduceAction93, Parser) */ +void nit__parser___nit__parser__ReduceAction93___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tcaretnode2 /* var tcaretnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : ACaretMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable ACaretMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var9 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var9; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var10 = 1; +var_nodearraylist1 = var; +var_tcaretnode2 = var_nodearraylist1; +/* isa nullable TCaret */ +cltype = type_nullable__nit__TCaret.color; +idtype = type_nullable__nit__TCaret.id; +if(var_tcaretnode2 == NULL) { +var1 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; +if(cltype >= (((long)var_tcaretnode2&3)?type_info[((long)var_tcaretnode2&3)]:var_tcaretnode2->type)->table_size) { +var1 = 0; } else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; +var1 = (((long)var_tcaretnode2&3)?type_info[((long)var_tcaretnode2&3)]:var_tcaretnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var10)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3565); -show_backtrace(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype12 = type_nullable__nit__TKwredef.color; -idtype13 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var11 = 1; -} else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { -var11 = 0; -} else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3887); +fatal_exit(1); } +var2 = NEW_nit__ACaretMethid(&type_nit__ACaretMethid); +{ +nit__parser_prod___ACaretMethid___init_acaretmethid(var2, var_tcaretnode2); /* Direct call parser_prod#ACaretMethid#init_acaretmethid on */ } -if (unlikely(!var11)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3567); -show_backtrace(1); +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype15 = type_nullable__nit__AVisibility.color; -idtype16 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var14 = 1; -} else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; -} else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } +RET_LABEL:; } -if (unlikely(!var14)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3569); -show_backtrace(1); +/* method parser#ReduceAction94#action for (self: ReduceAction94, Parser) */ +void nit__parser___nit__parser__ReduceAction94___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tampnode2 /* var tampnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : AAmpMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable AAmpMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -var_tkwvarnode5 = var_nodearraylist4; -/* isa nullable TKwvar */ -cltype18 = type_nullable__nit__TKwvar.color; -idtype19 = type_nullable__nit__TKwvar.id; -if(var_tkwvarnode5 == NULL) { -var17 = 1; +var_nodearraylist1 = var; +var_tampnode2 = var_nodearraylist1; +/* isa nullable TAmp */ +cltype = type_nullable__nit__TAmp.color; +idtype = type_nullable__nit__TAmp.id; +if(var_tampnode2 == NULL) { +var1 = 1; } else { -if(cltype18 >= var_tkwvarnode5->type->table_size) { -var17 = 0; +if(cltype >= (((long)var_tampnode2&3)?type_info[((long)var_tampnode2&3)]:var_tampnode2->type)->table_size) { +var1 = 0; } else { -var17 = var_tkwvarnode5->type->type_table[cltype18] == idtype19; +var1 = (((long)var_tampnode2&3)?type_info[((long)var_tampnode2&3)]:var_tampnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var17)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3571); -show_backtrace(1); -} -var_tidnode6 = var_nodearraylist5; -/* isa nullable TId */ -cltype21 = type_nullable__nit__TId.color; -idtype22 = type_nullable__nit__TId.id; -if(var_tidnode6 == NULL) { -var20 = 1; -} else { -if(cltype21 >= var_tidnode6->type->table_size) { -var20 = 0; -} else { -var20 = var_tidnode6->type->type_table[cltype21] == idtype22; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3902); +fatal_exit(1); } +var2 = NEW_nit__AAmpMethid(&type_nit__AAmpMethid); +{ +nit__parser_prod___AAmpMethid___init_aampmethid(var2, var_tampnode2); /* Direct call parser_prod#AAmpMethid#init_aampmethid on */ } -if (unlikely(!var20)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3573); -show_backtrace(1); +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_ptypenode7 = var_nodearraylist6; -/* isa nullable AType */ -cltype24 = type_nullable__nit__AType.color; -idtype25 = type_nullable__nit__AType.id; -if(var_ptypenode7 == NULL) { -var23 = 1; -} else { -if(cltype24 >= var_ptypenode7->type->table_size) { -var23 = 0; -} else { -var23 = var_ptypenode7->type->type_table[cltype24] == idtype25; +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } +RET_LABEL:; } -if (unlikely(!var23)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3575); -show_backtrace(1); +/* method parser#ReduceAction95#action for (self: ReduceAction95, Parser) */ +void nit__parser___nit__parser__ReduceAction95___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_ttildenode2 /* var ttildenode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : ATildeMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable ATildeMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -var_pannotationsnode9 = var_nodearraylist7; -/* isa nullable AAnnotations */ -cltype27 = type_nullable__nit__AAnnotations.color; -idtype28 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode9 == NULL) { -var26 = 1; +var_nodearraylist1 = var; +var_ttildenode2 = var_nodearraylist1; +/* isa nullable TTilde */ +cltype = type_nullable__nit__TTilde.color; +idtype = type_nullable__nit__TTilde.id; +if(var_ttildenode2 == NULL) { +var1 = 1; } else { -if(cltype27 >= var_pannotationsnode9->type->table_size) { -var26 = 0; +if(cltype >= (((long)var_ttildenode2&3)?type_info[((long)var_ttildenode2&3)]:var_ttildenode2->type)->table_size) { +var1 = 0; } else { -var26 = var_pannotationsnode9->type->type_table[cltype27] == idtype28; +var1 = (((long)var_ttildenode2&3)?type_info[((long)var_ttildenode2&3)]:var_ttildenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var26)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3577); -show_backtrace(1); -} -var_pexprnode10 = var_nodearraylist9; -/* isa nullable AExpr */ -cltype30 = type_nullable__nit__AExpr.color; -idtype31 = type_nullable__nit__AExpr.id; -if(var_pexprnode10 == NULL) { -var29 = 1; -} else { -if(cltype30 >= var_pexprnode10->type->table_size) { -var29 = 0; -} else { -var29 = var_pexprnode10->type->type_table[cltype30] == idtype31; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3917); +fatal_exit(1); } +var2 = NEW_nit__ATildeMethid(&type_nit__ATildeMethid); +{ +nit__parser_prod___ATildeMethid___init_atildemethid(var2, var_ttildenode2); /* Direct call parser_prod#ATildeMethid#init_atildemethid on */ } -if (unlikely(!var29)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3579); -show_backtrace(1); -} -var32 = NEW_nit__AAttrPropdef(&type_nit__AAttrPropdef); -var33 = NULL; -{ -nit__parser_prod___AAttrPropdef___init_aattrpropdef(var32, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwvarnode5, var_tidnode6, var_ptypenode7, var33, var_pannotationsnode9, var_pexprnode10); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ -} -var_ppropdefnode1 = var32; -var_node_list = var_ppropdefnode1; -var34 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var35 = nit___nit__Parser___go_to(var_p, var34); +var4 = nit___nit__Parser___go_to(var_p, var3); } { -nit___nit__Parser___push(var_p, var35, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction72#action for (self: ReduceAction72, Parser) */ -void nit__parser___nit__parser__ReduceAction72___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction96#action for (self: ReduceAction96, Parser) */ +void nit__parser___nit__parser__ReduceAction96___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; +val* var_teqnode2 /* var teqnode2: nullable Object */; +short int var1 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var_tkwvarnode5 /* var tkwvarnode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var_tidnode6 /* var tidnode6: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_ptypenode7 /* var ptypenode7: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_pexprnode10 /* var pexprnode10: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : AAttrPropdef */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; -long var32 /* : Int */; -long var33 /* : Int */; +val* var2 /* : AEqMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable AEqMethid */; +long var3 /* : Int */; +long var4 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = var; +var_teqnode2 = var_nodearraylist1; +/* isa nullable TEq */ +cltype = type_nullable__nit__TEq.color; +idtype = type_nullable__nit__TEq.id; +if(var_teqnode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_teqnode2&3)?type_info[((long)var_teqnode2&3)]:var_teqnode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_teqnode2&3)?type_info[((long)var_teqnode2&3)]:var_teqnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist8 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3932); +fatal_exit(1); } -var_nodearraylist6 = var4; +var2 = NEW_nit__AEqMethid(&type_nit__AEqMethid); { -var5 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AEqMethid___init_aeqmethid(var2, var_teqnode2); /* Direct call parser_prod#AEqMethid#init_aeqmethid on */ } -var_nodearraylist5 = var5; +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var6 = nit___nit__Parser___pop(var_p); +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_nodearraylist4 = var6; { -var7 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist3 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); +RET_LABEL:; } -var_nodearraylist2 = var8; +/* method parser#ReduceAction97#action for (self: ReduceAction97, Parser) */ +void nit__parser___nit__parser__ReduceAction97___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tnenode2 /* var tnenode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : ANeMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable ANeMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var9 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var9; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var10 = 1; +var_nodearraylist1 = var; +var_tnenode2 = var_nodearraylist1; +/* isa nullable TNe */ +cltype = type_nullable__nit__TNe.color; +idtype = type_nullable__nit__TNe.id; +if(var_tnenode2 == NULL) { +var1 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; +if(cltype >= (((long)var_tnenode2&3)?type_info[((long)var_tnenode2&3)]:var_tnenode2->type)->table_size) { +var1 = 0; } else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; +var1 = (((long)var_tnenode2&3)?type_info[((long)var_tnenode2&3)]:var_tnenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var10)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3610); -show_backtrace(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype12 = type_nullable__nit__TKwredef.color; -idtype13 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var11 = 1; -} else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { -var11 = 0; -} else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3947); +fatal_exit(1); } +var2 = NEW_nit__ANeMethid(&type_nit__ANeMethid); +{ +nit__parser_prod___ANeMethid___init_anemethid(var2, var_tnenode2); /* Direct call parser_prod#ANeMethid#init_anemethid on */ } -if (unlikely(!var11)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3612); -show_backtrace(1); +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype15 = type_nullable__nit__AVisibility.color; -idtype16 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var14 = 1; -} else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; -} else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } +RET_LABEL:; } -if (unlikely(!var14)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3614); -show_backtrace(1); +/* method parser#ReduceAction98#action for (self: ReduceAction98, Parser) */ +void nit__parser___nit__parser__ReduceAction98___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tlenode2 /* var tlenode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : ALeMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable ALeMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -var_tkwvarnode5 = var_nodearraylist4; -/* isa nullable TKwvar */ -cltype18 = type_nullable__nit__TKwvar.color; -idtype19 = type_nullable__nit__TKwvar.id; -if(var_tkwvarnode5 == NULL) { -var17 = 1; +var_nodearraylist1 = var; +var_tlenode2 = var_nodearraylist1; +/* isa nullable TLe */ +cltype = type_nullable__nit__TLe.color; +idtype = type_nullable__nit__TLe.id; +if(var_tlenode2 == NULL) { +var1 = 1; } else { -if(cltype18 >= var_tkwvarnode5->type->table_size) { -var17 = 0; +if(cltype >= (((long)var_tlenode2&3)?type_info[((long)var_tlenode2&3)]:var_tlenode2->type)->table_size) { +var1 = 0; } else { -var17 = var_tkwvarnode5->type->type_table[cltype18] == idtype19; +var1 = (((long)var_tlenode2&3)?type_info[((long)var_tlenode2&3)]:var_tlenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var17)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3616); -show_backtrace(1); -} -var_tidnode6 = var_nodearraylist5; -/* isa nullable TId */ -cltype21 = type_nullable__nit__TId.color; -idtype22 = type_nullable__nit__TId.id; -if(var_tidnode6 == NULL) { -var20 = 1; -} else { -if(cltype21 >= var_tidnode6->type->table_size) { -var20 = 0; -} else { -var20 = var_tidnode6->type->type_table[cltype21] == idtype22; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3962); +fatal_exit(1); } +var2 = NEW_nit__ALeMethid(&type_nit__ALeMethid); +{ +nit__parser_prod___ALeMethid___init_alemethid(var2, var_tlenode2); /* Direct call parser_prod#ALeMethid#init_alemethid on */ } -if (unlikely(!var20)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3618); -show_backtrace(1); +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_ptypenode7 = var_nodearraylist6; -/* isa nullable AType */ -cltype24 = type_nullable__nit__AType.color; -idtype25 = type_nullable__nit__AType.id; -if(var_ptypenode7 == NULL) { -var23 = 1; -} else { -if(cltype24 >= var_ptypenode7->type->table_size) { -var23 = 0; -} else { -var23 = var_ptypenode7->type->type_table[cltype24] == idtype25; +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } +RET_LABEL:; } -if (unlikely(!var23)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3620); -show_backtrace(1); +/* method parser#ReduceAction99#action for (self: ReduceAction99, Parser) */ +void nit__parser___nit__parser__ReduceAction99___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tgenode2 /* var tgenode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : AGeMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable AGeMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -var_pexprnode10 = var_nodearraylist8; -/* isa nullable AExpr */ -cltype27 = type_nullable__nit__AExpr.color; -idtype28 = type_nullable__nit__AExpr.id; -if(var_pexprnode10 == NULL) { -var26 = 1; +var_nodearraylist1 = var; +var_tgenode2 = var_nodearraylist1; +/* isa nullable TGe */ +cltype = type_nullable__nit__TGe.color; +idtype = type_nullable__nit__TGe.id; +if(var_tgenode2 == NULL) { +var1 = 1; } else { -if(cltype27 >= var_pexprnode10->type->table_size) { -var26 = 0; +if(cltype >= (((long)var_tgenode2&3)?type_info[((long)var_tgenode2&3)]:var_tgenode2->type)->table_size) { +var1 = 0; } else { -var26 = var_pexprnode10->type->type_table[cltype27] == idtype28; +var1 = (((long)var_tgenode2&3)?type_info[((long)var_tgenode2&3)]:var_tgenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var26)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3622); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3977); +fatal_exit(1); } -var29 = NEW_nit__AAttrPropdef(&type_nit__AAttrPropdef); -var30 = NULL; -var31 = NULL; +var2 = NEW_nit__AGeMethid(&type_nit__AGeMethid); { -nit__parser_prod___AAttrPropdef___init_aattrpropdef(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwvarnode5, var_tidnode6, var_ptypenode7, var30, var31, var_pexprnode10); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ +nit__parser_prod___AGeMethid___init_agemethid(var2, var_tgenode2); /* Direct call parser_prod#AGeMethid#init_agemethid on */ } -var_ppropdefnode1 = var29; -var_node_list = var_ppropdefnode1; -var32 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var33 = nit___nit__Parser___go_to(var_p, var32); +var4 = nit___nit__Parser___go_to(var_p, var3); } { -nit___nit__Parser___push(var_p, var33, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction73#action for (self: ReduceAction73, Parser) */ -void nit__parser___nit__parser__ReduceAction73___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction100#action for (self: ReduceAction100, Parser) */ +void nit__parser___nit__parser__ReduceAction100___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var11 /* : Bool */; +val* var_tltnode2 /* var tltnode2: nullable Object */; +short int var1 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_tkwvarnode5 /* var tkwvarnode5: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_tidnode6 /* var tidnode6: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_ptypenode7 /* var ptypenode7: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var_pexprnode10 /* var pexprnode10: nullable Object */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : AAttrPropdef */; -val* var34 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; -long var35 /* : Int */; -long var36 /* : Int */; +val* var2 /* : ALtMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable ALtMethid */; +long var3 /* : Int */; +long var4 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = var; +var_tltnode2 = var_nodearraylist1; +/* isa nullable TLt */ +cltype = type_nullable__nit__TLt.color; +idtype = type_nullable__nit__TLt.id; +if(var_tltnode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_tltnode2&3)?type_info[((long)var_tltnode2&3)]:var_tltnode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_tltnode2&3)?type_info[((long)var_tltnode2&3)]:var_tltnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist9 = var2; +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3992); +fatal_exit(1); +} +var2 = NEW_nit__ALtMethid(&type_nit__ALtMethid); { -var3 = nit___nit__Parser___pop(var_p); +nit__parser_prod___ALtMethid___init_altmethid(var2, var_tltnode2); /* Direct call parser_prod#ALtMethid#init_altmethid on */ } -var_nodearraylist8 = var3; +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var4 = nit___nit__Parser___pop(var_p); +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_nodearraylist7 = var4; { -var5 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist6 = var5; +RET_LABEL:; +} +/* method parser#ReduceAction101#action for (self: ReduceAction101, Parser) */ +void nit__parser___nit__parser__ReduceAction101___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tgtnode2 /* var tgtnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : AGtMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable AGtMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var6 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var6; +var_nodearraylist1 = var; +var_tgtnode2 = var_nodearraylist1; +/* isa nullable TGt */ +cltype = type_nullable__nit__TGt.color; +idtype = type_nullable__nit__TGt.id; +if(var_tgtnode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_tgtnode2&3)?type_info[((long)var_tgtnode2&3)]:var_tgtnode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_tgtnode2&3)?type_info[((long)var_tgtnode2&3)]:var_tgtnode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4007); +fatal_exit(1); +} +var2 = NEW_nit__AGtMethid(&type_nit__AGtMethid); { -var7 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AGtMethid___init_agtmethid(var2, var_tgtnode2); /* Direct call parser_prod#AGtMethid#init_agtmethid on */ } -var_nodearraylist4 = var7; +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var8 = nit___nit__Parser___pop(var_p); +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_nodearraylist3 = var8; { -var9 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist2 = var9; +RET_LABEL:; +} +/* method parser#ReduceAction102#action for (self: ReduceAction102, Parser) */ +void nit__parser___nit__parser__ReduceAction102___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tllnode2 /* var tllnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : ALlMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable ALlMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var10 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var10; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var11 = 1; +var_nodearraylist1 = var; +var_tllnode2 = var_nodearraylist1; +/* isa nullable TLl */ +cltype = type_nullable__nit__TLl.color; +idtype = type_nullable__nit__TLl.id; +if(var_tllnode2 == NULL) { +var1 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var11 = 0; +if(cltype >= (((long)var_tllnode2&3)?type_info[((long)var_tllnode2&3)]:var_tllnode2->type)->table_size) { +var1 = 0; } else { -var11 = var_pdocnode2->type->type_table[cltype] == idtype; +var1 = (((long)var_tllnode2&3)?type_info[((long)var_tllnode2&3)]:var_tllnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var11)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3654); -show_backtrace(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype13 = type_nullable__nit__TKwredef.color; -idtype14 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var12 = 1; -} else { -if(cltype13 >= var_tkwredefnode3->type->table_size) { -var12 = 0; -} else { -var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4022); +fatal_exit(1); } +var2 = NEW_nit__ALlMethid(&type_nit__ALlMethid); +{ +nit__parser_prod___ALlMethid___init_allmethid(var2, var_tllnode2); /* Direct call parser_prod#ALlMethid#init_allmethid on */ } -if (unlikely(!var12)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3656); -show_backtrace(1); +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype16 = type_nullable__nit__AVisibility.color; -idtype17 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var15 = 1; -} else { -if(cltype16 >= var_pvisibilitynode4->type->table_size) { -var15 = 0; -} else { -var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } +RET_LABEL:; } -if (unlikely(!var15)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3658); -show_backtrace(1); +/* method parser#ReduceAction103#action for (self: ReduceAction103, Parser) */ +void nit__parser___nit__parser__ReduceAction103___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tggnode2 /* var tggnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : AGgMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable AGgMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -var_tkwvarnode5 = var_nodearraylist4; -/* isa nullable TKwvar */ -cltype19 = type_nullable__nit__TKwvar.color; -idtype20 = type_nullable__nit__TKwvar.id; -if(var_tkwvarnode5 == NULL) { -var18 = 1; +var_nodearraylist1 = var; +var_tggnode2 = var_nodearraylist1; +/* isa nullable TGg */ +cltype = type_nullable__nit__TGg.color; +idtype = type_nullable__nit__TGg.id; +if(var_tggnode2 == NULL) { +var1 = 1; } else { -if(cltype19 >= var_tkwvarnode5->type->table_size) { -var18 = 0; +if(cltype >= (((long)var_tggnode2&3)?type_info[((long)var_tggnode2&3)]:var_tggnode2->type)->table_size) { +var1 = 0; } else { -var18 = var_tkwvarnode5->type->type_table[cltype19] == idtype20; +var1 = (((long)var_tggnode2&3)?type_info[((long)var_tggnode2&3)]:var_tggnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var18)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3660); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4037); +fatal_exit(1); } -var_tidnode6 = var_nodearraylist5; -/* isa nullable TId */ -cltype22 = type_nullable__nit__TId.color; -idtype23 = type_nullable__nit__TId.id; -if(var_tidnode6 == NULL) { -var21 = 1; -} else { -if(cltype22 >= var_tidnode6->type->table_size) { -var21 = 0; -} else { -var21 = var_tidnode6->type->type_table[cltype22] == idtype23; +var2 = NEW_nit__AGgMethid(&type_nit__AGgMethid); +{ +nit__parser_prod___AGgMethid___init_aggmethid(var2, var_tggnode2); /* Direct call parser_prod#AGgMethid#init_aggmethid on */ } +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); } -if (unlikely(!var21)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3662); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_ptypenode7 = var_nodearraylist6; -/* isa nullable AType */ -cltype25 = type_nullable__nit__AType.color; -idtype26 = type_nullable__nit__AType.id; -if(var_ptypenode7 == NULL) { -var24 = 1; -} else { -if(cltype25 >= var_ptypenode7->type->table_size) { -var24 = 0; -} else { -var24 = var_ptypenode7->type->type_table[cltype25] == idtype26; +RET_LABEL:; } +/* method parser#ReduceAction104#action for (self: ReduceAction104, Parser) */ +void nit__parser___nit__parser__ReduceAction104___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tobranode2 /* var tobranode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var_tcbranode3 /* var tcbranode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : ABraMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable ABraMethid */; +long var7 /* : Int */; +long var8 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -if (unlikely(!var24)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3664); -show_backtrace(1); +var_nodearraylist2 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } -var_pannotationsnode9 = var_nodearraylist7; -/* isa nullable AAnnotations */ -cltype28 = type_nullable__nit__AAnnotations.color; -idtype29 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode9 == NULL) { -var27 = 1; +var_nodearraylist1 = var1; +var_tobranode2 = var_nodearraylist1; +/* isa nullable TObra */ +cltype = type_nullable__nit__TObra.color; +idtype = type_nullable__nit__TObra.id; +if(var_tobranode2 == NULL) { +var2 = 1; } else { -if(cltype28 >= var_pannotationsnode9->type->table_size) { -var27 = 0; +if(cltype >= (((long)var_tobranode2&3)?type_info[((long)var_tobranode2&3)]:var_tobranode2->type)->table_size) { +var2 = 0; } else { -var27 = var_pannotationsnode9->type->type_table[cltype28] == idtype29; +var2 = (((long)var_tobranode2&3)?type_info[((long)var_tobranode2&3)]:var_tobranode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var27)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3666); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4053); +fatal_exit(1); } -var_pexprnode10 = var_nodearraylist9; -/* isa nullable AExpr */ -cltype31 = type_nullable__nit__AExpr.color; -idtype32 = type_nullable__nit__AExpr.id; -if(var_pexprnode10 == NULL) { -var30 = 1; +var_tcbranode3 = var_nodearraylist2; +/* isa nullable TCbra */ +cltype4 = type_nullable__nit__TCbra.color; +idtype5 = type_nullable__nit__TCbra.id; +if(var_tcbranode3 == NULL) { +var3 = 1; } else { -if(cltype31 >= var_pexprnode10->type->table_size) { -var30 = 0; +if(cltype4 >= (((long)var_tcbranode3&3)?type_info[((long)var_tcbranode3&3)]:var_tcbranode3->type)->table_size) { +var3 = 0; } else { -var30 = var_pexprnode10->type->type_table[cltype31] == idtype32; +var3 = (((long)var_tcbranode3&3)?type_info[((long)var_tcbranode3&3)]:var_tcbranode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var30)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3668); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4055); +fatal_exit(1); } -var33 = NEW_nit__AAttrPropdef(&type_nit__AAttrPropdef); -var34 = NULL; +var6 = NEW_nit__ABraMethid(&type_nit__ABraMethid); { -nit__parser_prod___AAttrPropdef___init_aattrpropdef(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwvarnode5, var_tidnode6, var_ptypenode7, var34, var_pannotationsnode9, var_pexprnode10); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ +nit__parser_prod___ABraMethid___init_abramethid(var6, var_tobranode2, var_tcbranode3); /* Direct call parser_prod#ABraMethid#init_abramethid on */ } -var_ppropdefnode1 = var33; -var_node_list = var_ppropdefnode1; -var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pmethidnode1 = var6; +var_node_list = var_pmethidnode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var36 = nit___nit__Parser___go_to(var_p, var35); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction74#action for (self: ReduceAction74, Parser) */ -void nit__parser___nit__parser__ReduceAction74___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction105#action for (self: ReduceAction105, Parser) */ +void nit__parser___nit__parser__ReduceAction105___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +val* var_tstarshipnode2 /* var tstarshipnode2: nullable Object */; +short int var1 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_tkwinitnode6 /* var tkwinitnode6: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_pexprnode13 /* var pexprnode13: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var25 /* : AMethPropdef */; -val* var26 /* : null */; -val* var27 /* : null */; -val* var28 /* : null */; -val* var29 /* : null */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var32 /* : Int */; -long var33 /* : Int */; +val* var2 /* : AStarshipMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable AStarshipMethid */; +long var3 /* : Int */; +long var4 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = var; +var_tstarshipnode2 = var_nodearraylist1; +/* isa nullable TStarship */ +cltype = type_nullable__nit__TStarship.color; +idtype = type_nullable__nit__TStarship.id; +if(var_tstarshipnode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_tstarshipnode2&3)?type_info[((long)var_tstarshipnode2&3)]:var_tstarshipnode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_tstarshipnode2&3)?type_info[((long)var_tstarshipnode2&3)]:var_tstarshipnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist7 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var3; +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4071); +fatal_exit(1); +} +var2 = NEW_nit__AStarshipMethid(&type_nit__AStarshipMethid); { -var4 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AStarshipMethid___init_astarshipmethid(var2, var_tstarshipnode2); /* Direct call parser_prod#AStarshipMethid#init_astarshipmethid on */ } -var_nodearraylist5 = var4; +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___pop(var_p); +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_nodearraylist4 = var5; { -var6 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist3 = var6; +RET_LABEL:; +} +/* method parser#ReduceAction106#action for (self: ReduceAction106, Parser) */ +void nit__parser___nit__parser__ReduceAction106___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tidnode2 /* var tidnode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var_tassignnode3 /* var tassignnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AAssignMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable AAssignMethid */; +long var7 /* : Int */; +long var8 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var7 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var7; +var_nodearraylist2 = var; { -var8 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var8; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var9 = 1; +var_nodearraylist1 = var1; +var_tidnode2 = var_nodearraylist1; +/* isa nullable TId */ +cltype = type_nullable__nit__TId.color; +idtype = type_nullable__nit__TId.id; +if(var_tidnode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->table_size) { +var2 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var9)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3698); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4087); +fatal_exit(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype11 = type_nullable__nit__TKwredef.color; -idtype12 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var10 = 1; +var_tassignnode3 = var_nodearraylist2; +/* isa nullable TAssign */ +cltype4 = type_nullable__nit__TAssign.color; +idtype5 = type_nullable__nit__TAssign.id; +if(var_tassignnode3 == NULL) { +var3 = 1; } else { -if(cltype11 >= var_tkwredefnode3->type->table_size) { -var10 = 0; +if(cltype4 >= (((long)var_tassignnode3&3)?type_info[((long)var_tassignnode3&3)]:var_tassignnode3->type)->table_size) { +var3 = 0; } else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +var3 = (((long)var_tassignnode3&3)?type_info[((long)var_tassignnode3&3)]:var_tassignnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var10)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3700); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4089); +fatal_exit(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype14 = type_nullable__nit__AVisibility.color; -idtype15 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var13 = 1; +var6 = NEW_nit__AAssignMethid(&type_nit__AAssignMethid); +{ +nit__parser_prod___AAssignMethid___init_aassignmethid(var6, var_tidnode2, var_tassignnode3); /* Direct call parser_prod#AAssignMethid#init_aassignmethid on */ +} +var_pmethidnode1 = var6; +var_node_list = var_pmethidnode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var8 = nit___nit__Parser___go_to(var_p, var7); +} +{ +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction107#action for (self: ReduceAction107, Parser) */ +void nit__parser___nit__parser__ReduceAction107___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tobranode2 /* var tobranode2: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var_tcbranode3 /* var tcbranode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var_tassignnode4 /* var tassignnode4: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var10 /* : ABraassignMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable ABraassignMethid */; +long var11 /* : Int */; +long var12 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var; +{ +var1 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var2; +var_tobranode2 = var_nodearraylist1; +/* isa nullable TObra */ +cltype = type_nullable__nit__TObra.color; +idtype = type_nullable__nit__TObra.id; +if(var_tobranode2 == NULL) { +var3 = 1; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; +if(cltype >= (((long)var_tobranode2&3)?type_info[((long)var_tobranode2&3)]:var_tobranode2->type)->table_size) { +var3 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var3 = (((long)var_tobranode2&3)?type_info[((long)var_tobranode2&3)]:var_tobranode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var13)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3702); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4107); +fatal_exit(1); } -var_tkwinitnode6 = var_nodearraylist4; -/* isa nullable TKwinit */ -cltype17 = type_nullable__nit__TKwinit.color; -idtype18 = type_nullable__nit__TKwinit.id; -if(var_tkwinitnode6 == NULL) { -var16 = 1; +var_tcbranode3 = var_nodearraylist2; +/* isa nullable TCbra */ +cltype5 = type_nullable__nit__TCbra.color; +idtype6 = type_nullable__nit__TCbra.id; +if(var_tcbranode3 == NULL) { +var4 = 1; } else { -if(cltype17 >= var_tkwinitnode6->type->table_size) { -var16 = 0; +if(cltype5 >= (((long)var_tcbranode3&3)?type_info[((long)var_tcbranode3&3)]:var_tcbranode3->type)->table_size) { +var4 = 0; } else { -var16 = var_tkwinitnode6->type->type_table[cltype17] == idtype18; +var4 = (((long)var_tcbranode3&3)?type_info[((long)var_tcbranode3&3)]:var_tcbranode3->type)->type_table[cltype5] == idtype6; } } -if (unlikely(!var16)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3704); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4109); +fatal_exit(1); } -var_psignaturenode9 = var_nodearraylist5; -/* isa nullable ASignature */ -cltype20 = type_nullable__nit__ASignature.color; -idtype21 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { -var19 = 1; +var_tassignnode4 = var_nodearraylist3; +/* isa nullable TAssign */ +cltype8 = type_nullable__nit__TAssign.color; +idtype9 = type_nullable__nit__TAssign.id; +if(var_tassignnode4 == NULL) { +var7 = 1; } else { -if(cltype20 >= var_psignaturenode9->type->table_size) { -var19 = 0; +if(cltype8 >= (((long)var_tassignnode4&3)?type_info[((long)var_tassignnode4&3)]:var_tassignnode4->type)->table_size) { +var7 = 0; } else { -var19 = var_psignaturenode9->type->type_table[cltype20] == idtype21; +var7 = (((long)var_tassignnode4&3)?type_info[((long)var_tassignnode4&3)]:var_tassignnode4->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var19)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3706); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4111); +fatal_exit(1); } -var_pexprnode13 = var_nodearraylist7; -/* isa nullable AExpr */ -cltype23 = type_nullable__nit__AExpr.color; -idtype24 = type_nullable__nit__AExpr.id; -if(var_pexprnode13 == NULL) { -var22 = 1; +var10 = NEW_nit__ABraassignMethid(&type_nit__ABraassignMethid); +{ +nit__parser_prod___ABraassignMethid___init_abraassignmethid(var10, var_tobranode2, var_tcbranode3, var_tassignnode4); /* Direct call parser_prod#ABraassignMethid#init_abraassignmethid on */ +} +var_pmethidnode1 = var10; +var_node_list = var_pmethidnode1; +var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var12 = nit___nit__Parser___go_to(var_p, var11); +} +{ +nit___nit__Parser___push(var_p, var12, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction108#action for (self: ReduceAction108, Parser) */ +void nit__parser___nit__parser__ReduceAction108___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tidnode2 /* var tidnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : AIdMethid */; +val* var_pmethidnode1 /* var pmethidnode1: nullable AIdMethid */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var; +var_tidnode2 = var_nodearraylist1; +/* isa nullable TId */ +cltype = type_nullable__nit__TId.color; +idtype = type_nullable__nit__TId.id; +if(var_tidnode2 == NULL) { +var1 = 1; } else { -if(cltype23 >= var_pexprnode13->type->table_size) { -var22 = 0; +if(cltype >= (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->table_size) { +var1 = 0; } else { -var22 = var_pexprnode13->type->type_table[cltype23] == idtype24; +var1 = (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var22)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3708); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4128); +fatal_exit(1); } -var25 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var26 = NULL; -var27 = NULL; -var28 = NULL; -var29 = NULL; -var30 = NULL; -var31 = NULL; +var2 = NEW_nit__AIdMethid(&type_nit__AIdMethid); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var26, var_tkwinitnode6, var27, var28, var_psignaturenode9, var29, var30, var31, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AIdMethid___init_aidmethid(var2, var_tidnode2); /* Direct call parser_prod#AIdMethid#init_aidmethid on */ } -var_ppropdefnode1 = var25; -var_node_list = var_ppropdefnode1; -var32 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pmethidnode1 = var2; +var_node_list = var_pmethidnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var33 = nit___nit__Parser___go_to(var_p, var32); +var4 = nit___nit__Parser___go_to(var_p, var3); } { -nit___nit__Parser___push(var_p, var33, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction75#action for (self: ReduceAction75, Parser) */ -void nit__parser___nit__parser__ReduceAction75___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction109#action for (self: ReduceAction109, Parser) */ +void nit__parser___nit__parser__ReduceAction109___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; +val* var6 /* : Array[Object] */; +val* var_listnode4 /* var listnode4: Array[Object] */; +val* var_toparnode2 /* var toparnode2: nullable Object */; +short int var7 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var_tkwinitnode6 /* var tkwinitnode6: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_pexprnode13 /* var pexprnode13: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : AMethPropdef */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var32 /* : null */; -val* var33 /* : null */; -val* var34 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var35 /* : Int */; -long var36 /* : Int */; +val* var_listnode3 /* var listnode3: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : Array[Object] */; +val* var_tcparnode5 /* var tcparnode5: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var_ptypenode6 /* var ptypenode6: nullable Object */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var18 /* : ASignature */; +val* var_psignaturenode1 /* var psignaturenode1: nullable ASignature */; +long var19 /* : Int */; +long var20 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist6 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var1; +var_nodearraylist5 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var2; +var_nodearraylist4 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var3; +var_nodearraylist3 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var4; +var_nodearraylist2 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var8; +var_nodearraylist1 = var5; +var6 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var9; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var10 = 1; -} else { -if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; -} else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var10)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3742); -show_backtrace(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype12 = type_nullable__nit__TKwredef.color; -idtype13 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var11 = 1; -} else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { -var11 = 0; -} else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; -} -} -if (unlikely(!var11)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3744); -show_backtrace(1); +standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype15 = type_nullable__nit__AVisibility.color; -idtype16 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var14 = 1; +var_listnode4 = var6; +var_toparnode2 = var_nodearraylist1; +/* isa nullable TOpar */ +cltype = type_nullable__nit__TOpar.color; +idtype = type_nullable__nit__TOpar.id; +if(var_toparnode2 == NULL) { +var7 = 1; } else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; +if(cltype >= (((long)var_toparnode2&3)?type_info[((long)var_toparnode2&3)]:var_toparnode2->type)->table_size) { +var7 = 0; } else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +var7 = (((long)var_toparnode2&3)?type_info[((long)var_toparnode2&3)]:var_toparnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var14)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3746); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4149); +fatal_exit(1); } -var_tkwinitnode6 = var_nodearraylist4; -/* isa nullable TKwinit */ -cltype18 = type_nullable__nit__TKwinit.color; -idtype19 = type_nullable__nit__TKwinit.id; -if(var_tkwinitnode6 == NULL) { -var17 = 1; +var_listnode3 = var_nodearraylist3; +/* isa Array[Object] */ +cltype9 = type_standard__Array__standard__Object.color; +idtype10 = type_standard__Array__standard__Object.id; +if(var_listnode3 == NULL) { +var8 = 0; } else { -if(cltype18 >= var_tkwinitnode6->type->table_size) { -var17 = 0; +if(cltype9 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { +var8 = 0; } else { -var17 = var_tkwinitnode6->type->type_table[cltype18] == idtype19; +var8 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var17)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3748); -show_backtrace(1); -} -var_pmethidnode8 = var_nodearraylist5; -/* isa nullable AMethid */ -cltype21 = type_nullable__nit__AMethid.color; -idtype22 = type_nullable__nit__AMethid.id; -if(var_pmethidnode8 == NULL) { -var20 = 1; -} else { -if(cltype21 >= var_pmethidnode8->type->table_size) { -var20 = 0; -} else { -var20 = var_pmethidnode8->type->type_table[cltype21] == idtype22; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4151); +fatal_exit(1); } +{ +var11 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } -if (unlikely(!var20)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3750); -show_backtrace(1); -} -var_psignaturenode9 = var_nodearraylist6; -/* isa nullable ASignature */ -cltype24 = type_nullable__nit__ASignature.color; -idtype25 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { -var23 = 1; +var_listnode4 = var11; +var_tcparnode5 = var_nodearraylist4; +/* isa nullable TCpar */ +cltype13 = type_nullable__nit__TCpar.color; +idtype14 = type_nullable__nit__TCpar.id; +if(var_tcparnode5 == NULL) { +var12 = 1; } else { -if(cltype24 >= var_psignaturenode9->type->table_size) { -var23 = 0; +if(cltype13 >= (((long)var_tcparnode5&3)?type_info[((long)var_tcparnode5&3)]:var_tcparnode5->type)->table_size) { +var12 = 0; } else { -var23 = var_psignaturenode9->type->type_table[cltype24] == idtype25; +var12 = (((long)var_tcparnode5&3)?type_info[((long)var_tcparnode5&3)]:var_tcparnode5->type)->type_table[cltype13] == idtype14; } } -if (unlikely(!var23)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3752); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4154); +fatal_exit(1); } -var_pexprnode13 = var_nodearraylist8; -/* isa nullable AExpr */ -cltype27 = type_nullable__nit__AExpr.color; -idtype28 = type_nullable__nit__AExpr.id; -if(var_pexprnode13 == NULL) { -var26 = 1; +var_ptypenode6 = var_nodearraylist5; +/* isa nullable AType */ +cltype16 = type_nullable__nit__AType.color; +idtype17 = type_nullable__nit__AType.id; +if(var_ptypenode6 == NULL) { +var15 = 1; } else { -if(cltype27 >= var_pexprnode13->type->table_size) { -var26 = 0; +if(cltype16 >= (((long)var_ptypenode6&3)?type_info[((long)var_ptypenode6&3)]:var_ptypenode6->type)->table_size) { +var15 = 0; } else { -var26 = var_pexprnode13->type->type_table[cltype27] == idtype28; +var15 = (((long)var_ptypenode6&3)?type_info[((long)var_ptypenode6&3)]:var_ptypenode6->type)->type_table[cltype16] == idtype17; } } -if (unlikely(!var26)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3754); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4156); +fatal_exit(1); } -var29 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var30 = NULL; -var31 = NULL; -var32 = NULL; -var33 = NULL; -var34 = NULL; +var18 = NEW_nit__ASignature(&type_nit__ASignature); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var30, var_tkwinitnode6, var31, var_pmethidnode8, var_psignaturenode9, var32, var33, var34, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___ASignature___init_asignature(var18, var_toparnode2, var_listnode4, var_tcparnode5, var_ptypenode6); /* Direct call parser_prod#ASignature#init_asignature on */ } -var_ppropdefnode1 = var29; -var_node_list = var_ppropdefnode1; -var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_psignaturenode1 = var18; +var_node_list = var_psignaturenode1; +var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var36 = nit___nit__Parser___go_to(var_p, var35); +var20 = nit___nit__Parser___go_to(var_p, var19); } { -nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction76#action for (self: ReduceAction76, Parser) */ -void nit__parser___nit__parser__ReduceAction76___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction110#action for (self: ReduceAction110, Parser) */ +void nit__parser___nit__parser__ReduceAction110___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var5 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var6 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; +val* var5 /* : Array[Object] */; +val* var_listnode4 /* var listnode4: Array[Object] */; +val* var_toparnode2 /* var toparnode2: nullable Object */; +short int var6 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +val* var_listnode3 /* var listnode3: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var10 /* : Array[Object] */; +val* var_tcparnode5 /* var tcparnode5: nullable Object */; short int var11 /* : Bool */; int cltype12; int idtype13; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var_tkwinitnode6 /* var tkwinitnode6: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_pexprnode13 /* var pexprnode13: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : AMethPropdef */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var32 /* : null */; -val* var33 /* : null */; -val* var34 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var35 /* : Int */; -long var36 /* : Int */; +val* var14 /* : ASignature */; +val* var_psignaturenode1 /* var psignaturenode1: nullable ASignature */; +long var15 /* : Int */; +long var16 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist5 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var1; +var_nodearraylist4 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var2; +var_nodearraylist3 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var3; +var_nodearraylist2 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var4; +var_nodearraylist1 = var4; +var5 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var5 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ } -var_nodearraylist5 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); +var_listnode4 = var5; +var_toparnode2 = var_nodearraylist1; +/* isa nullable TOpar */ +cltype = type_nullable__nit__TOpar.color; +idtype = type_nullable__nit__TOpar.id; +if(var_toparnode2 == NULL) { +var6 = 1; +} else { +if(cltype >= (((long)var_toparnode2&3)?type_info[((long)var_toparnode2&3)]:var_toparnode2->type)->table_size) { +var6 = 0; +} else { +var6 = (((long)var_toparnode2&3)?type_info[((long)var_toparnode2&3)]:var_toparnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist3 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); +if (unlikely(!var6)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4179); +fatal_exit(1); } -var_nodearraylist1 = var9; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var10 = 1; +var_listnode3 = var_nodearraylist3; +/* isa Array[Object] */ +cltype8 = type_standard__Array__standard__Object.color; +idtype9 = type_standard__Array__standard__Object.id; +if(var_listnode3 == NULL) { +var7 = 0; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; +if(cltype8 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { +var7 = 0; } else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; +var7 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var10)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3788); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4181); +fatal_exit(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype12 = type_nullable__nit__TKwredef.color; -idtype13 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { +{ +var10 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +} +var_listnode4 = var10; +var_tcparnode5 = var_nodearraylist4; +/* isa nullable TCpar */ +cltype12 = type_nullable__nit__TCpar.color; +idtype13 = type_nullable__nit__TCpar.id; +if(var_tcparnode5 == NULL) { var11 = 1; } else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { +if(cltype12 >= (((long)var_tcparnode5&3)?type_info[((long)var_tcparnode5&3)]:var_tcparnode5->type)->table_size) { var11 = 0; } else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; +var11 = (((long)var_tcparnode5&3)?type_info[((long)var_tcparnode5&3)]:var_tcparnode5->type)->type_table[cltype12] == idtype13; } } if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3790); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4184); +fatal_exit(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype15 = type_nullable__nit__AVisibility.color; -idtype16 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var14 = 1; -} else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; -} else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +var14 = NEW_nit__ASignature(&type_nit__ASignature); +{ +nit__parser_prod___ASignature___init_asignature(var14, var_toparnode2, var_listnode4, var_tcparnode5, ((val*)NULL)); /* Direct call parser_prod#ASignature#init_asignature on */ } +var_psignaturenode1 = var14; +var_node_list = var_psignaturenode1; +var15 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var16 = nit___nit__Parser___go_to(var_p, var15); } -if (unlikely(!var14)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3792); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_tkwinitnode6 = var_nodearraylist4; -/* isa nullable TKwinit */ -cltype18 = type_nullable__nit__TKwinit.color; -idtype19 = type_nullable__nit__TKwinit.id; -if(var_tkwinitnode6 == NULL) { -var17 = 1; -} else { -if(cltype18 >= var_tkwinitnode6->type->table_size) { -var17 = 0; -} else { -var17 = var_tkwinitnode6->type->type_table[cltype18] == idtype19; +RET_LABEL:; } +/* method parser#ReduceAction111#action for (self: ReduceAction111, Parser) */ +void nit__parser___nit__parser__ReduceAction111___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var2 /* : Array[Object] */; +val* var_listnode3 /* var listnode3: Array[Object] */; +val* var_ptypenode5 /* var ptypenode5: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var4 /* : ASignature */; +val* var_psignaturenode1 /* var psignaturenode1: nullable ASignature */; +long var5 /* : Int */; +long var6 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -if (unlikely(!var17)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3794); -show_backtrace(1); +var_nodearraylist2 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } -var_psignaturenode9 = var_nodearraylist5; -/* isa nullable ASignature */ -cltype21 = type_nullable__nit__ASignature.color; -idtype22 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { -var20 = 1; +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ +} +var_listnode3 = var2; +var_ptypenode5 = var_nodearraylist1; +/* isa nullable AType */ +cltype = type_nullable__nit__AType.color; +idtype = type_nullable__nit__AType.id; +if(var_ptypenode5 == NULL) { +var3 = 1; } else { -if(cltype21 >= var_psignaturenode9->type->table_size) { -var20 = 0; +if(cltype >= (((long)var_ptypenode5&3)?type_info[((long)var_ptypenode5&3)]:var_ptypenode5->type)->table_size) { +var3 = 0; } else { -var20 = var_psignaturenode9->type->type_table[cltype21] == idtype22; +var3 = (((long)var_ptypenode5&3)?type_info[((long)var_ptypenode5&3)]:var_ptypenode5->type)->type_table[cltype] == idtype; } } -if (unlikely(!var20)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3796); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4204); +fatal_exit(1); } -var_pannotationsnode10 = var_nodearraylist6; -/* isa nullable AAnnotations */ -cltype24 = type_nullable__nit__AAnnotations.color; -idtype25 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode10 == NULL) { -var23 = 1; -} else { -if(cltype24 >= var_pannotationsnode10->type->table_size) { -var23 = 0; -} else { -var23 = var_pannotationsnode10->type->type_table[cltype24] == idtype25; +var4 = NEW_nit__ASignature(&type_nit__ASignature); +{ +nit__parser_prod___ASignature___init_asignature(var4, ((val*)NULL), var_listnode3, ((val*)NULL), var_ptypenode5); /* Direct call parser_prod#ASignature#init_asignature on */ } +var_psignaturenode1 = var4; +var_node_list = var_psignaturenode1; +var5 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var6 = nit___nit__Parser___go_to(var_p, var5); } -if (unlikely(!var23)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3798); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_pexprnode13 = var_nodearraylist8; -/* isa nullable AExpr */ -cltype27 = type_nullable__nit__AExpr.color; -idtype28 = type_nullable__nit__AExpr.id; -if(var_pexprnode13 == NULL) { -var26 = 1; -} else { -if(cltype27 >= var_pexprnode13->type->table_size) { -var26 = 0; -} else { -var26 = var_pexprnode13->type->type_table[cltype27] == idtype28; +RET_LABEL:; } +/* method parser#ReduceAction112#action for (self: ReduceAction112, Parser) */ +void nit__parser___nit__parser__ReduceAction112___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var1 /* : Array[Object] */; +val* var_listnode3 /* var listnode3: Array[Object] */; +val* var2 /* : ASignature */; +val* var_psignaturenode1 /* var psignaturenode1: nullable ASignature */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -if (unlikely(!var26)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3800); -show_backtrace(1); +var_nodearraylist1 = var; +var1 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ } -var29 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var30 = NULL; -var31 = NULL; -var32 = NULL; -var33 = NULL; -var34 = NULL; +var_listnode3 = var1; +var2 = NEW_nit__ASignature(&type_nit__ASignature); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var30, var_tkwinitnode6, var31, var32, var_psignaturenode9, var_pannotationsnode10, var33, var34, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___ASignature___init_asignature(var2, ((val*)NULL), var_listnode3, ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#ASignature#init_asignature on */ } -var_ppropdefnode1 = var29; -var_node_list = var_ppropdefnode1; -var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_psignaturenode1 = var2; +var_node_list = var_psignaturenode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var36 = nit___nit__Parser___go_to(var_p, var35); +var4 = nit___nit__Parser___go_to(var_p, var3); } { -nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction77#action for (self: ReduceAction77, Parser) */ -void nit__parser___nit__parser__ReduceAction77___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction113#action for (self: ReduceAction113, Parser) */ +void nit__parser___nit__parser__ReduceAction113___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var11 /* : Bool */; -int cltype; -int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_tkwinitnode6 /* var tkwinitnode6: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var_pexprnode13 /* var pexprnode13: nullable Object */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : AMethPropdef */; -val* var34 /* : null */; -val* var35 /* : null */; -val* var36 /* : null */; -val* var37 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var38 /* : Int */; -long var39 /* : Int */; +val* var2 /* : Array[Object] */; +val* var_listnode2 /* var listnode2: Array[Object] */; +val* var_pparamnode1 /* var pparamnode1: nullable Object */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; +long var5 /* : Int */; +long var6 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var1; +var_nodearraylist2 = var; { -var2 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var3 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } -var_nodearraylist8 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); +var_listnode2 = var2; +var_pparamnode1 = var_nodearraylist1; +if (var_pparamnode1 == NULL) { +var3 = 0; /* is null */ +} else { +var3 = 1; /* arg is null and recv is not */ } -var_nodearraylist7 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); +if (0) { +var4 = ((short int(*)(val* self, val* p0))((((long)var_pparamnode1&3)?class_info[((long)var_pparamnode1&3)]:var_pparamnode1->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pparamnode1, ((val*)NULL)); /* != on */ +var3 = var4; } -var_nodearraylist6 = var5; +if (var3){ { -var6 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2, var_pparamnode1); /* Direct call array#Array#add on */ } -var_nodearraylist5 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); +} else { } -var_nodearraylist4 = var7; +var_node_list = var_listnode2; +var5 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var8 = nit___nit__Parser___pop(var_p); +var6 = nit___nit__Parser___go_to(var_p, var5); } -var_nodearraylist3 = var8; { -var9 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist2 = var9; -{ -var10 = nit___nit__Parser___pop(var_p); +RET_LABEL:; } -var_nodearraylist1 = var10; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var11 = 1; -} else { -if(cltype >= var_pdocnode2->type->table_size) { -var11 = 0; -} else { -var11 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var11)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3835); -show_backtrace(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype13 = type_nullable__nit__TKwredef.color; -idtype14 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var12 = 1; -} else { -if(cltype13 >= var_tkwredefnode3->type->table_size) { -var12 = 0; -} else { -var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14; -} -} -if (unlikely(!var12)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3837); -show_backtrace(1); -} -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype16 = type_nullable__nit__AVisibility.color; -idtype17 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var15 = 1; -} else { -if(cltype16 >= var_pvisibilitynode4->type->table_size) { -var15 = 0; -} else { -var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; -} -} -if (unlikely(!var15)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3839); -show_backtrace(1); -} -var_tkwinitnode6 = var_nodearraylist4; -/* isa nullable TKwinit */ -cltype19 = type_nullable__nit__TKwinit.color; -idtype20 = type_nullable__nit__TKwinit.id; -if(var_tkwinitnode6 == NULL) { -var18 = 1; -} else { -if(cltype19 >= var_tkwinitnode6->type->table_size) { -var18 = 0; -} else { -var18 = var_tkwinitnode6->type->type_table[cltype19] == idtype20; -} -} -if (unlikely(!var18)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3841); -show_backtrace(1); -} -var_pmethidnode8 = var_nodearraylist5; -/* isa nullable AMethid */ -cltype22 = type_nullable__nit__AMethid.color; -idtype23 = type_nullable__nit__AMethid.id; -if(var_pmethidnode8 == NULL) { -var21 = 1; -} else { -if(cltype22 >= var_pmethidnode8->type->table_size) { -var21 = 0; -} else { -var21 = var_pmethidnode8->type->type_table[cltype22] == idtype23; -} -} -if (unlikely(!var21)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3843); -show_backtrace(1); -} -var_psignaturenode9 = var_nodearraylist6; -/* isa nullable ASignature */ -cltype25 = type_nullable__nit__ASignature.color; -idtype26 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { -var24 = 1; -} else { -if(cltype25 >= var_psignaturenode9->type->table_size) { -var24 = 0; -} else { -var24 = var_psignaturenode9->type->type_table[cltype25] == idtype26; -} -} -if (unlikely(!var24)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3845); -show_backtrace(1); -} -var_pannotationsnode10 = var_nodearraylist7; -/* isa nullable AAnnotations */ -cltype28 = type_nullable__nit__AAnnotations.color; -idtype29 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode10 == NULL) { -var27 = 1; -} else { -if(cltype28 >= var_pannotationsnode10->type->table_size) { -var27 = 0; -} else { -var27 = var_pannotationsnode10->type->type_table[cltype28] == idtype29; -} -} -if (unlikely(!var27)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3847); -show_backtrace(1); -} -var_pexprnode13 = var_nodearraylist9; -/* isa nullable AExpr */ -cltype31 = type_nullable__nit__AExpr.color; -idtype32 = type_nullable__nit__AExpr.id; -if(var_pexprnode13 == NULL) { -var30 = 1; -} else { -if(cltype31 >= var_pexprnode13->type->table_size) { -var30 = 0; -} else { -var30 = var_pexprnode13->type->type_table[cltype31] == idtype32; -} -} -if (unlikely(!var30)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3849); -show_backtrace(1); -} -var33 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var34 = NULL; -var35 = NULL; -var36 = NULL; -var37 = NULL; -{ -nit__parser_prod___AMethPropdef___init_amethpropdef(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var34, var_tkwinitnode6, var35, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, var36, var37, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ -} -var_ppropdefnode1 = var33; -var_node_list = var_ppropdefnode1; -var38 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var39 = nit___nit__Parser___go_to(var_p, var38); -} -{ -nit___nit__Parser___push(var_p, var39, var_node_list); /* Direct call parser_work#Parser#push on */ -} -RET_LABEL:; -} -/* method parser#ReduceAction78#action for (self: ReduceAction78, Parser) */ -void nit__parser___nit__parser__ReduceAction78___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction114#action for (self: ReduceAction114, Parser) */ +void nit__parser___nit__parser__ReduceAction114___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var5 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var6 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var7 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var8 /* : Bool */; +val* var3 /* : Array[Object] */; +val* var_listnode3 /* var listnode3: Array[Object] */; +val* var_pparamnode1 /* var pparamnode1: nullable Object */; +val* var_listnode2 /* var listnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_ptypenode7 /* var ptypenode7: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var27 /* : ATypePropdef */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */; -long var28 /* : Int */; -long var29 /* : Int */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var7 /* : Array[Object] */; +long var8 /* : Int */; +long var9 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist7 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist5 = var3; +var_nodearraylist3 = var; { -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var5; +var_nodearraylist2 = var1; { -var6 = nit___nit__Parser___pop(var_p); +var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var6; +var_nodearraylist1 = var2; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var7; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var8 = 1; -} else { -if(cltype >= var_pdocnode2->type->table_size) { -var8 = 0; -} else { -var8 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var8)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3881); -show_backtrace(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype10 = type_nullable__nit__TKwredef.color; -idtype11 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var9 = 1; -} else { -if(cltype10 >= var_tkwredefnode3->type->table_size) { -var9 = 0; -} else { -var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11; -} -} -if (unlikely(!var9)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3883); -show_backtrace(1); -} -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype13 = type_nullable__nit__AVisibility.color; -idtype14 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var12 = 1; -} else { -if(cltype13 >= var_pvisibilitynode4->type->table_size) { -var12 = 0; -} else { -var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14; -} -} -if (unlikely(!var12)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3885); -show_backtrace(1); -} -var_tkwtypenode5 = var_nodearraylist4; -/* isa nullable TKwtype */ -cltype16 = type_nullable__nit__TKwtype.color; -idtype17 = type_nullable__nit__TKwtype.id; -if(var_tkwtypenode5 == NULL) { -var15 = 1; -} else { -if(cltype16 >= var_tkwtypenode5->type->table_size) { -var15 = 0; -} else { -var15 = var_tkwtypenode5->type->type_table[cltype16] == idtype17; -} -} -if (unlikely(!var15)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3887); -show_backtrace(1); +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_tclassidnode6 = var_nodearraylist5; -/* isa nullable TClassid */ -cltype19 = type_nullable__nit__TClassid.color; -idtype20 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var18 = 1; +var_listnode3 = var3; +var_pparamnode1 = var_nodearraylist1; +var_listnode2 = var_nodearraylist2; +/* isa Array[Object] */ +cltype = type_standard__Array__standard__Object.color; +idtype = type_standard__Array__standard__Object.id; +if(var_listnode2 == NULL) { +var4 = 0; } else { -if(cltype19 >= var_tclassidnode6->type->table_size) { -var18 = 0; +if(cltype >= (((long)var_listnode2&3)?type_info[((long)var_listnode2&3)]:var_listnode2->type)->table_size) { +var4 = 0; } else { -var18 = var_tclassidnode6->type->type_table[cltype19] == idtype20; +var4 = (((long)var_listnode2&3)?type_info[((long)var_listnode2&3)]:var_listnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var18)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3889); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4259); +fatal_exit(1); } -var_ptypenode7 = var_nodearraylist6; -/* isa nullable AType */ -cltype22 = type_nullable__nit__AType.color; -idtype23 = type_nullable__nit__AType.id; -if(var_ptypenode7 == NULL) { -var21 = 1; -} else { -if(cltype22 >= var_ptypenode7->type->table_size) { -var21 = 0; +if (var_pparamnode1 == NULL) { +var5 = 0; /* is null */ } else { -var21 = var_ptypenode7->type->type_table[cltype22] == idtype23; +var5 = 1; /* arg is null and recv is not */ } +if (0) { +var6 = ((short int(*)(val* self, val* p0))((((long)var_pparamnode1&3)?class_info[((long)var_pparamnode1&3)]:var_pparamnode1->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pparamnode1, ((val*)NULL)); /* != on */ +var5 = var6; } -if (unlikely(!var21)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3891); -show_backtrace(1); +if (var5){ +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pparamnode1); /* Direct call array#Array#add on */ } -var_pannotationsnode8 = var_nodearraylist7; -/* isa nullable AAnnotations */ -cltype25 = type_nullable__nit__AAnnotations.color; -idtype26 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode8 == NULL) { -var24 = 1; -} else { -if(cltype25 >= var_pannotationsnode8->type->table_size) { -var24 = 0; } else { -var24 = var_pannotationsnode8->type->type_table[cltype25] == idtype26; -} -} -if (unlikely(!var24)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3893); -show_backtrace(1); } -var27 = NEW_nit__ATypePropdef(&type_nit__ATypePropdef); { -nit__parser_prod___ATypePropdef___init_atypepropdef(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var_pannotationsnode8); /* Direct call parser_prod#ATypePropdef#init_atypepropdef on */ +var7 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode3, var_listnode2); } -var_ppropdefnode1 = var27; -var_node_list = var_ppropdefnode1; -var28 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_listnode3 = var7; +var_node_list = var_listnode3; +var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var29 = nit___nit__Parser___go_to(var_p, var28); +var9 = nit___nit__Parser___go_to(var_p, var8); } { -nit___nit__Parser___push(var_p, var29, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction79#action for (self: ReduceAction79, Parser) */ -void nit__parser___nit__parser__ReduceAction79___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction116#action for (self: ReduceAction116, Parser) */ +void nit__parser___nit__parser__ReduceAction116___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var8 /* : Bool */; -int cltype; -int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_pexterncallsnode11 /* var pexterncallsnode11: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_pexterncodeblocknode12 /* var pexterncodeblocknode12: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var27 /* : AMethPropdef */; -val* var28 /* : null */; -val* var29 /* : null */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var32 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var33 /* : Int */; -long var34 /* : Int */; +val* var /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_pparamnode1 /* var pparamnode1: nullable Object */; +long var3 /* : Int */; +long var4 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var1; +var_nodearraylist2 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var2; +var_nodearraylist1 = var2; +var_pparamnode1 = var_nodearraylist3; +var_node_list = var_pparamnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var3 = nit___nit__Parser___pop(var_p); +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_nodearraylist5 = var3; { -var4 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist4 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); +RET_LABEL:; } -var_nodearraylist3 = var5; +/* method parser#ReduceAction117#action for (self: ReduceAction117, Parser) */ +void nit__parser___nit__parser__ReduceAction117___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tidnode2 /* var tidnode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AParam */; +val* var_pparamnode1 /* var pparamnode1: nullable AParam */; +long var7 /* : Int */; +long var8 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var6 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var6; +var_nodearraylist2 = var; { -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var7; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var8 = 1; -} else { -if(cltype >= var_pdocnode2->type->table_size) { -var8 = 0; -} else { -var8 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var8)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3920); -show_backtrace(1); +var1 = nit___nit__Parser___pop(var_p); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype10 = type_nullable__nit__TKwredef.color; -idtype11 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var9 = 1; +var_nodearraylist1 = var1; +var_tidnode2 = var_nodearraylist1; +/* isa nullable TId */ +cltype = type_nullable__nit__TId.color; +idtype = type_nullable__nit__TId.id; +if(var_tidnode2 == NULL) { +var2 = 1; } else { -if(cltype10 >= var_tkwredefnode3->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->table_size) { +var2 = 0; } else { -var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11; +var2 = (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var9)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3922); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4289); +fatal_exit(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype13 = type_nullable__nit__AVisibility.color; -idtype14 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var12 = 1; +var_pannotationsnode5 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode5 == NULL) { +var3 = 1; } else { -if(cltype13 >= var_pvisibilitynode4->type->table_size) { -var12 = 0; +if(cltype4 >= (((long)var_pannotationsnode5&3)?type_info[((long)var_pannotationsnode5&3)]:var_pannotationsnode5->type)->table_size) { +var3 = 0; } else { -var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14; +var3 = (((long)var_pannotationsnode5&3)?type_info[((long)var_pannotationsnode5&3)]:var_pannotationsnode5->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var12)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3924); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4291); +fatal_exit(1); } -var_tkwnewnode7 = var_nodearraylist4; -/* isa nullable TKwnew */ -cltype16 = type_nullable__nit__TKwnew.color; -idtype17 = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode7 == NULL) { -var15 = 1; -} else { -if(cltype16 >= var_tkwnewnode7->type->table_size) { -var15 = 0; -} else { -var15 = var_tkwnewnode7->type->type_table[cltype16] == idtype17; +var6 = NEW_nit__AParam(&type_nit__AParam); +{ +nit__parser_prod___AParam___init_aparam(var6, var_tidnode2, ((val*)NULL), ((val*)NULL), var_pannotationsnode5); /* Direct call parser_prod#AParam#init_aparam on */ } +var_pparamnode1 = var6; +var_node_list = var_pparamnode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var8 = nit___nit__Parser___go_to(var_p, var7); } -if (unlikely(!var15)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3926); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_psignaturenode9 = var_nodearraylist5; -/* isa nullable ASignature */ -cltype19 = type_nullable__nit__ASignature.color; -idtype20 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { -var18 = 1; -} else { -if(cltype19 >= var_psignaturenode9->type->table_size) { -var18 = 0; -} else { -var18 = var_psignaturenode9->type->type_table[cltype19] == idtype20; +RET_LABEL:; } +/* method parser#ReduceAction118#action for (self: ReduceAction118, Parser) */ +void nit__parser___nit__parser__ReduceAction118___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tidnode2 /* var tidnode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AParam */; +val* var_pparamnode1 /* var pparamnode1: nullable AParam */; +long var7 /* : Int */; +long var8 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -if (unlikely(!var18)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3928); -show_backtrace(1); +var_nodearraylist2 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } -var_pexterncallsnode11 = var_nodearraylist6; -/* isa nullable AExternCalls */ -cltype22 = type_nullable__nit__AExternCalls.color; -idtype23 = type_nullable__nit__AExternCalls.id; -if(var_pexterncallsnode11 == NULL) { -var21 = 1; +var_nodearraylist1 = var1; +var_tidnode2 = var_nodearraylist1; +/* isa nullable TId */ +cltype = type_nullable__nit__TId.color; +idtype = type_nullable__nit__TId.id; +if(var_tidnode2 == NULL) { +var2 = 1; } else { -if(cltype22 >= var_pexterncallsnode11->type->table_size) { -var21 = 0; +if(cltype >= (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->table_size) { +var2 = 0; } else { -var21 = var_pexterncallsnode11->type->type_table[cltype22] == idtype23; +var2 = (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var21)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3930); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4310); +fatal_exit(1); } -var_pexterncodeblocknode12 = var_nodearraylist7; -/* isa nullable AExternCodeBlock */ -cltype25 = type_nullable__nit__AExternCodeBlock.color; -idtype26 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode12 == NULL) { -var24 = 1; +var_ptypenode3 = var_nodearraylist2; +/* isa nullable AType */ +cltype4 = type_nullable__nit__AType.color; +idtype5 = type_nullable__nit__AType.id; +if(var_ptypenode3 == NULL) { +var3 = 1; } else { -if(cltype25 >= var_pexterncodeblocknode12->type->table_size) { -var24 = 0; +if(cltype4 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { +var3 = 0; } else { -var24 = var_pexterncodeblocknode12->type->type_table[cltype25] == idtype26; +var3 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var24)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3932); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4312); +fatal_exit(1); } -var27 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var28 = NULL; -var29 = NULL; -var30 = NULL; -var31 = NULL; -var32 = NULL; +var6 = NEW_nit__AParam(&type_nit__AParam); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var28, var29, var_tkwnewnode7, var30, var_psignaturenode9, var31, var_pexterncallsnode11, var_pexterncodeblocknode12, var32); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AParam___init_aparam(var6, var_tidnode2, var_ptypenode3, ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AParam#init_aparam on */ } -var_ppropdefnode1 = var27; -var_node_list = var_ppropdefnode1; -var33 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pparamnode1 = var6; +var_node_list = var_pparamnode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var34 = nit___nit__Parser___go_to(var_p, var33); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var34, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction80#action for (self: ReduceAction80, Parser) */ -void nit__parser___nit__parser__ReduceAction80___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction119#action for (self: ReduceAction119, Parser) */ +void nit__parser___nit__parser__ReduceAction119___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var6 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var7 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +val* var_tidnode2 /* var tidnode2: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_pexterncallsnode11 /* var pexterncallsnode11: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var_pexterncodeblocknode12 /* var pexterncodeblocknode12: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : AMethPropdef */; -val* var32 /* : null */; -val* var33 /* : null */; -val* var34 /* : null */; -val* var35 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var36 /* : Int */; -long var37 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist8 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist7 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist6 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist5 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var5; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var10 /* : AParam */; +val* var_pparamnode1 /* var pparamnode1: nullable AParam */; +long var11 /* : Int */; +long var12 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var6 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var6; +var_nodearraylist3 = var; { -var7 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var7; +var_nodearraylist2 = var1; { -var8 = nit___nit__Parser___pop(var_p); +var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var8; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var9 = 1; +var_nodearraylist1 = var2; +var_tidnode2 = var_nodearraylist1; +/* isa nullable TId */ +cltype = type_nullable__nit__TId.color; +idtype = type_nullable__nit__TId.id; +if(var_tidnode2 == NULL) { +var3 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->table_size) { +var3 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var9)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3965); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4332); +fatal_exit(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype11 = type_nullable__nit__TKwredef.color; -idtype12 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var10 = 1; +var_ptypenode3 = var_nodearraylist3; +/* isa nullable AType */ +cltype5 = type_nullable__nit__AType.color; +idtype6 = type_nullable__nit__AType.id; +if(var_ptypenode3 == NULL) { +var4 = 1; } else { -if(cltype11 >= var_tkwredefnode3->type->table_size) { -var10 = 0; +if(cltype5 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { +var4 = 0; } else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +var4 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype5] == idtype6; } } -if (unlikely(!var10)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3967); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4334); +fatal_exit(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype14 = type_nullable__nit__AVisibility.color; -idtype15 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var13 = 1; +var_pannotationsnode5 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype8 = type_nullable__nit__AAnnotations.color; +idtype9 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode5 == NULL) { +var7 = 1; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; +if(cltype8 >= (((long)var_pannotationsnode5&3)?type_info[((long)var_pannotationsnode5&3)]:var_pannotationsnode5->type)->table_size) { +var7 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var7 = (((long)var_pannotationsnode5&3)?type_info[((long)var_pannotationsnode5&3)]:var_pannotationsnode5->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var13)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3969); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4336); +fatal_exit(1); } -var_tkwnewnode7 = var_nodearraylist4; -/* isa nullable TKwnew */ -cltype17 = type_nullable__nit__TKwnew.color; -idtype18 = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode7 == NULL) { -var16 = 1; -} else { -if(cltype17 >= var_tkwnewnode7->type->table_size) { -var16 = 0; -} else { -var16 = var_tkwnewnode7->type->type_table[cltype17] == idtype18; +var10 = NEW_nit__AParam(&type_nit__AParam); +{ +nit__parser_prod___AParam___init_aparam(var10, var_tidnode2, var_ptypenode3, ((val*)NULL), var_pannotationsnode5); /* Direct call parser_prod#AParam#init_aparam on */ } +var_pparamnode1 = var10; +var_node_list = var_pparamnode1; +var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var12 = nit___nit__Parser___go_to(var_p, var11); } -if (unlikely(!var16)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3971); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var12, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_pmethidnode8 = var_nodearraylist5; -/* isa nullable AMethid */ -cltype20 = type_nullable__nit__AMethid.color; -idtype21 = type_nullable__nit__AMethid.id; -if(var_pmethidnode8 == NULL) { -var19 = 1; -} else { -if(cltype20 >= var_pmethidnode8->type->table_size) { -var19 = 0; -} else { -var19 = var_pmethidnode8->type->type_table[cltype20] == idtype21; +RET_LABEL:; +} +/* method parser#ReduceAction120#action for (self: ReduceAction120, Parser) */ +void nit__parser___nit__parser__ReduceAction120___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tidnode2 /* var tidnode2: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var_tdotdotdotnode4 /* var tdotdotdotnode4: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var10 /* : AParam */; +val* var_pparamnode1 /* var pparamnode1: nullable AParam */; +long var11 /* : Int */; +long var12 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } +var_nodearraylist3 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } -if (unlikely(!var19)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3973); -show_backtrace(1); +var_nodearraylist2 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); } -var_psignaturenode9 = var_nodearraylist6; -/* isa nullable ASignature */ -cltype23 = type_nullable__nit__ASignature.color; -idtype24 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { -var22 = 1; +var_nodearraylist1 = var2; +var_tidnode2 = var_nodearraylist1; +/* isa nullable TId */ +cltype = type_nullable__nit__TId.color; +idtype = type_nullable__nit__TId.id; +if(var_tidnode2 == NULL) { +var3 = 1; } else { -if(cltype23 >= var_psignaturenode9->type->table_size) { -var22 = 0; +if(cltype >= (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->table_size) { +var3 = 0; } else { -var22 = var_psignaturenode9->type->type_table[cltype23] == idtype24; +var3 = (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var22)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3975); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4356); +fatal_exit(1); } -var_pexterncallsnode11 = var_nodearraylist7; -/* isa nullable AExternCalls */ -cltype26 = type_nullable__nit__AExternCalls.color; -idtype27 = type_nullable__nit__AExternCalls.id; -if(var_pexterncallsnode11 == NULL) { -var25 = 1; +var_ptypenode3 = var_nodearraylist2; +/* isa nullable AType */ +cltype5 = type_nullable__nit__AType.color; +idtype6 = type_nullable__nit__AType.id; +if(var_ptypenode3 == NULL) { +var4 = 1; } else { -if(cltype26 >= var_pexterncallsnode11->type->table_size) { -var25 = 0; +if(cltype5 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { +var4 = 0; } else { -var25 = var_pexterncallsnode11->type->type_table[cltype26] == idtype27; +var4 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype5] == idtype6; } } -if (unlikely(!var25)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3977); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4358); +fatal_exit(1); } -var_pexterncodeblocknode12 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype29 = type_nullable__nit__AExternCodeBlock.color; -idtype30 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode12 == NULL) { -var28 = 1; +var_tdotdotdotnode4 = var_nodearraylist3; +/* isa nullable TDotdotdot */ +cltype8 = type_nullable__nit__TDotdotdot.color; +idtype9 = type_nullable__nit__TDotdotdot.id; +if(var_tdotdotdotnode4 == NULL) { +var7 = 1; } else { -if(cltype29 >= var_pexterncodeblocknode12->type->table_size) { -var28 = 0; +if(cltype8 >= (((long)var_tdotdotdotnode4&3)?type_info[((long)var_tdotdotdotnode4&3)]:var_tdotdotdotnode4->type)->table_size) { +var7 = 0; } else { -var28 = var_pexterncodeblocknode12->type->type_table[cltype29] == idtype30; +var7 = (((long)var_tdotdotdotnode4&3)?type_info[((long)var_tdotdotdotnode4&3)]:var_tdotdotdotnode4->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var28)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3979); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4360); +fatal_exit(1); } -var31 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var32 = NULL; -var33 = NULL; -var34 = NULL; -var35 = NULL; +var10 = NEW_nit__AParam(&type_nit__AParam); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var32, var33, var_tkwnewnode7, var_pmethidnode8, var_psignaturenode9, var34, var_pexterncallsnode11, var_pexterncodeblocknode12, var35); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AParam___init_aparam(var10, var_tidnode2, var_ptypenode3, var_tdotdotdotnode4, ((val*)NULL)); /* Direct call parser_prod#AParam#init_aparam on */ } -var_ppropdefnode1 = var31; -var_node_list = var_ppropdefnode1; -var36 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pparamnode1 = var10; +var_node_list = var_pparamnode1; +var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var37 = nit___nit__Parser___go_to(var_p, var36); +var12 = nit___nit__Parser___go_to(var_p, var11); } { -nit___nit__Parser___push(var_p, var37, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var12, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction81#action for (self: ReduceAction81, Parser) */ -void nit__parser___nit__parser__ReduceAction81___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction121#action for (self: ReduceAction121, Parser) */ +void nit__parser___nit__parser__ReduceAction121___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var5 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var6 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var7 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +val* var_tidnode2 /* var tidnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_pexterncallsnode11 /* var pexterncallsnode11: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var_pexterncodeblocknode12 /* var pexterncodeblocknode12: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : AMethPropdef */; -val* var32 /* : null */; -val* var33 /* : null */; -val* var34 /* : null */; -val* var35 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var36 /* : Int */; -long var37 /* : Int */; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_tdotdotdotnode4 /* var tdotdotdotnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var14 /* : AParam */; +val* var_pparamnode1 /* var pparamnode1: nullable AParam */; +long var15 /* : Int */; +long var16 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist5 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var8; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var9 = 1; +var_nodearraylist1 = var3; +var_tidnode2 = var_nodearraylist1; +/* isa nullable TId */ +cltype = type_nullable__nit__TId.color; +idtype = type_nullable__nit__TId.id; +if(var_tidnode2 == NULL) { +var4 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->table_size) { +var4 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var4 = (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var9)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4012); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4381); +fatal_exit(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype11 = type_nullable__nit__TKwredef.color; -idtype12 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var10 = 1; +var_ptypenode3 = var_nodearraylist3; +/* isa nullable AType */ +cltype6 = type_nullable__nit__AType.color; +idtype7 = type_nullable__nit__AType.id; +if(var_ptypenode3 == NULL) { +var5 = 1; } else { -if(cltype11 >= var_tkwredefnode3->type->table_size) { -var10 = 0; +if(cltype6 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { +var5 = 0; } else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +var5 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var10)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4014); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4383); +fatal_exit(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype14 = type_nullable__nit__AVisibility.color; -idtype15 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var13 = 1; +var_tdotdotdotnode4 = var_nodearraylist4; +/* isa nullable TDotdotdot */ +cltype9 = type_nullable__nit__TDotdotdot.color; +idtype10 = type_nullable__nit__TDotdotdot.id; +if(var_tdotdotdotnode4 == NULL) { +var8 = 1; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; +if(cltype9 >= (((long)var_tdotdotdotnode4&3)?type_info[((long)var_tdotdotdotnode4&3)]:var_tdotdotdotnode4->type)->table_size) { +var8 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var8 = (((long)var_tdotdotdotnode4&3)?type_info[((long)var_tdotdotdotnode4&3)]:var_tdotdotdotnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var13)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4016); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4385); +fatal_exit(1); } -var_tkwnewnode7 = var_nodearraylist4; -/* isa nullable TKwnew */ -cltype17 = type_nullable__nit__TKwnew.color; -idtype18 = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode7 == NULL) { -var16 = 1; +var_pannotationsnode5 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype12 = type_nullable__nit__AAnnotations.color; +idtype13 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode5 == NULL) { +var11 = 1; } else { -if(cltype17 >= var_tkwnewnode7->type->table_size) { -var16 = 0; +if(cltype12 >= (((long)var_pannotationsnode5&3)?type_info[((long)var_pannotationsnode5&3)]:var_pannotationsnode5->type)->table_size) { +var11 = 0; } else { -var16 = var_tkwnewnode7->type->type_table[cltype17] == idtype18; +var11 = (((long)var_pannotationsnode5&3)?type_info[((long)var_pannotationsnode5&3)]:var_pannotationsnode5->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var16)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4018); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4387); +fatal_exit(1); } -var_psignaturenode9 = var_nodearraylist5; -/* isa nullable ASignature */ -cltype20 = type_nullable__nit__ASignature.color; -idtype21 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { -var19 = 1; -} else { -if(cltype20 >= var_psignaturenode9->type->table_size) { -var19 = 0; -} else { -var19 = var_psignaturenode9->type->type_table[cltype20] == idtype21; +var14 = NEW_nit__AParam(&type_nit__AParam); +{ +nit__parser_prod___AParam___init_aparam(var14, var_tidnode2, var_ptypenode3, var_tdotdotdotnode4, var_pannotationsnode5); /* Direct call parser_prod#AParam#init_aparam on */ } +var_pparamnode1 = var14; +var_node_list = var_pparamnode1; +var15 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var16 = nit___nit__Parser___go_to(var_p, var15); } -if (unlikely(!var19)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4020); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_pannotationsnode10 = var_nodearraylist6; -/* isa nullable AAnnotations */ -cltype23 = type_nullable__nit__AAnnotations.color; -idtype24 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode10 == NULL) { -var22 = 1; +RET_LABEL:; +} +/* method parser#ReduceAction122#action for (self: ReduceAction122, Parser) */ +void nit__parser___nit__parser__ReduceAction122___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var3 /* : Array[Object] */; +val* var_listnode4 /* var listnode4: Array[Object] */; +val* var_tkwimportnode2 /* var tkwimportnode2: nullable Object */; +short int var4 /* : Bool */; +int cltype; +int idtype; +val* var_pexterncallnode3 /* var pexterncallnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +val* var13 /* : AExternCalls */; +val* var_pexterncallsnode1 /* var pexterncallsnode1: nullable AExternCalls */; +long var14 /* : Int */; +long var15 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var; +{ +var1 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var2; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ +} +var_listnode4 = var3; +var_tkwimportnode2 = var_nodearraylist1; +/* isa nullable TKwimport */ +cltype = type_nullable__nit__TKwimport.color; +idtype = type_nullable__nit__TKwimport.id; +if(var_tkwimportnode2 == NULL) { +var4 = 1; } else { -if(cltype23 >= var_pannotationsnode10->type->table_size) { -var22 = 0; +if(cltype >= (((long)var_tkwimportnode2&3)?type_info[((long)var_tkwimportnode2&3)]:var_tkwimportnode2->type)->table_size) { +var4 = 0; } else { -var22 = var_pannotationsnode10->type->type_table[cltype23] == idtype24; +var4 = (((long)var_tkwimportnode2&3)?type_info[((long)var_tkwimportnode2&3)]:var_tkwimportnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var22)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4022); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4408); +fatal_exit(1); } -var_pexterncallsnode11 = var_nodearraylist7; -/* isa nullable AExternCalls */ -cltype26 = type_nullable__nit__AExternCalls.color; -idtype27 = type_nullable__nit__AExternCalls.id; -if(var_pexterncallsnode11 == NULL) { -var25 = 1; +var_pexterncallnode3 = var_nodearraylist3; +/* isa nullable AExternCall */ +cltype6 = type_nullable__nit__AExternCall.color; +idtype7 = type_nullable__nit__AExternCall.id; +if(var_pexterncallnode3 == NULL) { +var5 = 1; } else { -if(cltype26 >= var_pexterncallsnode11->type->table_size) { -var25 = 0; +if(cltype6 >= (((long)var_pexterncallnode3&3)?type_info[((long)var_pexterncallnode3&3)]:var_pexterncallnode3->type)->table_size) { +var5 = 0; } else { -var25 = var_pexterncallsnode11->type->type_table[cltype26] == idtype27; +var5 = (((long)var_pexterncallnode3&3)?type_info[((long)var_pexterncallnode3&3)]:var_pexterncallnode3->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var25)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4024); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4410); +fatal_exit(1); } -var_pexterncodeblocknode12 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype29 = type_nullable__nit__AExternCodeBlock.color; -idtype30 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode12 == NULL) { -var28 = 1; -} else { -if(cltype29 >= var_pexterncodeblocknode12->type->table_size) { -var28 = 0; +if (var_pexterncallnode3 == NULL) { +var8 = 0; /* is null */ } else { -var28 = var_pexterncodeblocknode12->type->type_table[cltype29] == idtype30; +var8 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_pexterncallnode3,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var11 = ((short int(*)(val* self, val* p0))(var_pexterncallnode3->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pexterncallnode3, var_other); /* == on */ } +var12 = !var11; +var9 = var12; +goto RET_LABEL10; +RET_LABEL10:(void)0; } -if (unlikely(!var28)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4026); -show_backtrace(1); +var8 = var9; } -var31 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var32 = NULL; -var33 = NULL; -var34 = NULL; -var35 = NULL; +if (var8){ { -nit__parser_prod___AMethPropdef___init_amethpropdef(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var32, var33, var_tkwnewnode7, var34, var_psignaturenode9, var_pannotationsnode10, var_pexterncallsnode11, var_pexterncodeblocknode12, var35); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4, var_pexterncallnode3); /* Direct call array#Array#add on */ } -var_ppropdefnode1 = var31; -var_node_list = var_ppropdefnode1; -var36 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +} else { +} +var13 = NEW_nit__AExternCalls(&type_nit__AExternCalls); +{ +nit__parser_prod___AExternCalls___init_aexterncalls(var13, var_tkwimportnode2, var_listnode4); /* Direct call parser_prod#AExternCalls#init_aexterncalls on */ +} +var_pexterncallsnode1 = var13; +var_node_list = var_pexterncallsnode1; +var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var37 = nit___nit__Parser___go_to(var_p, var36); +var15 = nit___nit__Parser___go_to(var_p, var14); } { -nit___nit__Parser___push(var_p, var37, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction82#action for (self: ReduceAction82, Parser) */ -void nit__parser___nit__parser__ReduceAction82___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction123#action for (self: ReduceAction123, Parser) */ +void nit__parser___nit__parser__ReduceAction123___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var6 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; +val* var4 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var_tkwimportnode2 /* var tkwimportnode2: nullable Object */; +short int var5 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var_pexterncallsnode11 /* var pexterncallsnode11: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var_pexterncodeblocknode12 /* var pexterncodeblocknode12: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : AMethPropdef */; -val* var36 /* : null */; -val* var37 /* : null */; -val* var38 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; -long var39 /* : Int */; -long var40 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist9 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist8 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist7 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist6 = var4; +val* var_pexterncallnode3 /* var pexterncallnode3: nullable Object */; +short int var6 /* : Bool */; +int cltype7; +int idtype8; +val* var_listnode4 /* var listnode4: nullable Object */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; +val* var17 /* : Array[Object] */; +val* var18 /* : AExternCalls */; +val* var_pexterncallsnode1 /* var pexterncallsnode1: nullable AExternCalls */; +long var19 /* : Int */; +long var20 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var5 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var5; +var_nodearraylist4 = var; { -var6 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var6; +var_nodearraylist3 = var1; { -var7 = nit___nit__Parser___pop(var_p); +var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var7; +var_nodearraylist2 = var2; { -var8 = nit___nit__Parser___pop(var_p); +var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var8; +var_nodearraylist1 = var3; +var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var9; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var10 = 1; -} else { -if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; -} else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var10)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4060); -show_backtrace(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype12 = type_nullable__nit__TKwredef.color; -idtype13 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var11 = 1; -} else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { -var11 = 0; -} else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; -} -} -if (unlikely(!var11)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4062); -show_backtrace(1); -} -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype15 = type_nullable__nit__AVisibility.color; -idtype16 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var14 = 1; -} else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; -} else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; -} -} -if (unlikely(!var14)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4064); -show_backtrace(1); +standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_tkwnewnode7 = var_nodearraylist4; -/* isa nullable TKwnew */ -cltype18 = type_nullable__nit__TKwnew.color; -idtype19 = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode7 == NULL) { -var17 = 1; +var_listnode5 = var4; +var_tkwimportnode2 = var_nodearraylist1; +/* isa nullable TKwimport */ +cltype = type_nullable__nit__TKwimport.color; +idtype = type_nullable__nit__TKwimport.id; +if(var_tkwimportnode2 == NULL) { +var5 = 1; } else { -if(cltype18 >= var_tkwnewnode7->type->table_size) { -var17 = 0; +if(cltype >= (((long)var_tkwimportnode2&3)?type_info[((long)var_tkwimportnode2&3)]:var_tkwimportnode2->type)->table_size) { +var5 = 0; } else { -var17 = var_tkwnewnode7->type->type_table[cltype18] == idtype19; +var5 = (((long)var_tkwimportnode2&3)?type_info[((long)var_tkwimportnode2&3)]:var_tkwimportnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var17)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4066); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4433); +fatal_exit(1); } -var_pmethidnode8 = var_nodearraylist5; -/* isa nullable AMethid */ -cltype21 = type_nullable__nit__AMethid.color; -idtype22 = type_nullable__nit__AMethid.id; -if(var_pmethidnode8 == NULL) { -var20 = 1; +var_pexterncallnode3 = var_nodearraylist3; +/* isa nullable AExternCall */ +cltype7 = type_nullable__nit__AExternCall.color; +idtype8 = type_nullable__nit__AExternCall.id; +if(var_pexterncallnode3 == NULL) { +var6 = 1; } else { -if(cltype21 >= var_pmethidnode8->type->table_size) { -var20 = 0; +if(cltype7 >= (((long)var_pexterncallnode3&3)?type_info[((long)var_pexterncallnode3&3)]:var_pexterncallnode3->type)->table_size) { +var6 = 0; } else { -var20 = var_pmethidnode8->type->type_table[cltype21] == idtype22; +var6 = (((long)var_pexterncallnode3&3)?type_info[((long)var_pexterncallnode3&3)]:var_pexterncallnode3->type)->type_table[cltype7] == idtype8; } } -if (unlikely(!var20)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4068); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4435); +fatal_exit(1); } -var_psignaturenode9 = var_nodearraylist6; -/* isa nullable ASignature */ -cltype24 = type_nullable__nit__ASignature.color; -idtype25 = type_nullable__nit__ASignature.id; -if(var_psignaturenode9 == NULL) { -var23 = 1; +var_listnode4 = var_nodearraylist4; +/* isa Array[Object] */ +cltype10 = type_standard__Array__standard__Object.color; +idtype11 = type_standard__Array__standard__Object.id; +if(var_listnode4 == NULL) { +var9 = 0; } else { -if(cltype24 >= var_psignaturenode9->type->table_size) { -var23 = 0; +if(cltype10 >= (((long)var_listnode4&3)?type_info[((long)var_listnode4&3)]:var_listnode4->type)->table_size) { +var9 = 0; } else { -var23 = var_psignaturenode9->type->type_table[cltype24] == idtype25; +var9 = (((long)var_listnode4&3)?type_info[((long)var_listnode4&3)]:var_listnode4->type)->type_table[cltype10] == idtype11; } } -if (unlikely(!var23)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4070); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4437); +fatal_exit(1); } -var_pannotationsnode10 = var_nodearraylist7; -/* isa nullable AAnnotations */ -cltype27 = type_nullable__nit__AAnnotations.color; -idtype28 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode10 == NULL) { -var26 = 1; -} else { -if(cltype27 >= var_pannotationsnode10->type->table_size) { -var26 = 0; +if (var_pexterncallnode3 == NULL) { +var12 = 0; /* is null */ } else { -var26 = var_pannotationsnode10->type->type_table[cltype27] == idtype28; +var12 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_pexterncallnode3,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var15 = ((short int(*)(val* self, val* p0))(var_pexterncallnode3->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pexterncallnode3, var_other); /* == on */ } -if (unlikely(!var26)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4072); -show_backtrace(1); -} -var_pexterncallsnode11 = var_nodearraylist8; -/* isa nullable AExternCalls */ -cltype30 = type_nullable__nit__AExternCalls.color; -idtype31 = type_nullable__nit__AExternCalls.id; -if(var_pexterncallsnode11 == NULL) { -var29 = 1; -} else { -if(cltype30 >= var_pexterncallsnode11->type->table_size) { -var29 = 0; -} else { -var29 = var_pexterncallsnode11->type->type_table[cltype30] == idtype31; +var16 = !var15; +var13 = var16; +goto RET_LABEL14; +RET_LABEL14:(void)0; } +var12 = var13; } -if (unlikely(!var29)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4074); -show_backtrace(1); +if (var12){ +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode5, var_pexterncallnode3); /* Direct call array#Array#add on */ } -var_pexterncodeblocknode12 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype33 = type_nullable__nit__AExternCodeBlock.color; -idtype34 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode12 == NULL) { -var32 = 1; } else { -if(cltype33 >= var_pexterncodeblocknode12->type->table_size) { -var32 = 0; -} else { -var32 = var_pexterncodeblocknode12->type->type_table[cltype33] == idtype34; } +{ +var17 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4); } -if (unlikely(!var32)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4076); -show_backtrace(1); -} -var35 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); -var36 = NULL; -var37 = NULL; -var38 = NULL; +var_listnode5 = var17; +var18 = NEW_nit__AExternCalls(&type_nit__AExternCalls); { -nit__parser_prod___AMethPropdef___init_amethpropdef(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var36, var37, var_tkwnewnode7, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, var_pexterncallsnode11, var_pexterncodeblocknode12, var38); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +nit__parser_prod___AExternCalls___init_aexterncalls(var18, var_tkwimportnode2, var_listnode5); /* Direct call parser_prod#AExternCalls#init_aexterncalls on */ } -var_ppropdefnode1 = var35; -var_node_list = var_ppropdefnode1; -var39 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncallsnode1 = var18; +var_node_list = var_pexterncallsnode1; +var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var40 = nit___nit__Parser___go_to(var_p, var39); +var20 = nit___nit__Parser___go_to(var_p, var19); } { -nit___nit__Parser___push(var_p, var40, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction83#action for (self: ReduceAction83, Parser) */ -void nit__parser___nit__parser__ReduceAction83___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction125#action for (self: ReduceAction125, Parser) */ +void nit__parser___nit__parser__ReduceAction125___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pannotationsnode1 /* var pannotationsnode1: nullable Object */; +val* var_pexterncallnode1 /* var pexterncallnode1: nullable Object */; long var3 /* : Int */; long var4 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -6462,9 +5970,9 @@ var_nodearraylist2 = var1; var2 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var2; -var_pannotationsnode1 = var_nodearraylist2; -var_node_list = var_pannotationsnode1; -var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncallnode1 = var_nodearraylist3; +var_node_list = var_pexterncallnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var4 = nit___nit__Parser___go_to(var_p, var3); } @@ -6473,113 +5981,130 @@ nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work } RET_LABEL:; } -/* method parser#ReduceAction84#action for (self: ReduceAction84, Parser) */ -void nit__parser___nit__parser__ReduceAction84___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction126#action for (self: ReduceAction126, Parser) */ +void nit__parser___nit__parser__ReduceAction126___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pannotationsnode1 /* var pannotationsnode1: nullable Object */; -long var5 /* : Int */; -long var6 /* : Int */; +val* var_pexterncallnode1 /* var pexterncallnode1: nullable Object */; +long var1 /* : Int */; +long var2 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var3; +var_node_list = ((val*)NULL); { -var4 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var4; -var_pannotationsnode1 = var_nodearraylist3; -var_node_list = var_pannotationsnode1; -var5 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist1 = var; +var_pexterncallnode1 = var_nodearraylist1; +var_node_list = var_pexterncallnode1; +var1 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var6 = nit___nit__Parser___go_to(var_p, var5); +var2 = nit___nit__Parser___go_to(var_p, var1); } { -nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var2, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction87#action for (self: ReduceAction87, Parser) */ -void nit__parser___nit__parser__ReduceAction87___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction128#action for (self: ReduceAction128, Parser) */ +void nit__parser___nit__parser__ReduceAction128___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pannotationsnode1 /* var pannotationsnode1: nullable Object */; +val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : ASuperExternCall */; +val* var_pexterncallnode1 /* var pexterncallnode1: nullable ASuperExternCall */; +long var3 /* : Int */; long var4 /* : Int */; -long var5 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = var; +var_tkwsupernode2 = var_nodearraylist1; +/* isa nullable TKwsuper */ +cltype = type_nullable__nit__TKwsuper.color; +idtype = type_nullable__nit__TKwsuper.id; +if(var_tkwsupernode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_tkwsupernode2&3)?type_info[((long)var_tkwsupernode2&3)]:var_tkwsupernode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_tkwsupernode2&3)?type_info[((long)var_tkwsupernode2&3)]:var_tkwsupernode2->type)->type_table[cltype] == idtype; } -var_nodearraylist2 = var2; +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4481); +fatal_exit(1); +} +var2 = NEW_nit__ASuperExternCall(&type_nit__ASuperExternCall); { -var3 = nit___nit__Parser___pop(var_p); +nit__parser_prod___ASuperExternCall___init_asuperexterncall(var2, var_tkwsupernode2); /* Direct call parser_prod#ASuperExternCall#init_asuperexterncall on */ } -var_nodearraylist1 = var3; -var_pannotationsnode1 = var_nodearraylist3; -var_node_list = var_pannotationsnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncallnode1 = var2; +var_node_list = var_pexterncallnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var4 = nit___nit__Parser___go_to(var_p, var3); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction88#action for (self: ReduceAction88, Parser) */ -void nit__parser___nit__parser__ReduceAction88___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction129#action for (self: ReduceAction129, Parser) */ +void nit__parser___nit__parser__ReduceAction129___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : APublicVisibility */; -val* var2 /* : null */; -val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable APublicVisibility */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_pmethidnode2 /* var pmethidnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : ALocalPropExternCall */; +val* var_pexterncallnode1 /* var pexterncallnode1: nullable ALocalPropExternCall */; long var3 /* : Int */; long var4 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -var1 = NEW_nit__APublicVisibility(&type_nit__APublicVisibility); -var2 = NULL; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var; +var_pmethidnode2 = var_nodearraylist1; +/* isa nullable AMethid */ +cltype = type_nullable__nit__AMethid.color; +idtype = type_nullable__nit__AMethid.id; +if(var_pmethidnode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_pmethidnode2&3)?type_info[((long)var_pmethidnode2&3)]:var_pmethidnode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_pmethidnode2&3)?type_info[((long)var_pmethidnode2&3)]:var_pmethidnode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4496); +fatal_exit(1); +} +var2 = NEW_nit__ALocalPropExternCall(&type_nit__ALocalPropExternCall); { -nit__parser_prod___APublicVisibility___init_apublicvisibility(var1, var2); /* Direct call parser_prod#APublicVisibility#init_apublicvisibility on */ +nit__parser_prod___ALocalPropExternCall___init_alocalpropexterncall(var2, var_pmethidnode2); /* Direct call parser_prod#ALocalPropExternCall#init_alocalpropexterncall on */ } -var_pvisibilitynode1 = var1; -var_node_list = var_pvisibilitynode1; -var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncallnode1 = var2; +var_node_list = var_pexterncallnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var4 = nit___nit__Parser___go_to(var_p, var3); } @@ -6588,26 +6113,38 @@ nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work } RET_LABEL:; } -/* method parser#ReduceAction89#action for (self: ReduceAction89, Parser) */ -void nit__parser___nit__parser__ReduceAction89___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction130#action for (self: ReduceAction130, Parser) */ +void nit__parser___nit__parser__ReduceAction130___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwpublicnode2 /* var tkwpublicnode2: nullable Object */; +val* var_ptypenode2 /* var ptypenode2: nullable Object */; short int var3 /* : Bool */; int cltype; int idtype; -val* var4 /* : APublicVisibility */; -val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable APublicVisibility */; -long var5 /* : Int */; -long var6 /* : Int */; +val* var_tdotnode3 /* var tdotnode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var_pmethidnode4 /* var pmethidnode4: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var10 /* : AFullPropExternCall */; +val* var_pexterncallnode1 /* var pexterncallnode1: nullable AFullPropExternCall */; +long var11 /* : Int */; +long var12 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -6616,1205 +6153,1429 @@ var_nodearraylist2 = var1; var2 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var2; -var_tkwpublicnode2 = var_nodearraylist1; -/* isa nullable TKwpublic */ -cltype = type_nullable__nit__TKwpublic.color; -idtype = type_nullable__nit__TKwpublic.id; -if(var_tkwpublicnode2 == NULL) { +var_ptypenode2 = var_nodearraylist1; +/* isa nullable AType */ +cltype = type_nullable__nit__AType.color; +idtype = type_nullable__nit__AType.id; +if(var_ptypenode2 == NULL) { var3 = 1; } else { -if(cltype >= var_tkwpublicnode2->type->table_size) { +if(cltype >= (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->table_size) { var3 = 0; } else { -var3 = var_tkwpublicnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4154); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4513); +fatal_exit(1); +} +var_tdotnode3 = var_nodearraylist2; +/* isa nullable TDot */ +cltype5 = type_nullable__nit__TDot.color; +idtype6 = type_nullable__nit__TDot.id; +if(var_tdotnode3 == NULL) { +var4 = 1; +} else { +if(cltype5 >= (((long)var_tdotnode3&3)?type_info[((long)var_tdotnode3&3)]:var_tdotnode3->type)->table_size) { +var4 = 0; +} else { +var4 = (((long)var_tdotnode3&3)?type_info[((long)var_tdotnode3&3)]:var_tdotnode3->type)->type_table[cltype5] == idtype6; +} } -var4 = NEW_nit__APublicVisibility(&type_nit__APublicVisibility); +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4515); +fatal_exit(1); +} +var_pmethidnode4 = var_nodearraylist3; +/* isa nullable AMethid */ +cltype8 = type_nullable__nit__AMethid.color; +idtype9 = type_nullable__nit__AMethid.id; +if(var_pmethidnode4 == NULL) { +var7 = 1; +} else { +if(cltype8 >= (((long)var_pmethidnode4&3)?type_info[((long)var_pmethidnode4&3)]:var_pmethidnode4->type)->table_size) { +var7 = 0; +} else { +var7 = (((long)var_pmethidnode4&3)?type_info[((long)var_pmethidnode4&3)]:var_pmethidnode4->type)->type_table[cltype8] == idtype9; +} +} +if (unlikely(!var7)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4517); +fatal_exit(1); +} +var10 = NEW_nit__AFullPropExternCall(&type_nit__AFullPropExternCall); { -nit__parser_prod___APublicVisibility___init_apublicvisibility(var4, var_tkwpublicnode2); /* Direct call parser_prod#APublicVisibility#init_apublicvisibility on */ +nit__parser_prod___AFullPropExternCall___init_afullpropexterncall(var10, var_ptypenode2, var_tdotnode3, var_pmethidnode4); /* Direct call parser_prod#AFullPropExternCall#init_afullpropexterncall on */ } -var_pvisibilitynode1 = var4; -var_node_list = var_pvisibilitynode1; -var5 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncallnode1 = var10; +var_node_list = var_pexterncallnode1; +var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var6 = nit___nit__Parser___go_to(var_p, var5); +var12 = nit___nit__Parser___go_to(var_p, var11); } { -nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var12, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction90#action for (self: ReduceAction90, Parser) */ -void nit__parser___nit__parser__ReduceAction90___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction131#action for (self: ReduceAction131, Parser) */ +void nit__parser___nit__parser__ReduceAction131___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwprivatenode2 /* var tkwprivatenode2: nullable Object */; -short int var3 /* : Bool */; +val* var_ptypenode2 /* var ptypenode2: nullable Object */; +short int var1 /* : Bool */; int cltype; int idtype; -val* var4 /* : APrivateVisibility */; -val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable APrivateVisibility */; -long var5 /* : Int */; -long var6 /* : Int */; +val* var2 /* : AInitPropExternCall */; +val* var_pexterncallnode1 /* var pexterncallnode1: nullable AInitPropExternCall */; +long var3 /* : Int */; +long var4 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var1; +var_node_list = ((val*)NULL); { -var2 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; -var_tkwprivatenode2 = var_nodearraylist1; -/* isa nullable TKwprivate */ -cltype = type_nullable__nit__TKwprivate.color; -idtype = type_nullable__nit__TKwprivate.id; -if(var_tkwprivatenode2 == NULL) { -var3 = 1; +var_nodearraylist1 = var; +var_ptypenode2 = var_nodearraylist1; +/* isa nullable AType */ +cltype = type_nullable__nit__AType.color; +idtype = type_nullable__nit__AType.id; +if(var_ptypenode2 == NULL) { +var1 = 1; } else { -if(cltype >= var_tkwprivatenode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->table_size) { +var1 = 0; } else { -var3 = var_tkwprivatenode2->type->type_table[cltype] == idtype; +var1 = (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var3)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4170); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4534); +fatal_exit(1); } -var4 = NEW_nit__APrivateVisibility(&type_nit__APrivateVisibility); +var2 = NEW_nit__AInitPropExternCall(&type_nit__AInitPropExternCall); { -nit__parser_prod___APrivateVisibility___init_aprivatevisibility(var4, var_tkwprivatenode2); /* Direct call parser_prod#APrivateVisibility#init_aprivatevisibility on */ +nit__parser_prod___AInitPropExternCall___init_ainitpropexterncall(var2, var_ptypenode2); /* Direct call parser_prod#AInitPropExternCall#init_ainitpropexterncall on */ } -var_pvisibilitynode1 = var4; -var_node_list = var_pvisibilitynode1; -var5 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncallnode1 = var2; +var_node_list = var_pexterncallnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var6 = nit___nit__Parser___go_to(var_p, var5); +var4 = nit___nit__Parser___go_to(var_p, var3); } { -nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction91#action for (self: ReduceAction91, Parser) */ -void nit__parser___nit__parser__ReduceAction91___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction132#action for (self: ReduceAction132, Parser) */ +void nit__parser___nit__parser__ReduceAction132___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var2 /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwprotectednode2 /* var tkwprotectednode2: nullable Object */; -short int var3 /* : Bool */; +val* var_ptypenode2 /* var ptypenode2: nullable Object */; +short int var9 /* : Bool */; int cltype; int idtype; -val* var4 /* : AProtectedVisibility */; -val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable AProtectedVisibility */; -long var5 /* : Int */; -long var6 /* : Int */; +val* var_tdotnode3 /* var tdotnode3: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_tkwasnode4 /* var tkwasnode4: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_ptypenode5 /* var ptypenode5: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var19 /* : ACastAsExternCall */; +val* var_pexterncallnode1 /* var pexterncallnode1: nullable ACastAsExternCall */; +long var20 /* : Int */; +long var21 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist9 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist8 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; -var_tkwprotectednode2 = var_nodearraylist1; -/* isa nullable TKwprotected */ -cltype = type_nullable__nit__TKwprotected.color; -idtype = type_nullable__nit__TKwprotected.id; -if(var_tkwprotectednode2 == NULL) { -var3 = 1; -} else { -if(cltype >= var_tkwprotectednode2->type->table_size) { -var3 = 0; -} else { -var3 = var_tkwprotectednode2->type->type_table[cltype] == idtype; +var_nodearraylist7 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); } +var_nodearraylist6 = var3; +{ +var4 = nit___nit__Parser___pop(var_p); } -if (unlikely(!var3)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4186); -show_backtrace(1); +var_nodearraylist5 = var4; +{ +var5 = nit___nit__Parser___pop(var_p); } -var4 = NEW_nit__AProtectedVisibility(&type_nit__AProtectedVisibility); +var_nodearraylist4 = var5; { -nit__parser_prod___AProtectedVisibility___init_aprotectedvisibility(var4, var_tkwprotectednode2); /* Direct call parser_prod#AProtectedVisibility#init_aprotectedvisibility on */ +var6 = nit___nit__Parser___pop(var_p); } -var_pvisibilitynode1 = var4; -var_node_list = var_pvisibilitynode1; -var5 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist3 = var6; { -var6 = nit___nit__Parser___go_to(var_p, var5); +var7 = nit___nit__Parser___pop(var_p); } +var_nodearraylist2 = var7; { -nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on */ +var8 = nit___nit__Parser___pop(var_p); } -RET_LABEL:; +var_nodearraylist1 = var8; +var_ptypenode2 = var_nodearraylist1; +/* isa nullable AType */ +cltype = type_nullable__nit__AType.color; +idtype = type_nullable__nit__AType.id; +if(var_ptypenode2 == NULL) { +var9 = 1; +} else { +if(cltype >= (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->table_size) { +var9 = 0; +} else { +var9 = (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->type_table[cltype] == idtype; } -/* method parser#ReduceAction92#action for (self: ReduceAction92, Parser) */ -void nit__parser___nit__parser__ReduceAction92___nit__parser_work__ReduceAction__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwintrudenode2 /* var tkwintrudenode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var4 /* : AIntrudeVisibility */; -val* var_pvisibilitynode1 /* var pvisibilitynode1: nullable AIntrudeVisibility */; -long var5 /* : Int */; -long var6 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); +if (unlikely(!var9)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4557); +fatal_exit(1); } -var_nodearraylist1 = var2; -var_tkwintrudenode2 = var_nodearraylist1; -/* isa nullable TKwintrude */ -cltype = type_nullable__nit__TKwintrude.color; -idtype = type_nullable__nit__TKwintrude.id; -if(var_tkwintrudenode2 == NULL) { -var3 = 1; +var_tdotnode3 = var_nodearraylist2; +/* isa nullable TDot */ +cltype11 = type_nullable__nit__TDot.color; +idtype12 = type_nullable__nit__TDot.id; +if(var_tdotnode3 == NULL) { +var10 = 1; } else { -if(cltype >= var_tkwintrudenode2->type->table_size) { -var3 = 0; +if(cltype11 >= (((long)var_tdotnode3&3)?type_info[((long)var_tdotnode3&3)]:var_tdotnode3->type)->table_size) { +var10 = 0; +} else { +var10 = (((long)var_tdotnode3&3)?type_info[((long)var_tdotnode3&3)]:var_tdotnode3->type)->type_table[cltype11] == idtype12; +} +} +if (unlikely(!var10)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4559); +fatal_exit(1); +} +var_tkwasnode4 = var_nodearraylist3; +/* isa nullable TKwas */ +cltype14 = type_nullable__nit__TKwas.color; +idtype15 = type_nullable__nit__TKwas.id; +if(var_tkwasnode4 == NULL) { +var13 = 1; +} else { +if(cltype14 >= (((long)var_tkwasnode4&3)?type_info[((long)var_tkwasnode4&3)]:var_tkwasnode4->type)->table_size) { +var13 = 0; +} else { +var13 = (((long)var_tkwasnode4&3)?type_info[((long)var_tkwasnode4&3)]:var_tkwasnode4->type)->type_table[cltype14] == idtype15; +} +} +if (unlikely(!var13)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4561); +fatal_exit(1); +} +var_ptypenode5 = var_nodearraylist7; +/* isa nullable AType */ +cltype17 = type_nullable__nit__AType.color; +idtype18 = type_nullable__nit__AType.id; +if(var_ptypenode5 == NULL) { +var16 = 1; +} else { +if(cltype17 >= (((long)var_ptypenode5&3)?type_info[((long)var_ptypenode5&3)]:var_ptypenode5->type)->table_size) { +var16 = 0; } else { -var3 = var_tkwintrudenode2->type->type_table[cltype] == idtype; +var16 = (((long)var_ptypenode5&3)?type_info[((long)var_ptypenode5&3)]:var_ptypenode5->type)->type_table[cltype17] == idtype18; } } -if (unlikely(!var3)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4202); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4563); +fatal_exit(1); } -var4 = NEW_nit__AIntrudeVisibility(&type_nit__AIntrudeVisibility); +var19 = NEW_nit__ACastAsExternCall(&type_nit__ACastAsExternCall); { -nit__parser_prod___AIntrudeVisibility___init_aintrudevisibility(var4, var_tkwintrudenode2); /* Direct call parser_prod#AIntrudeVisibility#init_aintrudevisibility on */ +nit__parser_prod___ACastAsExternCall___init_acastasexterncall(var19, var_ptypenode2, var_tdotnode3, var_tkwasnode4, var_ptypenode5); /* Direct call parser_prod#ACastAsExternCall#init_acastasexterncall on */ } -var_pvisibilitynode1 = var4; -var_node_list = var_pvisibilitynode1; -var5 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncallnode1 = var19; +var_node_list = var_pexterncallnode1; +var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var6 = nit___nit__Parser___go_to(var_p, var5); +var21 = nit___nit__Parser___go_to(var_p, var20); } { -nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction93#action for (self: ReduceAction93, Parser) */ -void nit__parser___nit__parser__ReduceAction93___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction133#action for (self: ReduceAction133, Parser) */ +void nit__parser___nit__parser__ReduceAction133___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var1 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tplusnode2 /* var tplusnode2: nullable Object */; -short int var2 /* : Bool */; +val* var_ptypenode2 /* var ptypenode2: nullable Object */; +short int var5 /* : Bool */; int cltype; int idtype; -val* var3 /* : APlusMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable APlusMethid */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var_tdotnode3 /* var tdotnode3: nullable Object */; +short int var6 /* : Bool */; +int cltype7; +int idtype8; +val* var_tkwasnode4 /* var tkwasnode4: nullable Object */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var_ptypenode5 /* var ptypenode5: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var15 /* : ACastAsExternCall */; +val* var_pexterncallnode1 /* var pexterncallnode1: nullable ACastAsExternCall */; +long var16 /* : Int */; +long var17 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist5 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tplusnode2 = var_nodearraylist1; -/* isa nullable TPlus */ -cltype = type_nullable__nit__TPlus.color; -idtype = type_nullable__nit__TPlus.id; -if(var_tplusnode2 == NULL) { -var2 = 1; +var_nodearraylist4 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var3; +{ +var4 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var4; +var_ptypenode2 = var_nodearraylist1; +/* isa nullable AType */ +cltype = type_nullable__nit__AType.color; +idtype = type_nullable__nit__AType.id; +if(var_ptypenode2 == NULL) { +var5 = 1; } else { -if(cltype >= var_tplusnode2->type->table_size) { -var2 = 0; +if(cltype >= (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->table_size) { +var5 = 0; } else { -var2 = var_tplusnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var2)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4217); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4585); +fatal_exit(1); } -var3 = NEW_nit__APlusMethid(&type_nit__APlusMethid); -{ -nit__parser_prod___APlusMethid___init_aplusmethid(var3, var_tplusnode2); /* Direct call parser_prod#APlusMethid#init_aplusmethid on */ +var_tdotnode3 = var_nodearraylist2; +/* isa nullable TDot */ +cltype7 = type_nullable__nit__TDot.color; +idtype8 = type_nullable__nit__TDot.id; +if(var_tdotnode3 == NULL) { +var6 = 1; +} else { +if(cltype7 >= (((long)var_tdotnode3&3)?type_info[((long)var_tdotnode3&3)]:var_tdotnode3->type)->table_size) { +var6 = 0; +} else { +var6 = (((long)var_tdotnode3&3)?type_info[((long)var_tdotnode3&3)]:var_tdotnode3->type)->type_table[cltype7] == idtype8; } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var5 = nit___nit__Parser___go_to(var_p, var4); } -{ -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +if (unlikely(!var6)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4587); +fatal_exit(1); } -RET_LABEL:; +var_tkwasnode4 = var_nodearraylist3; +/* isa nullable TKwas */ +cltype10 = type_nullable__nit__TKwas.color; +idtype11 = type_nullable__nit__TKwas.id; +if(var_tkwasnode4 == NULL) { +var9 = 1; +} else { +if(cltype10 >= (((long)var_tkwasnode4&3)?type_info[((long)var_tkwasnode4&3)]:var_tkwasnode4->type)->table_size) { +var9 = 0; +} else { +var9 = (((long)var_tkwasnode4&3)?type_info[((long)var_tkwasnode4&3)]:var_tkwasnode4->type)->type_table[cltype10] == idtype11; } -/* method parser#ReduceAction94#action for (self: ReduceAction94, Parser) */ -void nit__parser___nit__parser__ReduceAction94___nit__parser_work__ReduceAction__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tminusnode2 /* var tminusnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AMinusMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable AMinusMethid */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tminusnode2 = var_nodearraylist1; -/* isa nullable TMinus */ -cltype = type_nullable__nit__TMinus.color; -idtype = type_nullable__nit__TMinus.id; -if(var_tminusnode2 == NULL) { -var2 = 1; +if (unlikely(!var9)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4589); +fatal_exit(1); +} +var_ptypenode5 = var_nodearraylist5; +/* isa nullable AType */ +cltype13 = type_nullable__nit__AType.color; +idtype14 = type_nullable__nit__AType.id; +if(var_ptypenode5 == NULL) { +var12 = 1; } else { -if(cltype >= var_tminusnode2->type->table_size) { -var2 = 0; +if(cltype13 >= (((long)var_ptypenode5&3)?type_info[((long)var_ptypenode5&3)]:var_ptypenode5->type)->table_size) { +var12 = 0; } else { -var2 = var_tminusnode2->type->type_table[cltype] == idtype; +var12 = (((long)var_ptypenode5&3)?type_info[((long)var_ptypenode5&3)]:var_ptypenode5->type)->type_table[cltype13] == idtype14; } } -if (unlikely(!var2)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4232); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4591); +fatal_exit(1); } -var3 = NEW_nit__AMinusMethid(&type_nit__AMinusMethid); +var15 = NEW_nit__ACastAsExternCall(&type_nit__ACastAsExternCall); { -nit__parser_prod___AMinusMethid___init_aminusmethid(var3, var_tminusnode2); /* Direct call parser_prod#AMinusMethid#init_aminusmethid on */ +nit__parser_prod___ACastAsExternCall___init_acastasexterncall(var15, var_ptypenode2, var_tdotnode3, var_tkwasnode4, var_ptypenode5); /* Direct call parser_prod#ACastAsExternCall#init_acastasexterncall on */ } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncallnode1 = var15; +var_node_list = var_pexterncallnode1; +var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var17 = nit___nit__Parser___go_to(var_p, var16); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction95#action for (self: ReduceAction95, Parser) */ -void nit__parser___nit__parser__ReduceAction95___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction134#action for (self: ReduceAction134, Parser) */ +void nit__parser___nit__parser__ReduceAction134___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var1 /* : nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tstarnode2 /* var tstarnode2: nullable Object */; -short int var2 /* : Bool */; +val* var_ptypenode2 /* var ptypenode2: nullable Object */; +short int var9 /* : Bool */; int cltype; int idtype; -val* var3 /* : AStarMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable AStarMethid */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var_tkwasnode3 /* var tkwasnode3: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_tkwnullablenode4 /* var tkwnullablenode4: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var16 /* : AAsNullableExternCall */; +val* var_pexterncallnode1 /* var pexterncallnode1: nullable AAsNullableExternCall */; +long var17 /* : Int */; +long var18 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tstarnode2 = var_nodearraylist1; -/* isa nullable TStar */ -cltype = type_nullable__nit__TStar.color; -idtype = type_nullable__nit__TStar.id; -if(var_tstarnode2 == NULL) { -var2 = 1; -} else { -if(cltype >= var_tstarnode2->type->table_size) { -var2 = 0; -} else { -var2 = var_tstarnode2->type->type_table[cltype] == idtype; +var_nodearraylist9 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } +var_nodearraylist8 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); } -if (unlikely(!var2)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4247); -show_backtrace(1); +var_nodearraylist7 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); } -var3 = NEW_nit__AStarMethid(&type_nit__AStarMethid); +var_nodearraylist6 = var3; { -nit__parser_prod___AStarMethid___init_astarmethid(var3, var_tstarnode2); /* Direct call parser_prod#AStarMethid#init_astarmethid on */ +var4 = nit___nit__Parser___pop(var_p); } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist5 = var4; { -var5 = nit___nit__Parser___go_to(var_p, var4); +var5 = nit___nit__Parser___pop(var_p); } +var_nodearraylist4 = var5; { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +var6 = nit___nit__Parser___pop(var_p); } -RET_LABEL:; +var_nodearraylist3 = var6; +{ +var7 = nit___nit__Parser___pop(var_p); } -/* method parser#ReduceAction96#action for (self: ReduceAction96, Parser) */ -void nit__parser___nit__parser__ReduceAction96___nit__parser_work__ReduceAction__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tstarstarnode2 /* var tstarstarnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AStarstarMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable AStarstarMethid */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +var_nodearraylist2 = var7; { -var1 = nit___nit__Parser___pop(var_p); +var8 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tstarstarnode2 = var_nodearraylist1; -/* isa nullable TStarstar */ -cltype = type_nullable__nit__TStarstar.color; -idtype = type_nullable__nit__TStarstar.id; -if(var_tstarstarnode2 == NULL) { -var2 = 1; +var_nodearraylist1 = var8; +var_ptypenode2 = var_nodearraylist1; +/* isa nullable AType */ +cltype = type_nullable__nit__AType.color; +idtype = type_nullable__nit__AType.id; +if(var_ptypenode2 == NULL) { +var9 = 1; } else { -if(cltype >= var_tstarstarnode2->type->table_size) { -var2 = 0; +if(cltype >= (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->table_size) { +var9 = 0; } else { -var2 = var_tstarstarnode2->type->type_table[cltype] == idtype; +var9 = (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var2)) { +if (unlikely(!var9)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4617); +fatal_exit(1); +} +var_tkwasnode3 = var_nodearraylist3; +/* isa nullable TKwas */ +cltype11 = type_nullable__nit__TKwas.color; +idtype12 = type_nullable__nit__TKwas.id; +if(var_tkwasnode3 == NULL) { +var10 = 1; +} else { +if(cltype11 >= (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->table_size) { +var10 = 0; +} else { +var10 = (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->type_table[cltype11] == idtype12; +} +} +if (unlikely(!var10)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4619); +fatal_exit(1); +} +var_tkwnullablenode4 = var_nodearraylist7; +/* isa nullable TKwnullable */ +cltype14 = type_nullable__nit__TKwnullable.color; +idtype15 = type_nullable__nit__TKwnullable.id; +if(var_tkwnullablenode4 == NULL) { +var13 = 1; +} else { +if(cltype14 >= (((long)var_tkwnullablenode4&3)?type_info[((long)var_tkwnullablenode4&3)]:var_tkwnullablenode4->type)->table_size) { +var13 = 0; +} else { +var13 = (((long)var_tkwnullablenode4&3)?type_info[((long)var_tkwnullablenode4&3)]:var_tkwnullablenode4->type)->type_table[cltype14] == idtype15; +} +} +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4262); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4621); +fatal_exit(1); } -var3 = NEW_nit__AStarstarMethid(&type_nit__AStarstarMethid); +var16 = NEW_nit__AAsNullableExternCall(&type_nit__AAsNullableExternCall); { -nit__parser_prod___AStarstarMethid___init_astarstarmethid(var3, var_tstarstarnode2); /* Direct call parser_prod#AStarstarMethid#init_astarstarmethid on */ +nit__parser_prod___AAsNullableExternCall___init_aasnullableexterncall(var16, var_ptypenode2, var_tkwasnode3, var_tkwnullablenode4); /* Direct call parser_prod#AAsNullableExternCall#init_aasnullableexterncall on */ } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncallnode1 = var16; +var_node_list = var_pexterncallnode1; +var17 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var18 = nit___nit__Parser___go_to(var_p, var17); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var18, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction97#action for (self: ReduceAction97, Parser) */ -void nit__parser___nit__parser__ReduceAction97___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction135#action for (self: ReduceAction135, Parser) */ +void nit__parser___nit__parser__ReduceAction135___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var1 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tslashnode2 /* var tslashnode2: nullable Object */; -short int var2 /* : Bool */; +val* var_ptypenode2 /* var ptypenode2: nullable Object */; +short int var5 /* : Bool */; int cltype; int idtype; -val* var3 /* : ASlashMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable ASlashMethid */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var_tkwasnode3 /* var tkwasnode3: nullable Object */; +short int var6 /* : Bool */; +int cltype7; +int idtype8; +val* var_tkwnullablenode4 /* var tkwnullablenode4: nullable Object */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var12 /* : AAsNullableExternCall */; +val* var_pexterncallnode1 /* var pexterncallnode1: nullable AAsNullableExternCall */; +long var13 /* : Int */; +long var14 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist5 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tslashnode2 = var_nodearraylist1; -/* isa nullable TSlash */ -cltype = type_nullable__nit__TSlash.color; -idtype = type_nullable__nit__TSlash.id; -if(var_tslashnode2 == NULL) { -var2 = 1; +var_nodearraylist4 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var3; +{ +var4 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var4; +var_ptypenode2 = var_nodearraylist1; +/* isa nullable AType */ +cltype = type_nullable__nit__AType.color; +idtype = type_nullable__nit__AType.id; +if(var_ptypenode2 == NULL) { +var5 = 1; } else { -if(cltype >= var_tslashnode2->type->table_size) { -var2 = 0; +if(cltype >= (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->table_size) { +var5 = 0; } else { -var2 = var_tslashnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var2)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4277); -show_backtrace(1); -} -var3 = NEW_nit__ASlashMethid(&type_nit__ASlashMethid); -{ -nit__parser_prod___ASlashMethid___init_aslashmethid(var3, var_tslashnode2); /* Direct call parser_prod#ASlashMethid#init_aslashmethid on */ -} -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var5 = nit___nit__Parser___go_to(var_p, var4); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4642); +fatal_exit(1); } -{ -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +var_tkwasnode3 = var_nodearraylist3; +/* isa nullable TKwas */ +cltype7 = type_nullable__nit__TKwas.color; +idtype8 = type_nullable__nit__TKwas.id; +if(var_tkwasnode3 == NULL) { +var6 = 1; +} else { +if(cltype7 >= (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->table_size) { +var6 = 0; +} else { +var6 = (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->type_table[cltype7] == idtype8; } -RET_LABEL:; } -/* method parser#ReduceAction98#action for (self: ReduceAction98, Parser) */ -void nit__parser___nit__parser__ReduceAction98___nit__parser_work__ReduceAction__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tpercentnode2 /* var tpercentnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : APercentMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable APercentMethid */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); +if (unlikely(!var6)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4644); +fatal_exit(1); } -var_nodearraylist1 = var1; -var_tpercentnode2 = var_nodearraylist1; -/* isa nullable TPercent */ -cltype = type_nullable__nit__TPercent.color; -idtype = type_nullable__nit__TPercent.id; -if(var_tpercentnode2 == NULL) { -var2 = 1; +var_tkwnullablenode4 = var_nodearraylist5; +/* isa nullable TKwnullable */ +cltype10 = type_nullable__nit__TKwnullable.color; +idtype11 = type_nullable__nit__TKwnullable.id; +if(var_tkwnullablenode4 == NULL) { +var9 = 1; } else { -if(cltype >= var_tpercentnode2->type->table_size) { -var2 = 0; +if(cltype10 >= (((long)var_tkwnullablenode4&3)?type_info[((long)var_tkwnullablenode4&3)]:var_tkwnullablenode4->type)->table_size) { +var9 = 0; } else { -var2 = var_tpercentnode2->type->type_table[cltype] == idtype; +var9 = (((long)var_tkwnullablenode4&3)?type_info[((long)var_tkwnullablenode4&3)]:var_tkwnullablenode4->type)->type_table[cltype10] == idtype11; } } -if (unlikely(!var2)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4292); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4646); +fatal_exit(1); } -var3 = NEW_nit__APercentMethid(&type_nit__APercentMethid); +var12 = NEW_nit__AAsNullableExternCall(&type_nit__AAsNullableExternCall); { -nit__parser_prod___APercentMethid___init_apercentmethid(var3, var_tpercentnode2); /* Direct call parser_prod#APercentMethid#init_apercentmethid on */ +nit__parser_prod___AAsNullableExternCall___init_aasnullableexterncall(var12, var_ptypenode2, var_tkwasnode3, var_tkwnullablenode4); /* Direct call parser_prod#AAsNullableExternCall#init_aasnullableexterncall on */ } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncallnode1 = var12; +var_node_list = var_pexterncallnode1; +var13 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var14 = nit___nit__Parser___go_to(var_p, var13); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var14, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction99#action for (self: ReduceAction99, Parser) */ -void nit__parser___nit__parser__ReduceAction99___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction136#action for (self: ReduceAction136, Parser) */ +void nit__parser___nit__parser__ReduceAction136___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var1 /* : nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var9 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_teqnode2 /* var teqnode2: nullable Object */; -short int var2 /* : Bool */; +val* var_ptypenode2 /* var ptypenode2: nullable Object */; +short int var11 /* : Bool */; int cltype; int idtype; -val* var3 /* : AEqMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable AEqMethid */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var_tkwasnode3 /* var tkwasnode3: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var_tkwnotnode4 /* var tkwnotnode4: nullable Object */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var_tkwnullablenode5 /* var tkwnullablenode5: nullable Object */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var21 /* : AAsNotNullableExternCall */; +val* var_pexterncallnode1 /* var pexterncallnode1: nullable AAsNotNullableExternCall */; +long var22 /* : Int */; +long var23 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist11 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_teqnode2 = var_nodearraylist1; -/* isa nullable TEq */ -cltype = type_nullable__nit__TEq.color; -idtype = type_nullable__nit__TEq.id; -if(var_teqnode2 == NULL) { -var2 = 1; -} else { -if(cltype >= var_teqnode2->type->table_size) { -var2 = 0; -} else { -var2 = var_teqnode2->type->type_table[cltype] == idtype; +var_nodearraylist10 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); } +var_nodearraylist9 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); } -if (unlikely(!var2)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4307); -show_backtrace(1); +var_nodearraylist8 = var3; +{ +var4 = nit___nit__Parser___pop(var_p); } -var3 = NEW_nit__AEqMethid(&type_nit__AEqMethid); +var_nodearraylist7 = var4; { -nit__parser_prod___AEqMethid___init_aeqmethid(var3, var_teqnode2); /* Direct call parser_prod#AEqMethid#init_aeqmethid on */ +var5 = nit___nit__Parser___pop(var_p); } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist6 = var5; { -var5 = nit___nit__Parser___go_to(var_p, var4); +var6 = nit___nit__Parser___pop(var_p); } +var_nodearraylist5 = var6; { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +var7 = nit___nit__Parser___pop(var_p); } -RET_LABEL:; +var_nodearraylist4 = var7; +{ +var8 = nit___nit__Parser___pop(var_p); } -/* method parser#ReduceAction100#action for (self: ReduceAction100, Parser) */ -void nit__parser___nit__parser__ReduceAction100___nit__parser_work__ReduceAction__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tnenode2 /* var tnenode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : ANeMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable ANeMethid */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +var_nodearraylist3 = var8; { -var1 = nit___nit__Parser___pop(var_p); +var9 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tnenode2 = var_nodearraylist1; -/* isa nullable TNe */ -cltype = type_nullable__nit__TNe.color; -idtype = type_nullable__nit__TNe.id; -if(var_tnenode2 == NULL) { -var2 = 1; +var_nodearraylist2 = var9; +{ +var10 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var10; +var_ptypenode2 = var_nodearraylist1; +/* isa nullable AType */ +cltype = type_nullable__nit__AType.color; +idtype = type_nullable__nit__AType.id; +if(var_ptypenode2 == NULL) { +var11 = 1; } else { -if(cltype >= var_tnenode2->type->table_size) { -var2 = 0; +if(cltype >= (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->table_size) { +var11 = 0; } else { -var2 = var_tnenode2->type->type_table[cltype] == idtype; +var11 = (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var2)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4322); -show_backtrace(1); -} -var3 = NEW_nit__ANeMethid(&type_nit__ANeMethid); -{ -nit__parser_prod___ANeMethid___init_anemethid(var3, var_tnenode2); /* Direct call parser_prod#ANeMethid#init_anemethid on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4673); +fatal_exit(1); } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var5 = nit___nit__Parser___go_to(var_p, var4); +var_tkwasnode3 = var_nodearraylist3; +/* isa nullable TKwas */ +cltype13 = type_nullable__nit__TKwas.color; +idtype14 = type_nullable__nit__TKwas.id; +if(var_tkwasnode3 == NULL) { +var12 = 1; +} else { +if(cltype13 >= (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->table_size) { +var12 = 0; +} else { +var12 = (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->type_table[cltype13] == idtype14; } -{ -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ } -RET_LABEL:; +if (unlikely(!var12)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4675); +fatal_exit(1); } -/* method parser#ReduceAction101#action for (self: ReduceAction101, Parser) */ -void nit__parser___nit__parser__ReduceAction101___nit__parser_work__ReduceAction__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tlenode2 /* var tlenode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : ALeMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable ALeMethid */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); +var_tkwnotnode4 = var_nodearraylist7; +/* isa nullable TKwnot */ +cltype16 = type_nullable__nit__TKwnot.color; +idtype17 = type_nullable__nit__TKwnot.id; +if(var_tkwnotnode4 == NULL) { +var15 = 1; +} else { +if(cltype16 >= (((long)var_tkwnotnode4&3)?type_info[((long)var_tkwnotnode4&3)]:var_tkwnotnode4->type)->table_size) { +var15 = 0; +} else { +var15 = (((long)var_tkwnotnode4&3)?type_info[((long)var_tkwnotnode4&3)]:var_tkwnotnode4->type)->type_table[cltype16] == idtype17; } -var_nodearraylist1 = var1; -var_tlenode2 = var_nodearraylist1; -/* isa nullable TLe */ -cltype = type_nullable__nit__TLe.color; -idtype = type_nullable__nit__TLe.id; -if(var_tlenode2 == NULL) { -var2 = 1; +} +if (unlikely(!var15)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4677); +fatal_exit(1); +} +var_tkwnullablenode5 = var_nodearraylist9; +/* isa nullable TKwnullable */ +cltype19 = type_nullable__nit__TKwnullable.color; +idtype20 = type_nullable__nit__TKwnullable.id; +if(var_tkwnullablenode5 == NULL) { +var18 = 1; } else { -if(cltype >= var_tlenode2->type->table_size) { -var2 = 0; +if(cltype19 >= (((long)var_tkwnullablenode5&3)?type_info[((long)var_tkwnullablenode5&3)]:var_tkwnullablenode5->type)->table_size) { +var18 = 0; } else { -var2 = var_tlenode2->type->type_table[cltype] == idtype; +var18 = (((long)var_tkwnullablenode5&3)?type_info[((long)var_tkwnullablenode5&3)]:var_tkwnullablenode5->type)->type_table[cltype19] == idtype20; } } -if (unlikely(!var2)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4337); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4679); +fatal_exit(1); } -var3 = NEW_nit__ALeMethid(&type_nit__ALeMethid); +var21 = NEW_nit__AAsNotNullableExternCall(&type_nit__AAsNotNullableExternCall); { -nit__parser_prod___ALeMethid___init_alemethid(var3, var_tlenode2); /* Direct call parser_prod#ALeMethid#init_alemethid on */ +nit__parser_prod___AAsNotNullableExternCall___init_aasnotnullableexterncall(var21, var_ptypenode2, var_tkwasnode3, var_tkwnotnode4, var_tkwnullablenode5); /* Direct call parser_prod#AAsNotNullableExternCall#init_aasnotnullableexterncall on */ } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncallnode1 = var21; +var_node_list = var_pexterncallnode1; +var22 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var23 = nit___nit__Parser___go_to(var_p, var22); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction102#action for (self: ReduceAction102, Parser) */ -void nit__parser___nit__parser__ReduceAction102___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction137#action for (self: ReduceAction137, Parser) */ +void nit__parser___nit__parser__ReduceAction137___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var1 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tgenode2 /* var tgenode2: nullable Object */; -short int var2 /* : Bool */; +val* var_ptypenode2 /* var ptypenode2: nullable Object */; +short int var7 /* : Bool */; int cltype; int idtype; -val* var3 /* : AGeMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable AGeMethid */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var_tkwasnode3 /* var tkwasnode3: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var_tkwnotnode4 /* var tkwnotnode4: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_tkwnullablenode5 /* var tkwnullablenode5: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var17 /* : AAsNotNullableExternCall */; +val* var_pexterncallnode1 /* var pexterncallnode1: nullable AAsNotNullableExternCall */; +long var18 /* : Int */; +long var19 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist7 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tgenode2 = var_nodearraylist1; -/* isa nullable TGe */ -cltype = type_nullable__nit__TGe.color; -idtype = type_nullable__nit__TGe.id; -if(var_tgenode2 == NULL) { -var2 = 1; +var_nodearraylist6 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist5 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist4 = var3; +{ +var4 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var4; +{ +var5 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var5; +{ +var6 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var6; +var_ptypenode2 = var_nodearraylist1; +/* isa nullable AType */ +cltype = type_nullable__nit__AType.color; +idtype = type_nullable__nit__AType.id; +if(var_ptypenode2 == NULL) { +var7 = 1; } else { -if(cltype >= var_tgenode2->type->table_size) { -var2 = 0; +if(cltype >= (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->table_size) { +var7 = 0; } else { -var2 = var_tgenode2->type->type_table[cltype] == idtype; +var7 = (((long)var_ptypenode2&3)?type_info[((long)var_ptypenode2&3)]:var_ptypenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var2)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4352); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4703); +fatal_exit(1); } -var3 = NEW_nit__AGeMethid(&type_nit__AGeMethid); -{ -nit__parser_prod___AGeMethid___init_agemethid(var3, var_tgenode2); /* Direct call parser_prod#AGeMethid#init_agemethid on */ +var_tkwasnode3 = var_nodearraylist3; +/* isa nullable TKwas */ +cltype9 = type_nullable__nit__TKwas.color; +idtype10 = type_nullable__nit__TKwas.id; +if(var_tkwasnode3 == NULL) { +var8 = 1; +} else { +if(cltype9 >= (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->table_size) { +var8 = 0; +} else { +var8 = (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->type_table[cltype9] == idtype10; } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var5 = nit___nit__Parser___go_to(var_p, var4); } -{ -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +if (unlikely(!var8)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4705); +fatal_exit(1); } -RET_LABEL:; +var_tkwnotnode4 = var_nodearraylist5; +/* isa nullable TKwnot */ +cltype12 = type_nullable__nit__TKwnot.color; +idtype13 = type_nullable__nit__TKwnot.id; +if(var_tkwnotnode4 == NULL) { +var11 = 1; +} else { +if(cltype12 >= (((long)var_tkwnotnode4&3)?type_info[((long)var_tkwnotnode4&3)]:var_tkwnotnode4->type)->table_size) { +var11 = 0; +} else { +var11 = (((long)var_tkwnotnode4&3)?type_info[((long)var_tkwnotnode4&3)]:var_tkwnotnode4->type)->type_table[cltype12] == idtype13; } -/* method parser#ReduceAction103#action for (self: ReduceAction103, Parser) */ -void nit__parser___nit__parser__ReduceAction103___nit__parser_work__ReduceAction__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tltnode2 /* var tltnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : ALtMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable ALtMethid */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tltnode2 = var_nodearraylist1; -/* isa nullable TLt */ -cltype = type_nullable__nit__TLt.color; -idtype = type_nullable__nit__TLt.id; -if(var_tltnode2 == NULL) { -var2 = 1; +if (unlikely(!var11)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4707); +fatal_exit(1); +} +var_tkwnullablenode5 = var_nodearraylist7; +/* isa nullable TKwnullable */ +cltype15 = type_nullable__nit__TKwnullable.color; +idtype16 = type_nullable__nit__TKwnullable.id; +if(var_tkwnullablenode5 == NULL) { +var14 = 1; } else { -if(cltype >= var_tltnode2->type->table_size) { -var2 = 0; +if(cltype15 >= (((long)var_tkwnullablenode5&3)?type_info[((long)var_tkwnullablenode5&3)]:var_tkwnullablenode5->type)->table_size) { +var14 = 0; } else { -var2 = var_tltnode2->type->type_table[cltype] == idtype; +var14 = (((long)var_tkwnullablenode5&3)?type_info[((long)var_tkwnullablenode5&3)]:var_tkwnullablenode5->type)->type_table[cltype15] == idtype16; } } -if (unlikely(!var2)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4367); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4709); +fatal_exit(1); } -var3 = NEW_nit__ALtMethid(&type_nit__ALtMethid); +var17 = NEW_nit__AAsNotNullableExternCall(&type_nit__AAsNotNullableExternCall); { -nit__parser_prod___ALtMethid___init_altmethid(var3, var_tltnode2); /* Direct call parser_prod#ALtMethid#init_altmethid on */ +nit__parser_prod___AAsNotNullableExternCall___init_aasnotnullableexterncall(var17, var_ptypenode2, var_tkwasnode3, var_tkwnotnode4, var_tkwnullablenode5); /* Direct call parser_prod#AAsNotNullableExternCall#init_aasnotnullableexterncall on */ } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncallnode1 = var17; +var_node_list = var_pexterncallnode1; +var18 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var19 = nit___nit__Parser___go_to(var_p, var18); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var19, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction104#action for (self: ReduceAction104, Parser) */ -void nit__parser___nit__parser__ReduceAction104___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction139#action for (self: ReduceAction139, Parser) */ +void nit__parser___nit__parser__ReduceAction139___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tgtnode2 /* var tgtnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AGtMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable AGtMethid */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var_tstringnode1 /* var tstringnode1: nullable Object */; +long var1 /* : Int */; +long var2 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var1; -var_tgtnode2 = var_nodearraylist1; -/* isa nullable TGt */ -cltype = type_nullable__nit__TGt.color; -idtype = type_nullable__nit__TGt.id; -if(var_tgtnode2 == NULL) { -var2 = 1; -} else { -if(cltype >= var_tgtnode2->type->table_size) { -var2 = 0; -} else { -var2 = var_tgtnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var2)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4382); -show_backtrace(1); -} -var3 = NEW_nit__AGtMethid(&type_nit__AGtMethid); +var_node_list = ((val*)NULL); { -nit__parser_prod___AGtMethid___init_agtmethid(var3, var_tgtnode2); /* Direct call parser_prod#AGtMethid#init_agtmethid on */ +var = nit___nit__Parser___pop(var_p); } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist1 = var; +var_tstringnode1 = var_nodearraylist1; +var_node_list = var_tstringnode1; +var1 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var2 = nit___nit__Parser___go_to(var_p, var1); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var2, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction105#action for (self: ReduceAction105, Parser) */ -void nit__parser___nit__parser__ReduceAction105___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction140#action for (self: ReduceAction140, Parser) */ +void nit__parser___nit__parser__ReduceAction140___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var1 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tllnode2 /* var tllnode2: nullable Object */; -short int var2 /* : Bool */; +val* var_tkwinnode2 /* var tkwinnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var3 /* : ALlMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable ALlMethid */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var_tstringnode3 /* var tstringnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var8 /* : AInLanguage */; +val* var_pinlanguagenode1 /* var pinlanguagenode1: nullable AInLanguage */; +long var9 /* : Int */; +long var10 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tllnode2 = var_nodearraylist1; -/* isa nullable TLl */ -cltype = type_nullable__nit__TLl.color; -idtype = type_nullable__nit__TLl.id; -if(var_tllnode2 == NULL) { -var2 = 1; +var_nodearraylist3 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var3; +var_tkwinnode2 = var_nodearraylist1; +/* isa nullable TKwin */ +cltype = type_nullable__nit__TKwin.color; +idtype = type_nullable__nit__TKwin.id; +if(var_tkwinnode2 == NULL) { +var4 = 1; } else { -if(cltype >= var_tllnode2->type->table_size) { -var2 = 0; +if(cltype >= (((long)var_tkwinnode2&3)?type_info[((long)var_tkwinnode2&3)]:var_tkwinnode2->type)->table_size) { +var4 = 0; } else { -var2 = var_tllnode2->type->type_table[cltype] == idtype; +var4 = (((long)var_tkwinnode2&3)?type_info[((long)var_tkwinnode2&3)]:var_tkwinnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var2)) { +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4741); +fatal_exit(1); +} +var_tstringnode3 = var_nodearraylist3; +/* isa nullable TString */ +cltype6 = type_nullable__nit__TString.color; +idtype7 = type_nullable__nit__TString.id; +if(var_tstringnode3 == NULL) { +var5 = 1; +} else { +if(cltype6 >= (((long)var_tstringnode3&3)?type_info[((long)var_tstringnode3&3)]:var_tstringnode3->type)->table_size) { +var5 = 0; +} else { +var5 = (((long)var_tstringnode3&3)?type_info[((long)var_tstringnode3&3)]:var_tstringnode3->type)->type_table[cltype6] == idtype7; +} +} +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4397); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4743); +fatal_exit(1); } -var3 = NEW_nit__ALlMethid(&type_nit__ALlMethid); +var8 = NEW_nit__AInLanguage(&type_nit__AInLanguage); { -nit__parser_prod___ALlMethid___init_allmethid(var3, var_tllnode2); /* Direct call parser_prod#ALlMethid#init_allmethid on */ +nit__parser_prod___AInLanguage___init_ainlanguage(var8, var_tkwinnode2, var_tstringnode3); /* Direct call parser_prod#AInLanguage#init_ainlanguage on */ } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pinlanguagenode1 = var8; +var_node_list = var_pinlanguagenode1; +var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var10 = nit___nit__Parser___go_to(var_p, var9); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction106#action for (self: ReduceAction106, Parser) */ -void nit__parser___nit__parser__ReduceAction106___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction141#action for (self: ReduceAction141, Parser) */ +void nit__parser___nit__parser__ReduceAction141___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tggnode2 /* var tggnode2: nullable Object */; -short int var2 /* : Bool */; +val* var_texterncodesegmentnode3 /* var texterncodesegmentnode3: nullable Object */; +short int var1 /* : Bool */; int cltype; int idtype; -val* var3 /* : AGgMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable AGgMethid */; +val* var2 /* : AExternCodeBlock */; +val* var_pexterncodeblocknode1 /* var pexterncodeblocknode1: nullable AExternCodeBlock */; +long var3 /* : Int */; long var4 /* : Int */; -long var5 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tggnode2 = var_nodearraylist1; -/* isa nullable TGg */ -cltype = type_nullable__nit__TGg.color; -idtype = type_nullable__nit__TGg.id; -if(var_tggnode2 == NULL) { -var2 = 1; +var_nodearraylist1 = var; +var_texterncodesegmentnode3 = var_nodearraylist1; +/* isa nullable TExternCodeSegment */ +cltype = type_nullable__nit__TExternCodeSegment.color; +idtype = type_nullable__nit__TExternCodeSegment.id; +if(var_texterncodesegmentnode3 == NULL) { +var1 = 1; } else { -if(cltype >= var_tggnode2->type->table_size) { -var2 = 0; +if(cltype >= (((long)var_texterncodesegmentnode3&3)?type_info[((long)var_texterncodesegmentnode3&3)]:var_texterncodesegmentnode3->type)->table_size) { +var1 = 0; } else { -var2 = var_tggnode2->type->type_table[cltype] == idtype; +var1 = (((long)var_texterncodesegmentnode3&3)?type_info[((long)var_texterncodesegmentnode3&3)]:var_texterncodesegmentnode3->type)->type_table[cltype] == idtype; } } -if (unlikely(!var2)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4412); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4759); +fatal_exit(1); } -var3 = NEW_nit__AGgMethid(&type_nit__AGgMethid); +var2 = NEW_nit__AExternCodeBlock(&type_nit__AExternCodeBlock); { -nit__parser_prod___AGgMethid___init_aggmethid(var3, var_tggnode2); /* Direct call parser_prod#AGgMethid#init_aggmethid on */ +nit__parser_prod___AExternCodeBlock___init_aexterncodeblock(var2, ((val*)NULL), var_texterncodesegmentnode3); /* Direct call parser_prod#AExternCodeBlock#init_aexterncodeblock on */ } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncodeblocknode1 = var2; +var_node_list = var_pexterncodeblocknode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var4 = nit___nit__Parser___go_to(var_p, var3); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction107#action for (self: ReduceAction107, Parser) */ -void nit__parser___nit__parser__ReduceAction107___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction142#action for (self: ReduceAction142, Parser) */ +void nit__parser___nit__parser__ReduceAction142___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tobranode2 /* var tobranode2: nullable Object */; -short int var3 /* : Bool */; +val* var_pinlanguagenode2 /* var pinlanguagenode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_tcbranode3 /* var tcbranode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : ABraMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable ABraMethid */; +val* var_texterncodesegmentnode3 /* var texterncodesegmentnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AExternCodeBlock */; +val* var_pexterncodeblocknode1 /* var pexterncodeblocknode1: nullable AExternCodeBlock */; +long var7 /* : Int */; long var8 /* : Int */; -long var9 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist2 = var; { -var2 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; -var_tobranode2 = var_nodearraylist1; -/* isa nullable TObra */ -cltype = type_nullable__nit__TObra.color; -idtype = type_nullable__nit__TObra.id; -if(var_tobranode2 == NULL) { -var3 = 1; +var_nodearraylist1 = var1; +var_pinlanguagenode2 = var_nodearraylist1; +/* isa nullable AInLanguage */ +cltype = type_nullable__nit__AInLanguage.color; +idtype = type_nullable__nit__AInLanguage.id; +if(var_pinlanguagenode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_tobranode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_pinlanguagenode2&3)?type_info[((long)var_pinlanguagenode2&3)]:var_pinlanguagenode2->type)->table_size) { +var2 = 0; } else { -var3 = var_tobranode2->type->type_table[cltype] == idtype; +var2 = (((long)var_pinlanguagenode2&3)?type_info[((long)var_pinlanguagenode2&3)]:var_pinlanguagenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var3)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4428); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4776); +fatal_exit(1); } -var_tcbranode3 = var_nodearraylist2; -/* isa nullable TCbra */ -cltype5 = type_nullable__nit__TCbra.color; -idtype6 = type_nullable__nit__TCbra.id; -if(var_tcbranode3 == NULL) { -var4 = 1; +var_texterncodesegmentnode3 = var_nodearraylist2; +/* isa nullable TExternCodeSegment */ +cltype4 = type_nullable__nit__TExternCodeSegment.color; +idtype5 = type_nullable__nit__TExternCodeSegment.id; +if(var_texterncodesegmentnode3 == NULL) { +var3 = 1; } else { -if(cltype5 >= var_tcbranode3->type->table_size) { -var4 = 0; +if(cltype4 >= (((long)var_texterncodesegmentnode3&3)?type_info[((long)var_texterncodesegmentnode3&3)]:var_texterncodesegmentnode3->type)->table_size) { +var3 = 0; } else { -var4 = var_tcbranode3->type->type_table[cltype5] == idtype6; +var3 = (((long)var_texterncodesegmentnode3&3)?type_info[((long)var_texterncodesegmentnode3&3)]:var_texterncodesegmentnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var4)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4430); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4778); +fatal_exit(1); } -var7 = NEW_nit__ABraMethid(&type_nit__ABraMethid); +var6 = NEW_nit__AExternCodeBlock(&type_nit__AExternCodeBlock); { -nit__parser_prod___ABraMethid___init_abramethid(var7, var_tobranode2, var_tcbranode3); /* Direct call parser_prod#ABraMethid#init_abramethid on */ +nit__parser_prod___AExternCodeBlock___init_aexterncodeblock(var6, var_pinlanguagenode2, var_texterncodesegmentnode3); /* Direct call parser_prod#AExternCodeBlock#init_aexterncodeblock on */ } -var_pmethidnode1 = var7; -var_node_list = var_pmethidnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexterncodeblocknode1 = var6; +var_node_list = var_pexterncodeblocknode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var9 = nit___nit__Parser___go_to(var_p, var8); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction108#action for (self: ReduceAction108, Parser) */ -void nit__parser___nit__parser__ReduceAction108___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction143#action for (self: ReduceAction143, Parser) */ +void nit__parser___nit__parser__ReduceAction143___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tstarshipnode2 /* var tstarshipnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AStarshipMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable AStarshipMethid */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var_pexterncodeblocknode1 /* var pexterncodeblocknode1: nullable Object */; +long var1 /* : Int */; +long var2 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tstarshipnode2 = var_nodearraylist1; -/* isa nullable TStarship */ -cltype = type_nullable__nit__TStarship.color; -idtype = type_nullable__nit__TStarship.id; -if(var_tstarshipnode2 == NULL) { -var2 = 1; -} else { -if(cltype >= var_tstarshipnode2->type->table_size) { -var2 = 0; -} else { -var2 = var_tstarshipnode2->type->type_table[cltype] == idtype; +var_nodearraylist1 = var; +var_pexterncodeblocknode1 = var_nodearraylist1; +var_node_list = var_pexterncodeblocknode1; +var1 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var2 = nit___nit__Parser___go_to(var_p, var1); } +{ +nit___nit__Parser___push(var_p, var2, var_node_list); /* Direct call parser_work#Parser#push on */ } -if (unlikely(!var2)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4446); -show_backtrace(1); +RET_LABEL:; +} +/* method parser#ReduceAction145#action for (self: ReduceAction145, Parser) */ +void nit__parser___nit__parser__ReduceAction145___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_pexterncodeblocknode1 /* var pexterncodeblocknode1: nullable Object */; +long var2 /* : Int */; +long var3 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -var3 = NEW_nit__AStarshipMethid(&type_nit__AStarshipMethid); +var_nodearraylist2 = var; { -nit__parser_prod___AStarshipMethid___init_astarshipmethid(var3, var_tstarshipnode2); /* Direct call parser_prod#AStarshipMethid#init_astarshipmethid on */ +var1 = nit___nit__Parser___pop(var_p); } -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist1 = var1; +var_pexterncodeblocknode1 = var_nodearraylist2; +var_node_list = var_pexterncodeblocknode1; +var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var3 = nit___nit__Parser___go_to(var_p, var2); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction109#action for (self: ReduceAction109, Parser) */ -void nit__parser___nit__parser__ReduceAction109___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction146#action for (self: ReduceAction146, Parser) */ +void nit__parser___nit__parser__ReduceAction146___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tidnode2 /* var tidnode2: nullable Object */; +val* var2 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var_tclassidnode3 /* var tclassidnode3: nullable Object */; short int var3 /* : Bool */; int cltype; int idtype; -val* var_tassignnode3 /* var tassignnode3: nullable Object */; +val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */; short int var4 /* : Bool */; int cltype5; int idtype6; -val* var7 /* : AAssignMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable AAssignMethid */; +val* var7 /* : AType */; +val* var_ptypenode1 /* var ptypenode1: nullable AType */; long var8 /* : Int */; long var9 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var2 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var2; -var_tidnode2 = var_nodearraylist1; -/* isa nullable TId */ -cltype = type_nullable__nit__TId.color; -idtype = type_nullable__nit__TId.id; -if(var_tidnode2 == NULL) { +var_listnode5 = var2; +var_tclassidnode3 = var_nodearraylist1; +/* isa nullable TClassid */ +cltype = type_nullable__nit__TClassid.color; +idtype = type_nullable__nit__TClassid.id; +if(var_tclassidnode3 == NULL) { var3 = 1; } else { -if(cltype >= var_tidnode2->type->table_size) { +if(cltype >= (((long)var_tclassidnode3&3)?type_info[((long)var_tclassidnode3&3)]:var_tclassidnode3->type)->table_size) { var3 = 0; } else { -var3 = var_tidnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_tclassidnode3&3)?type_info[((long)var_tclassidnode3&3)]:var_tclassidnode3->type)->type_table[cltype] == idtype; } } if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4462); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4819); +fatal_exit(1); } -var_tassignnode3 = var_nodearraylist2; -/* isa nullable TAssign */ -cltype5 = type_nullable__nit__TAssign.color; -idtype6 = type_nullable__nit__TAssign.id; -if(var_tassignnode3 == NULL) { +var_pannotationsnode7 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype5 = type_nullable__nit__AAnnotations.color; +idtype6 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode7 == NULL) { var4 = 1; } else { -if(cltype5 >= var_tassignnode3->type->table_size) { +if(cltype5 >= (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->table_size) { var4 = 0; } else { -var4 = var_tassignnode3->type->type_table[cltype5] == idtype6; +var4 = (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->type_table[cltype5] == idtype6; } } if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4464); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4821); +fatal_exit(1); } -var7 = NEW_nit__AAssignMethid(&type_nit__AAssignMethid); +var7 = NEW_nit__AType(&type_nit__AType); { -nit__parser_prod___AAssignMethid___init_aassignmethid(var7, var_tidnode2, var_tassignnode3); /* Direct call parser_prod#AAssignMethid#init_aassignmethid on */ +nit__parser_prod___AType___init_atype(var7, ((val*)NULL), var_tclassidnode3, ((val*)NULL), var_listnode5, ((val*)NULL), var_pannotationsnode7); /* Direct call parser_prod#AType#init_atype on */ } -var_pmethidnode1 = var7; -var_node_list = var_pmethidnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ptypenode1 = var7; +var_node_list = var_ptypenode1; +var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var9 = nit___nit__Parser___go_to(var_p, var8); } @@ -7823,109 +7584,114 @@ nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work } RET_LABEL:; } -/* method parser#ReduceAction110#action for (self: ReduceAction110, Parser) */ -void nit__parser___nit__parser__ReduceAction110___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction147#action for (self: ReduceAction147, Parser) */ +void nit__parser___nit__parser__ReduceAction147___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tobranode2 /* var tobranode2: nullable Object */; +val* var3 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var_tkwnullablenode2 /* var tkwnullablenode2: nullable Object */; short int var4 /* : Bool */; int cltype; int idtype; -val* var_tcbranode3 /* var tcbranode3: nullable Object */; +val* var_tclassidnode3 /* var tclassidnode3: nullable Object */; short int var5 /* : Bool */; int cltype6; int idtype7; -val* var_tassignnode4 /* var tassignnode4: nullable Object */; +val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */; short int var8 /* : Bool */; int cltype9; int idtype10; -val* var11 /* : ABraassignMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable ABraassignMethid */; +val* var11 /* : AType */; +val* var_ptypenode1 /* var ptypenode1: nullable AType */; long var12 /* : Int */; long var13 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist2 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist1 = var2; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var3 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var3; -var_tobranode2 = var_nodearraylist1; -/* isa nullable TObra */ -cltype = type_nullable__nit__TObra.color; -idtype = type_nullable__nit__TObra.id; -if(var_tobranode2 == NULL) { +var_listnode5 = var3; +var_tkwnullablenode2 = var_nodearraylist1; +/* isa nullable TKwnullable */ +cltype = type_nullable__nit__TKwnullable.color; +idtype = type_nullable__nit__TKwnullable.id; +if(var_tkwnullablenode2 == NULL) { var4 = 1; } else { -if(cltype >= var_tobranode2->type->table_size) { +if(cltype >= (((long)var_tkwnullablenode2&3)?type_info[((long)var_tkwnullablenode2&3)]:var_tkwnullablenode2->type)->table_size) { var4 = 0; } else { -var4 = var_tobranode2->type->type_table[cltype] == idtype; +var4 = (((long)var_tkwnullablenode2&3)?type_info[((long)var_tkwnullablenode2&3)]:var_tkwnullablenode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4482); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4844); +fatal_exit(1); } -var_tcbranode3 = var_nodearraylist2; -/* isa nullable TCbra */ -cltype6 = type_nullable__nit__TCbra.color; -idtype7 = type_nullable__nit__TCbra.id; -if(var_tcbranode3 == NULL) { +var_tclassidnode3 = var_nodearraylist2; +/* isa nullable TClassid */ +cltype6 = type_nullable__nit__TClassid.color; +idtype7 = type_nullable__nit__TClassid.id; +if(var_tclassidnode3 == NULL) { var5 = 1; } else { -if(cltype6 >= var_tcbranode3->type->table_size) { +if(cltype6 >= (((long)var_tclassidnode3&3)?type_info[((long)var_tclassidnode3&3)]:var_tclassidnode3->type)->table_size) { var5 = 0; } else { -var5 = var_tcbranode3->type->type_table[cltype6] == idtype7; +var5 = (((long)var_tclassidnode3&3)?type_info[((long)var_tclassidnode3&3)]:var_tclassidnode3->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4484); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4846); +fatal_exit(1); } -var_tassignnode4 = var_nodearraylist3; -/* isa nullable TAssign */ -cltype9 = type_nullable__nit__TAssign.color; -idtype10 = type_nullable__nit__TAssign.id; -if(var_tassignnode4 == NULL) { +var_pannotationsnode7 = var_nodearraylist3; +/* isa nullable AAnnotations */ +cltype9 = type_nullable__nit__AAnnotations.color; +idtype10 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode7 == NULL) { var8 = 1; } else { -if(cltype9 >= var_tassignnode4->type->table_size) { +if(cltype9 >= (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->table_size) { var8 = 0; } else { -var8 = var_tassignnode4->type->type_table[cltype9] == idtype10; +var8 = (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->type_table[cltype9] == idtype10; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4486); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4848); +fatal_exit(1); } -var11 = NEW_nit__ABraassignMethid(&type_nit__ABraassignMethid); +var11 = NEW_nit__AType(&type_nit__AType); { -nit__parser_prod___ABraassignMethid___init_abraassignmethid(var11, var_tobranode2, var_tcbranode3, var_tassignnode4); /* Direct call parser_prod#ABraassignMethid#init_abraassignmethid on */ +nit__parser_prod___AType___init_atype(var11, var_tkwnullablenode2, var_tclassidnode3, ((val*)NULL), var_listnode5, ((val*)NULL), var_pannotationsnode7); /* Direct call parser_prod#AType#init_atype on */ } -var_pmethidnode1 = var11; -var_node_list = var_pmethidnode1; -var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ptypenode1 = var11; +var_node_list = var_ptypenode1; +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var13 = nit___nit__Parser___go_to(var_p, var12); } @@ -7934,66 +7700,12 @@ nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_wor } RET_LABEL:; } -/* method parser#ReduceAction111#action for (self: ReduceAction111, Parser) */ -void nit__parser___nit__parser__ReduceAction111___nit__parser_work__ReduceAction__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tidnode2 /* var tidnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AIdMethid */; -val* var_pmethidnode1 /* var pmethidnode1: nullable AIdMethid */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var1; -var_tidnode2 = var_nodearraylist1; -/* isa nullable TId */ -cltype = type_nullable__nit__TId.color; -idtype = type_nullable__nit__TId.id; -if(var_tidnode2 == NULL) { -var2 = 1; -} else { -if(cltype >= var_tidnode2->type->table_size) { -var2 = 0; -} else { -var2 = var_tidnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var2)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4503); -show_backtrace(1); -} -var3 = NEW_nit__AIdMethid(&type_nit__AIdMethid); -{ -nit__parser_prod___AIdMethid___init_aidmethid(var3, var_tidnode2); /* Direct call parser_prod#AIdMethid#init_aidmethid on */ -} -var_pmethidnode1 = var3; -var_node_list = var_pmethidnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var5 = nit___nit__Parser___go_to(var_p, var4); -} -{ -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ -} -RET_LABEL:; -} -/* method parser#ReduceAction112#action for (self: ReduceAction112, Parser) */ -void nit__parser___nit__parser__ReduceAction112___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction148#action for (self: ReduceAction148, Parser) */ +void nit__parser___nit__parser__ReduceAction148___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var1 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var2 /* : nullable Object */; @@ -8007,31 +7719,38 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var6 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var7 /* : Array[Object] */; -val* var_listnode4 /* var listnode4: Array[Object] */; -val* var_toparnode2 /* var toparnode2: nullable Object */; +val* var_listnode6 /* var listnode6: Array[Object] */; +val* var_tclassidnode3 /* var tclassidnode3: nullable Object */; short int var8 /* : Bool */; int cltype; int idtype; -val* var_listnode3 /* var listnode3: nullable Object */; +val* var_tobranode4 /* var tobranode4: nullable Object */; short int var9 /* : Bool */; int cltype10; int idtype11; -val* var12 /* : Array[Object] */; -val* var_tcparnode5 /* var tcparnode5: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_ptypenode6 /* var ptypenode6: nullable Object */; +val* var_listnode5 /* var listnode5: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var15 /* : Array[Object] */; +val* var_tcbranode7 /* var tcbranode7: nullable Object */; short int var16 /* : Bool */; int cltype17; int idtype18; -val* var19 /* : ASignature */; -val* var_psignaturenode1 /* var psignaturenode1: nullable ASignature */; -long var20 /* : Int */; -long var21 /* : Int */; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var22 /* : AType */; +val* var_ptypenode1 /* var ptypenode1: nullable AType */; +long var23 /* : Int */; +long var24 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist7 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -8060,326 +7779,409 @@ var7 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on */ } -var_listnode4 = var7; -var_toparnode2 = var_nodearraylist1; -/* isa nullable TOpar */ -cltype = type_nullable__nit__TOpar.color; -idtype = type_nullable__nit__TOpar.id; -if(var_toparnode2 == NULL) { +var_listnode6 = var7; +var_tclassidnode3 = var_nodearraylist1; +/* isa nullable TClassid */ +cltype = type_nullable__nit__TClassid.color; +idtype = type_nullable__nit__TClassid.id; +if(var_tclassidnode3 == NULL) { var8 = 1; } else { -if(cltype >= var_toparnode2->type->table_size) { +if(cltype >= (((long)var_tclassidnode3&3)?type_info[((long)var_tclassidnode3&3)]:var_tclassidnode3->type)->table_size) { var8 = 0; } else { -var8 = var_toparnode2->type->type_table[cltype] == idtype; +var8 = (((long)var_tclassidnode3&3)?type_info[((long)var_tclassidnode3&3)]:var_tclassidnode3->type)->type_table[cltype] == idtype; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4524); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4875); +fatal_exit(1); } -var_listnode3 = var_nodearraylist3; -/* isa Array[Object] */ -cltype10 = type_standard__Array__standard__Object.color; -idtype11 = type_standard__Array__standard__Object.id; -if(var_listnode3 == NULL) { -var9 = 0; +var_tobranode4 = var_nodearraylist2; +/* isa nullable TObra */ +cltype10 = type_nullable__nit__TObra.color; +idtype11 = type_nullable__nit__TObra.id; +if(var_tobranode4 == NULL) { +var9 = 1; } else { -if(cltype10 >= var_listnode3->type->table_size) { +if(cltype10 >= (((long)var_tobranode4&3)?type_info[((long)var_tobranode4&3)]:var_tobranode4->type)->table_size) { var9 = 0; } else { -var9 = var_listnode3->type->type_table[cltype10] == idtype11; +var9 = (((long)var_tobranode4&3)?type_info[((long)var_tobranode4&3)]:var_tobranode4->type)->type_table[cltype10] == idtype11; } } if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4526); -show_backtrace(1); -} -{ -var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4877); +fatal_exit(1); } -var_listnode4 = var12; -var_tcparnode5 = var_nodearraylist4; -/* isa nullable TCpar */ -cltype14 = type_nullable__nit__TCpar.color; -idtype15 = type_nullable__nit__TCpar.id; -if(var_tcparnode5 == NULL) { -var13 = 1; +var_listnode5 = var_nodearraylist4; +/* isa Array[Object] */ +cltype13 = type_standard__Array__standard__Object.color; +idtype14 = type_standard__Array__standard__Object.id; +if(var_listnode5 == NULL) { +var12 = 0; } else { -if(cltype14 >= var_tcparnode5->type->table_size) { -var13 = 0; +if(cltype13 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) { +var12 = 0; } else { -var13 = var_tcparnode5->type->type_table[cltype14] == idtype15; +var12 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype13] == idtype14; } } -if (unlikely(!var13)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4529); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4879); +fatal_exit(1); } -var_ptypenode6 = var_nodearraylist5; -/* isa nullable AType */ -cltype17 = type_nullable__nit__AType.color; -idtype18 = type_nullable__nit__AType.id; -if(var_ptypenode6 == NULL) { +{ +var15 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); +} +var_listnode6 = var15; +var_tcbranode7 = var_nodearraylist6; +/* isa nullable TCbra */ +cltype17 = type_nullable__nit__TCbra.color; +idtype18 = type_nullable__nit__TCbra.id; +if(var_tcbranode7 == NULL) { var16 = 1; } else { -if(cltype17 >= var_ptypenode6->type->table_size) { +if(cltype17 >= (((long)var_tcbranode7&3)?type_info[((long)var_tcbranode7&3)]:var_tcbranode7->type)->table_size) { var16 = 0; } else { -var16 = var_ptypenode6->type->type_table[cltype17] == idtype18; +var16 = (((long)var_tcbranode7&3)?type_info[((long)var_tcbranode7&3)]:var_tcbranode7->type)->type_table[cltype17] == idtype18; } } if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4531); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4882); +fatal_exit(1); +} +var_pannotationsnode8 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype20 = type_nullable__nit__AAnnotations.color; +idtype21 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode8 == NULL) { +var19 = 1; +} else { +if(cltype20 >= (((long)var_pannotationsnode8&3)?type_info[((long)var_pannotationsnode8&3)]:var_pannotationsnode8->type)->table_size) { +var19 = 0; +} else { +var19 = (((long)var_pannotationsnode8&3)?type_info[((long)var_pannotationsnode8&3)]:var_pannotationsnode8->type)->type_table[cltype20] == idtype21; +} +} +if (unlikely(!var19)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4884); +fatal_exit(1); } -var19 = NEW_nit__ASignature(&type_nit__ASignature); +var22 = NEW_nit__AType(&type_nit__AType); { -nit__parser_prod___ASignature___init_asignature(var19, var_toparnode2, var_listnode4, var_tcparnode5, var_ptypenode6); /* Direct call parser_prod#ASignature#init_asignature on */ +nit__parser_prod___AType___init_atype(var22, ((val*)NULL), var_tclassidnode3, var_tobranode4, var_listnode6, var_tcbranode7, var_pannotationsnode8); /* Direct call parser_prod#AType#init_atype on */ } -var_psignaturenode1 = var19; -var_node_list = var_psignaturenode1; -var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ptypenode1 = var22; +var_node_list = var_ptypenode1; +var23 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var21 = nit___nit__Parser___go_to(var_p, var20); +var24 = nit___nit__Parser___go_to(var_p, var23); } { -nit___nit__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var24, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction113#action for (self: ReduceAction113, Parser) */ -void nit__parser___nit__parser__ReduceAction113___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction149#action for (self: ReduceAction149, Parser) */ +void nit__parser___nit__parser__ReduceAction149___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var5 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var6 /* : Array[Object] */; -val* var_listnode4 /* var listnode4: Array[Object] */; -val* var_toparnode2 /* var toparnode2: nullable Object */; -short int var7 /* : Bool */; +val* var8 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: Array[Object] */; +val* var_tkwnullablenode2 /* var tkwnullablenode2: nullable Object */; +short int var9 /* : Bool */; int cltype; int idtype; -val* var_listnode3 /* var listnode3: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var11 /* : Array[Object] */; -val* var_tcparnode5 /* var tcparnode5: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var15 /* : ASignature */; -val* var16 /* : null */; -val* var_psignaturenode1 /* var psignaturenode1: nullable ASignature */; -long var17 /* : Int */; -long var18 /* : Int */; +val* var_tclassidnode3 /* var tclassidnode3: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_tobranode4 /* var tobranode4: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_listnode5 /* var listnode5: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var19 /* : Array[Object] */; +val* var_tcbranode7 /* var tcbranode7: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var26 /* : AType */; +val* var_ptypenode1 /* var ptypenode1: nullable AType */; +long var27 /* : Int */; +long var28 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist8 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var1; +var_nodearraylist7 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var2; +var_nodearraylist6 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var3; +var_nodearraylist5 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var4; +var_nodearraylist4 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var5; -var6 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist3 = var5; { -standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ +var6 = nit___nit__Parser___pop(var_p); } -var_listnode4 = var6; -var_toparnode2 = var_nodearraylist1; -/* isa nullable TOpar */ -cltype = type_nullable__nit__TOpar.color; -idtype = type_nullable__nit__TOpar.id; -if(var_toparnode2 == NULL) { -var7 = 1; +var_nodearraylist2 = var6; +{ +var7 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var7; +var8 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var8); /* Direct call array#Array#init on */ +} +var_listnode6 = var8; +var_tkwnullablenode2 = var_nodearraylist1; +/* isa nullable TKwnullable */ +cltype = type_nullable__nit__TKwnullable.color; +idtype = type_nullable__nit__TKwnullable.id; +if(var_tkwnullablenode2 == NULL) { +var9 = 1; } else { -if(cltype >= var_toparnode2->type->table_size) { -var7 = 0; +if(cltype >= (((long)var_tkwnullablenode2&3)?type_info[((long)var_tkwnullablenode2&3)]:var_tkwnullablenode2->type)->table_size) { +var9 = 0; } else { -var7 = var_toparnode2->type->type_table[cltype] == idtype; +var9 = (((long)var_tkwnullablenode2&3)?type_info[((long)var_tkwnullablenode2&3)]:var_tkwnullablenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var7)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4554); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4912); +fatal_exit(1); } -var_listnode3 = var_nodearraylist3; -/* isa Array[Object] */ -cltype9 = type_standard__Array__standard__Object.color; -idtype10 = type_standard__Array__standard__Object.id; -if(var_listnode3 == NULL) { -var8 = 0; +var_tclassidnode3 = var_nodearraylist2; +/* isa nullable TClassid */ +cltype11 = type_nullable__nit__TClassid.color; +idtype12 = type_nullable__nit__TClassid.id; +if(var_tclassidnode3 == NULL) { +var10 = 1; } else { -if(cltype9 >= var_listnode3->type->table_size) { -var8 = 0; +if(cltype11 >= (((long)var_tclassidnode3&3)?type_info[((long)var_tclassidnode3&3)]:var_tclassidnode3->type)->table_size) { +var10 = 0; } else { -var8 = var_listnode3->type->type_table[cltype9] == idtype10; +var10 = (((long)var_tclassidnode3&3)?type_info[((long)var_tclassidnode3&3)]:var_tclassidnode3->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var8)) { +if (unlikely(!var10)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4914); +fatal_exit(1); +} +var_tobranode4 = var_nodearraylist3; +/* isa nullable TObra */ +cltype14 = type_nullable__nit__TObra.color; +idtype15 = type_nullable__nit__TObra.id; +if(var_tobranode4 == NULL) { +var13 = 1; +} else { +if(cltype14 >= (((long)var_tobranode4&3)?type_info[((long)var_tobranode4&3)]:var_tobranode4->type)->table_size) { +var13 = 0; +} else { +var13 = (((long)var_tobranode4&3)?type_info[((long)var_tobranode4&3)]:var_tobranode4->type)->type_table[cltype14] == idtype15; +} +} +if (unlikely(!var13)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4916); +fatal_exit(1); +} +var_listnode5 = var_nodearraylist5; +/* isa Array[Object] */ +cltype17 = type_standard__Array__standard__Object.color; +idtype18 = type_standard__Array__standard__Object.id; +if(var_listnode5 == NULL) { +var16 = 0; +} else { +if(cltype17 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) { +var16 = 0; +} else { +var16 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype17] == idtype18; +} +} +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4556); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4918); +fatal_exit(1); } { -var11 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +var19 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); } -var_listnode4 = var11; -var_tcparnode5 = var_nodearraylist4; -/* isa nullable TCpar */ -cltype13 = type_nullable__nit__TCpar.color; -idtype14 = type_nullable__nit__TCpar.id; -if(var_tcparnode5 == NULL) { -var12 = 1; +var_listnode6 = var19; +var_tcbranode7 = var_nodearraylist7; +/* isa nullable TCbra */ +cltype21 = type_nullable__nit__TCbra.color; +idtype22 = type_nullable__nit__TCbra.id; +if(var_tcbranode7 == NULL) { +var20 = 1; } else { -if(cltype13 >= var_tcparnode5->type->table_size) { -var12 = 0; +if(cltype21 >= (((long)var_tcbranode7&3)?type_info[((long)var_tcbranode7&3)]:var_tcbranode7->type)->table_size) { +var20 = 0; } else { -var12 = var_tcparnode5->type->type_table[cltype13] == idtype14; +var20 = (((long)var_tcbranode7&3)?type_info[((long)var_tcbranode7&3)]:var_tcbranode7->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var12)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4559); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4921); +fatal_exit(1); } -var15 = NEW_nit__ASignature(&type_nit__ASignature); -var16 = NULL; +var_pannotationsnode8 = var_nodearraylist8; +/* isa nullable AAnnotations */ +cltype24 = type_nullable__nit__AAnnotations.color; +idtype25 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode8 == NULL) { +var23 = 1; +} else { +if(cltype24 >= (((long)var_pannotationsnode8&3)?type_info[((long)var_pannotationsnode8&3)]:var_pannotationsnode8->type)->table_size) { +var23 = 0; +} else { +var23 = (((long)var_pannotationsnode8&3)?type_info[((long)var_pannotationsnode8&3)]:var_pannotationsnode8->type)->type_table[cltype24] == idtype25; +} +} +if (unlikely(!var23)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4923); +fatal_exit(1); +} +var26 = NEW_nit__AType(&type_nit__AType); { -nit__parser_prod___ASignature___init_asignature(var15, var_toparnode2, var_listnode4, var_tcparnode5, var16); /* Direct call parser_prod#ASignature#init_asignature on */ +nit__parser_prod___AType___init_atype(var26, var_tkwnullablenode2, var_tclassidnode3, var_tobranode4, var_listnode6, var_tcbranode7, var_pannotationsnode8); /* Direct call parser_prod#AType#init_atype on */ } -var_psignaturenode1 = var15; -var_node_list = var_psignaturenode1; -var17 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ptypenode1 = var26; +var_node_list = var_ptypenode1; +var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var18 = nit___nit__Parser___go_to(var_p, var17); +var28 = nit___nit__Parser___go_to(var_p, var27); } { -nit___nit__Parser___push(var_p, var18, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var28, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction114#action for (self: ReduceAction114, Parser) */ -void nit__parser___nit__parser__ReduceAction114___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction150#action for (self: ReduceAction150, Parser) */ +void nit__parser___nit__parser__ReduceAction150___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var3 /* : Array[Object] */; -val* var_listnode3 /* var listnode3: Array[Object] */; -val* var_ptypenode5 /* var ptypenode5: nullable Object */; -short int var4 /* : Bool */; -int cltype; -int idtype; -val* var5 /* : ASignature */; -val* var6 /* : null */; -val* var7 /* : null */; -val* var_psignaturenode1 /* var psignaturenode1: nullable ASignature */; -long var8 /* : Int */; -long var9 /* : Int */; +val* var1 /* : Array[Object] */; +val* var_listnode2 /* var listnode2: Array[Object] */; +val* var_ptypenode1 /* var ptypenode1: nullable Object */; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +long var4 /* : Int */; +long var5 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var1; +var_node_list = ((val*)NULL); { -var2 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; -var3 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist1 = var; +var1 = NEW_standard__Array(&type_standard__Array__standard__Object); { -standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ } -var_listnode3 = var3; -var_ptypenode5 = var_nodearraylist1; -/* isa nullable AType */ -cltype = type_nullable__nit__AType.color; -idtype = type_nullable__nit__AType.id; -if(var_ptypenode5 == NULL) { -var4 = 1; -} else { -if(cltype >= var_ptypenode5->type->table_size) { -var4 = 0; +var_listnode2 = var1; +var_ptypenode1 = var_nodearraylist1; +if (var_ptypenode1 == NULL) { +var2 = 0; /* is null */ } else { -var4 = var_ptypenode5->type->type_table[cltype] == idtype; +var2 = 1; /* arg is null and recv is not */ } +if (0) { +var3 = ((short int(*)(val* self, val* p0))((((long)var_ptypenode1&3)?class_info[((long)var_ptypenode1&3)]:var_ptypenode1->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_ptypenode1, ((val*)NULL)); /* != on */ +var2 = var3; } -if (unlikely(!var4)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4579); -show_backtrace(1); -} -var5 = NEW_nit__ASignature(&type_nit__ASignature); -var6 = NULL; -var7 = NULL; +if (var2){ { -nit__parser_prod___ASignature___init_asignature(var5, var6, var_listnode3, var7, var_ptypenode5); /* Direct call parser_prod#ASignature#init_asignature on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2, var_ptypenode1); /* Direct call array#Array#add on */ } -var_psignaturenode1 = var5; -var_node_list = var_psignaturenode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +} else { +} +var_node_list = var_listnode2; +var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var9 = nit___nit__Parser___go_to(var_p, var8); +var5 = nit___nit__Parser___go_to(var_p, var4); } { -nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction115#action for (self: ReduceAction115, Parser) */ -void nit__parser___nit__parser__ReduceAction115___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction151#action for (self: ReduceAction151, Parser) */ +void nit__parser___nit__parser__ReduceAction151___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var2 /* : Array[Object] */; val* var_listnode3 /* var listnode3: Array[Object] */; -val* var3 /* : ASignature */; -val* var4 /* : null */; -val* var5 /* : null */; -val* var6 /* : null */; -val* var_psignaturenode1 /* var psignaturenode1: nullable ASignature */; +val* var_ptypenode1 /* var ptypenode1: nullable Object */; +val* var_listnode2 /* var listnode2: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +val* var6 /* : Array[Object] */; long var7 /* : Int */; long var8 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -8389,16 +8191,46 @@ var2 = NEW_standard__Array(&type_standard__Array__standard__Object); standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } var_listnode3 = var2; -var3 = NEW_nit__ASignature(&type_nit__ASignature); -var4 = NULL; -var5 = NULL; -var6 = NULL; +var_ptypenode1 = var_nodearraylist1; +var_listnode2 = var_nodearraylist2; +/* isa Array[Object] */ +cltype = type_standard__Array__standard__Object.color; +idtype = type_standard__Array__standard__Object.id; +if(var_listnode2 == NULL) { +var3 = 0; +} else { +if(cltype >= (((long)var_listnode2&3)?type_info[((long)var_listnode2&3)]:var_listnode2->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)var_listnode2&3)?type_info[((long)var_listnode2&3)]:var_listnode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var3)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4961); +fatal_exit(1); +} +if (var_ptypenode1 == NULL) { +var4 = 0; /* is null */ +} else { +var4 = 1; /* arg is null and recv is not */ +} +if (0) { +var5 = ((short int(*)(val* self, val* p0))((((long)var_ptypenode1&3)?class_info[((long)var_ptypenode1&3)]:var_ptypenode1->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_ptypenode1, ((val*)NULL)); /* != on */ +var4 = var5; +} +if (var4){ { -nit__parser_prod___ASignature___init_asignature(var3, var4, var_listnode3, var5, var6); /* Direct call parser_prod#ASignature#init_asignature on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_ptypenode1); /* Direct call array#Array#add on */ } -var_psignaturenode1 = var3; -var_node_list = var_psignaturenode1; -var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +} else { +} +{ +var6 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode3, var_listnode2); +} +var_listnode3 = var6; +var_node_list = var_listnode3; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var8 = nit___nit__Parser___go_to(var_p, var7); } @@ -8407,26 +8239,25 @@ nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work } RET_LABEL:; } -/* method parser#ReduceAction116#action for (self: ReduceAction116, Parser) */ -void nit__parser___nit__parser__ReduceAction116___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction152#action for (self: ReduceAction152, Parser) */ +void nit__parser___nit__parser__ReduceAction152___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var3 /* : Array[Object] */; -val* var_listnode2 /* var listnode2: Array[Object] */; -val* var_pparamnode1 /* var pparamnode1: nullable Object */; -val* var4 /* : null */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -long var7 /* : Int */; -long var8 /* : Int */; +val* var_ptypenode1 /* var ptypenode1: nullable Object */; +long var3 /* : Int */; +long var4 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -8435,163 +8266,167 @@ var_nodearraylist2 = var1; var2 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var2; -var3 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_ptypenode1 = var_nodearraylist3; +var_node_list = var_ptypenode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_listnode2 = var3; -var_pparamnode1 = var_nodearraylist1; -var4 = NULL; -if (var_pparamnode1 == NULL) { -var5 = 0; /* is null */ -} else { -var5 = 1; /* arg is null and recv is not */ +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } -if (0) { -var6 = ((short int (*)(val* self, val* p0))(var_pparamnode1->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pparamnode1, var4) /* != on */; -var5 = var6; +RET_LABEL:; } -if (var5){ +/* method parser#ReduceAction156#action for (self: ReduceAction156, Parser) */ +void nit__parser___nit__parser__ReduceAction156___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_pexprnode1 /* var pexprnode1: nullable Object */; +long var2 /* : Int */; +long var3 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2, var_pparamnode1); /* Direct call array#Array#add on */ +var = nit___nit__Parser___pop(var_p); } -} else { +var_nodearraylist2 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } -var_node_list = var_listnode2; -var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist1 = var1; +var_pexprnode1 = var_nodearraylist2; +var_node_list = var_pexprnode1; +var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var8 = nit___nit__Parser___go_to(var_p, var7); +var3 = nit___nit__Parser___go_to(var_p, var2); } { -nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction117#action for (self: ReduceAction117, Parser) */ -void nit__parser___nit__parser__ReduceAction117___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction157#action for (self: ReduceAction157, Parser) */ +void nit__parser___nit__parser__ReduceAction157___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var4 /* : Array[Object] */; -val* var_listnode3 /* var listnode3: Array[Object] */; -val* var_pparamnode1 /* var pparamnode1: nullable Object */; -val* var_listnode2 /* var listnode2: nullable Object */; -short int var5 /* : Bool */; +val* var2 /* : Array[Object] */; +val* var_listnode2 /* var listnode2: Array[Object] */; +val* var_tkwendnode3 /* var tkwendnode3: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; -val* var6 /* : null */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -val* var9 /* : Array[Object] */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var4 /* : ABlockExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */; +long var5 /* : Int */; +long var6 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist2 = var; { -var3 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var3; -var4 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); { -standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } -var_listnode3 = var4; -var_pparamnode1 = var_nodearraylist1; -var_listnode2 = var_nodearraylist2; -/* isa Array[Object] */ -cltype = type_standard__Array__standard__Object.color; -idtype = type_standard__Array__standard__Object.id; -if(var_listnode2 == NULL) { -var5 = 0; +var_listnode2 = var2; +var_tkwendnode3 = var_nodearraylist2; +/* isa nullable TKwend */ +cltype = type_nullable__nit__TKwend.color; +idtype = type_nullable__nit__TKwend.id; +if(var_tkwendnode3 == NULL) { +var3 = 1; } else { -if(cltype >= var_listnode2->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_tkwendnode3&3)?type_info[((long)var_tkwendnode3&3)]:var_tkwendnode3->type)->table_size) { +var3 = 0; } else { -var5 = var_listnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_tkwendnode3&3)?type_info[((long)var_tkwendnode3&3)]:var_tkwendnode3->type)->type_table[cltype] == idtype; } } -if (unlikely(!var5)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4634); -show_backtrace(1); -} -var6 = NULL; -if (var_pparamnode1 == NULL) { -var7 = 0; /* is null */ -} else { -var7 = 1; /* arg is null and recv is not */ -} -if (0) { -var8 = ((short int (*)(val* self, val* p0))(var_pparamnode1->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pparamnode1, var6) /* != on */; -var7 = var8; -} -if (var7){ -{ -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pparamnode1); /* Direct call array#Array#add on */ -} -} else { +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5004); +fatal_exit(1); } +var4 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr); { -var9 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode3, var_listnode2); +nit__parser_prod___ABlockExpr___init_ablockexpr(var4, var_listnode2, var_tkwendnode3); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on */ } -var_listnode3 = var9; -var_node_list = var_listnode3; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexprnode1 = var4; +var_node_list = var_pexprnode1; +var5 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var6 = nit___nit__Parser___go_to(var_p, var5); } { -nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction119#action for (self: ReduceAction119, Parser) */ -void nit__parser___nit__parser__ReduceAction119___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction158#action for (self: ReduceAction158, Parser) */ +void nit__parser___nit__parser__ReduceAction158___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pparamnode1 /* var pparamnode1: nullable Object */; +val* var1 /* : Array[Object] */; +val* var_listnode2 /* var listnode2: Array[Object] */; +val* var_tkwendnode3 /* var tkwendnode3: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var3 /* : ABlockExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */; long var4 /* : Int */; long var5 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist1 = var; +var1 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var2 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ } -var_nodearraylist2 = var2; +var_listnode2 = var1; +var_tkwendnode3 = var_nodearraylist1; +/* isa nullable TKwend */ +cltype = type_nullable__nit__TKwend.color; +idtype = type_nullable__nit__TKwend.id; +if(var_tkwendnode3 == NULL) { +var2 = 1; +} else { +if(cltype >= (((long)var_tkwendnode3&3)?type_info[((long)var_tkwendnode3&3)]:var_tkwendnode3->type)->table_size) { +var2 = 0; +} else { +var2 = (((long)var_tkwendnode3&3)?type_info[((long)var_tkwendnode3&3)]:var_tkwendnode3->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5021); +fatal_exit(1); +} +var3 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr); { -var3 = nit___nit__Parser___pop(var_p); +nit__parser_prod___ABlockExpr___init_ablockexpr(var3, var_listnode2, var_tkwendnode3); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on */ } -var_nodearraylist1 = var3; -var_pparamnode1 = var_nodearraylist3; -var_node_list = var_pparamnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexprnode1 = var3; +var_node_list = var_pexprnode1; +var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var5 = nit___nit__Parser___go_to(var_p, var4); } @@ -8600,550 +8435,595 @@ nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work } RET_LABEL:; } -/* method parser#ReduceAction120#action for (self: ReduceAction120, Parser) */ -void nit__parser___nit__parser__ReduceAction120___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction159#action for (self: ReduceAction159, Parser) */ +void nit__parser___nit__parser__ReduceAction159___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tidnode2 /* var tidnode2: nullable Object */; -short int var3 /* : Bool */; +val* var_pexprnode1 /* var pexprnode1: nullable Object */; +long var1 /* : Int */; +long var2 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var; +var_pexprnode1 = var_nodearraylist1; +var_node_list = var_pexprnode1; +var1 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var2 = nit___nit__Parser___go_to(var_p, var1); +} +{ +nit___nit__Parser___push(var_p, var2, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction160#action for (self: ReduceAction160, Parser) */ +void nit__parser___nit__parser__ReduceAction160___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var1 /* : Array[Object] */; +val* var_listnode3 /* var listnode3: Array[Object] */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */; +short int var3 /* : Bool */; short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AParam */; -val* var8 /* : null */; -val* var9 /* : null */; -val* var_pparamnode1 /* var pparamnode1: nullable AParam */; +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +val* var8 /* : ABlockExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */; +long var9 /* : Int */; long var10 /* : Int */; -long var11 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist1 = var; +var1 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var2 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var2; -var_tidnode2 = var_nodearraylist1; -/* isa nullable TId */ -cltype = type_nullable__nit__TId.color; -idtype = type_nullable__nit__TId.id; -if(var_tidnode2 == NULL) { -var3 = 1; +var_listnode3 = var1; +var_pexprnode2 = var_nodearraylist1; +/* isa nullable AExpr */ +cltype = type_nullable__nit__AExpr.color; +idtype = type_nullable__nit__AExpr.id; +if(var_pexprnode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_tidnode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var2 = 0; } else { -var3 = var_tidnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var3)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4664); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5049); +fatal_exit(1); } -var_pannotationsnode5 = var_nodearraylist2; -/* isa nullable AAnnotations */ -cltype5 = type_nullable__nit__AAnnotations.color; -idtype6 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode5 == NULL) { -var4 = 1; -} else { -if(cltype5 >= var_pannotationsnode5->type->table_size) { -var4 = 0; +if (var_pexprnode2 == NULL) { +var3 = 0; /* is null */ } else { -var4 = var_pannotationsnode5->type->type_table[cltype5] == idtype6; +var3 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_pexprnode2,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var6 = ((short int(*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pexprnode2, var_other); /* == on */ } -if (unlikely(!var4)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4666); -show_backtrace(1); +var7 = !var6; +var4 = var7; +goto RET_LABEL5; +RET_LABEL5:(void)0; +} +var3 = var4; } -var7 = NEW_nit__AParam(&type_nit__AParam); -var8 = NULL; -var9 = NULL; +if (var3){ { -nit__parser_prod___AParam___init_aparam(var7, var_tidnode2, var8, var9, var_pannotationsnode5); /* Direct call parser_prod#AParam#init_aparam on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pexprnode2); /* Direct call array#Array#add on */ } -var_pparamnode1 = var7; -var_node_list = var_pparamnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +} else { +} +var8 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr); { -var11 = nit___nit__Parser___go_to(var_p, var10); +nit__parser_prod___ABlockExpr___init_ablockexpr(var8, var_listnode3, ((val*)NULL)); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on */ } +var_pexprnode1 = var8; +var_node_list = var_pexprnode1; +var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ +var10 = nit___nit__Parser___go_to(var_p, var9); +} +{ +nit___nit__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction121#action for (self: ReduceAction121, Parser) */ -void nit__parser___nit__parser__ReduceAction121___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction161#action for (self: ReduceAction161, Parser) */ +void nit__parser___nit__parser__ReduceAction161___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tidnode2 /* var tidnode2: nullable Object */; +val* var2 /* : Array[Object] */; +val* var_listnode4 /* var listnode4: Array[Object] */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; short int var3 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; +val* var_listnode3 /* var listnode3: nullable Object */; short int var4 /* : Bool */; int cltype5; int idtype6; -val* var7 /* : AParam */; -val* var8 /* : null */; -val* var9 /* : null */; -val* var_pparamnode1 /* var pparamnode1: nullable AParam */; -long var10 /* : Int */; -long var11 /* : Int */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +val* var12 /* : Array[Object] */; +val* var13 /* : ABlockExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */; +long var14 /* : Int */; +long var15 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var2 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var2; -var_tidnode2 = var_nodearraylist1; -/* isa nullable TId */ -cltype = type_nullable__nit__TId.color; -idtype = type_nullable__nit__TId.id; -if(var_tidnode2 == NULL) { +var_listnode4 = var2; +var_pexprnode2 = var_nodearraylist1; +/* isa nullable AExpr */ +cltype = type_nullable__nit__AExpr.color; +idtype = type_nullable__nit__AExpr.id; +if(var_pexprnode2 == NULL) { var3 = 1; } else { -if(cltype >= var_tidnode2->type->table_size) { +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { var3 = 0; } else { -var3 = var_tidnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4685); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5070); +fatal_exit(1); } -var_ptypenode3 = var_nodearraylist2; -/* isa nullable AType */ -cltype5 = type_nullable__nit__AType.color; -idtype6 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { -var4 = 1; +var_listnode3 = var_nodearraylist2; +/* isa Array[Object] */ +cltype5 = type_standard__Array__standard__Object.color; +idtype6 = type_standard__Array__standard__Object.id; +if(var_listnode3 == NULL) { +var4 = 0; } else { -if(cltype5 >= var_ptypenode3->type->table_size) { +if(cltype5 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { var4 = 0; } else { -var4 = var_ptypenode3->type->type_table[cltype5] == idtype6; +var4 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype5] == idtype6; } } if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4687); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5072); +fatal_exit(1); +} +if (var_pexprnode2 == NULL) { +var7 = 0; /* is null */ +} else { +var7 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_pexprnode2,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var10 = ((short int(*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pexprnode2, var_other); /* == on */ +} +var11 = !var10; +var8 = var11; +goto RET_LABEL9; +RET_LABEL9:(void)0; +} +var7 = var8; +} +if (var7){ +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4, var_pexprnode2); /* Direct call array#Array#add on */ +} +} else { +} +{ +var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } -var7 = NEW_nit__AParam(&type_nit__AParam); -var8 = NULL; -var9 = NULL; +var_listnode4 = var12; +var13 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr); { -nit__parser_prod___AParam___init_aparam(var7, var_tidnode2, var_ptypenode3, var8, var9); /* Direct call parser_prod#AParam#init_aparam on */ +nit__parser_prod___ABlockExpr___init_ablockexpr(var13, var_listnode4, ((val*)NULL)); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on */ } -var_pparamnode1 = var7; -var_node_list = var_pparamnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexprnode1 = var13; +var_node_list = var_pexprnode1; +var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var15 = nit___nit__Parser___go_to(var_p, var14); } { -nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction122#action for (self: ReduceAction122, Parser) */ -void nit__parser___nit__parser__ReduceAction122___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction162#action for (self: ReduceAction162, Parser) */ +void nit__parser___nit__parser__ReduceAction162___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tidnode2 /* var tidnode2: nullable Object */; -short int var4 /* : Bool */; +val* var2 /* : Array[Object] */; +val* var_listnode3 /* var listnode3: Array[Object] */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -int cltype6; -int idtype7; -val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */; +val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var11 /* : AParam */; -val* var12 /* : null */; -val* var_pparamnode1 /* var pparamnode1: nullable AParam */; -long var13 /* : Int */; -long var14 /* : Int */; +val* var9 /* : ABlockExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */; +long var10 /* : Int */; +long var11 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist2 = var; { -var2 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var3 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var3; -var_tidnode2 = var_nodearraylist1; -/* isa nullable TId */ -cltype = type_nullable__nit__TId.color; -idtype = type_nullable__nit__TId.id; -if(var_tidnode2 == NULL) { -var4 = 1; +var_listnode3 = var2; +var_pexprnode2 = var_nodearraylist1; +/* isa nullable AExpr */ +cltype = type_nullable__nit__AExpr.color; +idtype = type_nullable__nit__AExpr.id; +if(var_pexprnode2 == NULL) { +var3 = 1; } else { -if(cltype >= var_tidnode2->type->table_size) { -var4 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var3 = 0; } else { -var4 = var_tidnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var4)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4707); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5094); +fatal_exit(1); } -var_ptypenode3 = var_nodearraylist3; -/* isa nullable AType */ -cltype6 = type_nullable__nit__AType.color; -idtype7 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { -var5 = 1; +if (var_pexprnode2 == NULL) { +var4 = 0; /* is null */ } else { -if(cltype6 >= var_ptypenode3->type->table_size) { -var5 = 0; -} else { -var5 = var_ptypenode3->type->type_table[cltype6] == idtype7; +var4 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_pexprnode2,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var7 = ((short int(*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pexprnode2, var_other); /* == on */ } -if (unlikely(!var5)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4709); -show_backtrace(1); +var8 = !var7; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var_pannotationsnode5 = var_nodearraylist2; -/* isa nullable AAnnotations */ -cltype9 = type_nullable__nit__AAnnotations.color; -idtype10 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode5 == NULL) { -var8 = 1; -} else { -if(cltype9 >= var_pannotationsnode5->type->table_size) { -var8 = 0; -} else { -var8 = var_pannotationsnode5->type->type_table[cltype9] == idtype10; +var4 = var5; } +if (var4){ +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pexprnode2); /* Direct call array#Array#add on */ } -if (unlikely(!var8)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4711); -show_backtrace(1); +} else { } -var11 = NEW_nit__AParam(&type_nit__AParam); -var12 = NULL; +var9 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr); { -nit__parser_prod___AParam___init_aparam(var11, var_tidnode2, var_ptypenode3, var12, var_pannotationsnode5); /* Direct call parser_prod#AParam#init_aparam on */ +nit__parser_prod___ABlockExpr___init_ablockexpr(var9, var_listnode3, ((val*)NULL)); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on */ } -var_pparamnode1 = var11; -var_node_list = var_pparamnode1; -var13 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexprnode1 = var9; +var_node_list = var_pexprnode1; +var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var14 = nit___nit__Parser___go_to(var_p, var13); +var11 = nit___nit__Parser___go_to(var_p, var10); } { -nit___nit__Parser___push(var_p, var14, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction123#action for (self: ReduceAction123, Parser) */ -void nit__parser___nit__parser__ReduceAction123___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction163#action for (self: ReduceAction163, Parser) */ +void nit__parser___nit__parser__ReduceAction163___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tidnode2 /* var tidnode2: nullable Object */; +val* var3 /* : Array[Object] */; +val* var_listnode4 /* var listnode4: Array[Object] */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; short int var4 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; +val* var_listnode3 /* var listnode3: nullable Object */; short int var5 /* : Bool */; int cltype6; int idtype7; -val* var_tdotdotdotnode4 /* var tdotdotdotnode4: nullable Object */; short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var11 /* : AParam */; -val* var12 /* : null */; -val* var_pparamnode1 /* var pparamnode1: nullable AParam */; -long var13 /* : Int */; -long var14 /* : Int */; +short int var9 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +val* var13 /* : Array[Object] */; +val* var14 /* : ABlockExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */; +long var15 /* : Int */; +long var16 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist2 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist1 = var2; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var3 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var3; -var_tidnode2 = var_nodearraylist1; -/* isa nullable TId */ -cltype = type_nullable__nit__TId.color; -idtype = type_nullable__nit__TId.id; -if(var_tidnode2 == NULL) { +var_listnode4 = var3; +var_pexprnode2 = var_nodearraylist1; +/* isa nullable AExpr */ +cltype = type_nullable__nit__AExpr.color; +idtype = type_nullable__nit__AExpr.id; +if(var_pexprnode2 == NULL) { var4 = 1; } else { -if(cltype >= var_tidnode2->type->table_size) { +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { var4 = 0; } else { -var4 = var_tidnode2->type->type_table[cltype] == idtype; +var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4731); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5116); +fatal_exit(1); } -var_ptypenode3 = var_nodearraylist2; -/* isa nullable AType */ -cltype6 = type_nullable__nit__AType.color; -idtype7 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { -var5 = 1; +var_listnode3 = var_nodearraylist2; +/* isa Array[Object] */ +cltype6 = type_standard__Array__standard__Object.color; +idtype7 = type_standard__Array__standard__Object.id; +if(var_listnode3 == NULL) { +var5 = 0; } else { -if(cltype6 >= var_ptypenode3->type->table_size) { +if(cltype6 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { var5 = 0; } else { -var5 = var_ptypenode3->type->type_table[cltype6] == idtype7; +var5 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4733); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5118); +fatal_exit(1); } -var_tdotdotdotnode4 = var_nodearraylist3; -/* isa nullable TDotdotdot */ -cltype9 = type_nullable__nit__TDotdotdot.color; -idtype10 = type_nullable__nit__TDotdotdot.id; -if(var_tdotdotdotnode4 == NULL) { -var8 = 1; -} else { -if(cltype9 >= var_tdotdotdotnode4->type->table_size) { -var8 = 0; +if (var_pexprnode2 == NULL) { +var8 = 0; /* is null */ } else { -var8 = var_tdotdotdotnode4->type->type_table[cltype9] == idtype10; +var8 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_pexprnode2,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var11 = ((short int(*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pexprnode2, var_other); /* == on */ } -if (unlikely(!var8)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4735); -show_backtrace(1); +var12 = !var11; +var9 = var12; +goto RET_LABEL10; +RET_LABEL10:(void)0; } -var11 = NEW_nit__AParam(&type_nit__AParam); -var12 = NULL; +var8 = var9; +} +if (var8){ { -nit__parser_prod___AParam___init_aparam(var11, var_tidnode2, var_ptypenode3, var_tdotdotdotnode4, var12); /* Direct call parser_prod#AParam#init_aparam on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4, var_pexprnode2); /* Direct call array#Array#add on */ +} +} else { } -var_pparamnode1 = var11; -var_node_list = var_pparamnode1; -var13 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var14 = nit___nit__Parser___go_to(var_p, var13); +var13 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } +var_listnode4 = var13; +var14 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr); { -nit___nit__Parser___push(var_p, var14, var_node_list); /* Direct call parser_work#Parser#push on */ +nit__parser_prod___ABlockExpr___init_ablockexpr(var14, var_listnode4, ((val*)NULL)); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on */ +} +var_pexprnode1 = var14; +var_node_list = var_pexprnode1; +var15 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var16 = nit___nit__Parser___go_to(var_p, var15); +} +{ +nit___nit__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction124#action for (self: ReduceAction124, Parser) */ -void nit__parser___nit__parser__ReduceAction124___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction164#action for (self: ReduceAction164, Parser) */ +void nit__parser___nit__parser__ReduceAction164___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var2 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var3 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tidnode2 /* var tidnode2: nullable Object */; -short int var5 /* : Bool */; +val* var3 /* : Array[Object] */; +val* var_listnode3 /* var listnode3: Array[Object] */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var_tdotdotdotnode4 /* var tdotdotdotnode4: nullable Object */; +val* var_other /* var other: nullable Object */; +short int var8 /* : Bool */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var15 /* : AParam */; -val* var_pparamnode1 /* var pparamnode1: nullable AParam */; -long var16 /* : Int */; -long var17 /* : Int */; +val* var_tkwendnode4 /* var tkwendnode4: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var13 /* : ABlockExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */; +long var14 /* : Int */; +long var15 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; +var_nodearraylist3 = var; { -var2 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist2 = var1; { -var3 = nit___nit__Parser___pop(var_p); +var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; +var_nodearraylist1 = var2; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var4 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var4; -var_tidnode2 = var_nodearraylist1; -/* isa nullable TId */ -cltype = type_nullable__nit__TId.color; -idtype = type_nullable__nit__TId.id; -if(var_tidnode2 == NULL) { -var5 = 1; +var_listnode3 = var3; +var_pexprnode2 = var_nodearraylist1; +/* isa nullable AExpr */ +cltype = type_nullable__nit__AExpr.color; +idtype = type_nullable__nit__AExpr.id; +if(var_pexprnode2 == NULL) { +var4 = 1; } else { -if(cltype >= var_tidnode2->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; } else { -var5 = var_tidnode2->type->type_table[cltype] == idtype; +var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var5)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4756); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5141); +fatal_exit(1); } -var_ptypenode3 = var_nodearraylist3; -/* isa nullable AType */ -cltype7 = type_nullable__nit__AType.color; -idtype8 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { -var6 = 1; -} else { -if(cltype7 >= var_ptypenode3->type->table_size) { -var6 = 0; +if (var_pexprnode2 == NULL) { +var5 = 0; /* is null */ } else { -var6 = var_ptypenode3->type->type_table[cltype7] == idtype8; +var5 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_pexprnode2,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var8 = ((short int(*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pexprnode2, var_other); /* == on */ } -if (unlikely(!var6)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4758); -show_backtrace(1); +var9 = !var8; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } -var_tdotdotdotnode4 = var_nodearraylist4; -/* isa nullable TDotdotdot */ -cltype10 = type_nullable__nit__TDotdotdot.color; -idtype11 = type_nullable__nit__TDotdotdot.id; -if(var_tdotdotdotnode4 == NULL) { -var9 = 1; -} else { -if(cltype10 >= var_tdotdotdotnode4->type->table_size) { -var9 = 0; -} else { -var9 = var_tdotdotdotnode4->type->type_table[cltype10] == idtype11; +var5 = var6; } +if (var5){ +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pexprnode2); /* Direct call array#Array#add on */ } -if (unlikely(!var9)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4760); -show_backtrace(1); +} else { } -var_pannotationsnode5 = var_nodearraylist2; -/* isa nullable AAnnotations */ -cltype13 = type_nullable__nit__AAnnotations.color; -idtype14 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode5 == NULL) { -var12 = 1; +var_tkwendnode4 = var_nodearraylist3; +/* isa nullable TKwend */ +cltype11 = type_nullable__nit__TKwend.color; +idtype12 = type_nullable__nit__TKwend.id; +if(var_tkwendnode4 == NULL) { +var10 = 1; } else { -if(cltype13 >= var_pannotationsnode5->type->table_size) { -var12 = 0; +if(cltype11 >= (((long)var_tkwendnode4&3)?type_info[((long)var_tkwendnode4&3)]:var_tkwendnode4->type)->table_size) { +var10 = 0; } else { -var12 = var_pannotationsnode5->type->type_table[cltype13] == idtype14; +var10 = (((long)var_tkwendnode4&3)?type_info[((long)var_tkwendnode4&3)]:var_tkwendnode4->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var12)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4762); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5146); +fatal_exit(1); } -var15 = NEW_nit__AParam(&type_nit__AParam); +var13 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr); { -nit__parser_prod___AParam___init_aparam(var15, var_tidnode2, var_ptypenode3, var_tdotdotdotnode4, var_pannotationsnode5); /* Direct call parser_prod#AParam#init_aparam on */ +nit__parser_prod___ABlockExpr___init_ablockexpr(var13, var_listnode3, var_tkwendnode4); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on */ } -var_pparamnode1 = var15; -var_node_list = var_pparamnode1; -var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexprnode1 = var13; +var_node_list = var_pexprnode1; +var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var17 = nit___nit__Parser___go_to(var_p, var16); +var15 = nit___nit__Parser___go_to(var_p, var14); } { -nit___nit__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction125#action for (self: ReduceAction125, Parser) */ -void nit__parser___nit__parser__ReduceAction125___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction165#action for (self: ReduceAction165, Parser) */ +void nit__parser___nit__parser__ReduceAction165___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var2 /* : nullable Object */; @@ -9152,27 +9032,34 @@ val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var4 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var_tkwimportnode2 /* var tkwimportnode2: nullable Object */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; short int var5 /* : Bool */; int cltype; int idtype; -val* var_pexterncallnode3 /* var pexterncallnode3: nullable Object */; +val* var_listnode3 /* var listnode3: nullable Object */; short int var6 /* : Bool */; int cltype7; int idtype8; -val* var9 /* : null */; +short int var9 /* : Bool */; short int var10 /* : Bool */; -short int var11 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var12 /* : Bool */; short int var13 /* : Bool */; -short int var14 /* : Bool */; -val* var15 /* : AExternCalls */; -val* var_pexterncallsnode1 /* var pexterncallsnode1: nullable AExternCalls */; -long var16 /* : Int */; -long var17 /* : Int */; +val* var14 /* : Array[Object] */; +val* var_tkwendnode5 /* var tkwendnode5: nullable Object */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var18 /* : ABlockExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */; +long var19 /* : Int */; +long var20 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -9190,752 +9077,803 @@ var4 = NEW_standard__Array(&type_standard__Array__standard__Object); standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } var_listnode4 = var4; -var_tkwimportnode2 = var_nodearraylist1; -/* isa nullable TKwimport */ -cltype = type_nullable__nit__TKwimport.color; -idtype = type_nullable__nit__TKwimport.id; -if(var_tkwimportnode2 == NULL) { +var_pexprnode2 = var_nodearraylist1; +/* isa nullable AExpr */ +cltype = type_nullable__nit__AExpr.color; +idtype = type_nullable__nit__AExpr.id; +if(var_pexprnode2 == NULL) { var5 = 1; } else { -if(cltype >= var_tkwimportnode2->type->table_size) { +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { var5 = 0; } else { -var5 = var_tkwimportnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4783); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5166); +fatal_exit(1); } -var_pexterncallnode3 = var_nodearraylist3; -/* isa nullable AExternCall */ -cltype7 = type_nullable__nit__AExternCall.color; -idtype8 = type_nullable__nit__AExternCall.id; -if(var_pexterncallnode3 == NULL) { -var6 = 1; +var_listnode3 = var_nodearraylist2; +/* isa Array[Object] */ +cltype7 = type_standard__Array__standard__Object.color; +idtype8 = type_standard__Array__standard__Object.id; +if(var_listnode3 == NULL) { +var6 = 0; } else { -if(cltype7 >= var_pexterncallnode3->type->table_size) { +if(cltype7 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { var6 = 0; } else { -var6 = var_pexterncallnode3->type->type_table[cltype7] == idtype8; +var6 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype7] == idtype8; } } if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4785); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5168); +fatal_exit(1); } -var9 = NULL; -if (var_pexterncallnode3 == NULL) { -var10 = 0; /* is null */ +if (var_pexprnode2 == NULL) { +var9 = 0; /* is null */ } else { -var10 = 1; /* arg is null and recv is not */ +var9 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pexterncallnode3,var9) on */ -var_other = var9; +{ /* Inline kernel#Object#!= (var_pexprnode2,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var13 = ((short int (*)(val* self, val* p0))(var_pexterncallnode3->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pexterncallnode3, var_other) /* == on */; +var12 = ((short int(*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pexprnode2, var_other); /* == on */ } -var14 = !var13; -var11 = var14; -goto RET_LABEL12; -RET_LABEL12:(void)0; +var13 = !var12; +var10 = var13; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -var10 = var11; +var9 = var10; } -if (var10){ +if (var9){ { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4, var_pexterncallnode3); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4, var_pexprnode2); /* Direct call array#Array#add on */ } } else { } -var15 = NEW_nit__AExternCalls(&type_nit__AExternCalls); { -nit__parser_prod___AExternCalls___init_aexterncalls(var15, var_tkwimportnode2, var_listnode4); /* Direct call parser_prod#AExternCalls#init_aexterncalls on */ +var14 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } -var_pexterncallsnode1 = var15; -var_node_list = var_pexterncallsnode1; -var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_listnode4 = var14; +var_tkwendnode5 = var_nodearraylist4; +/* isa nullable TKwend */ +cltype16 = type_nullable__nit__TKwend.color; +idtype17 = type_nullable__nit__TKwend.id; +if(var_tkwendnode5 == NULL) { +var15 = 1; +} else { +if(cltype16 >= (((long)var_tkwendnode5&3)?type_info[((long)var_tkwendnode5&3)]:var_tkwendnode5->type)->table_size) { +var15 = 0; +} else { +var15 = (((long)var_tkwendnode5&3)?type_info[((long)var_tkwendnode5&3)]:var_tkwendnode5->type)->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5174); +fatal_exit(1); +} +var18 = NEW_nit__ABlockExpr(&type_nit__ABlockExpr); { -var17 = nit___nit__Parser___go_to(var_p, var16); +nit__parser_prod___ABlockExpr___init_ablockexpr(var18, var_listnode4, var_tkwendnode5); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on */ } +var_pexprnode1 = var18; +var_node_list = var_pexprnode1; +var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -nit___nit__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on */ +var20 = nit___nit__Parser___go_to(var_p, var19); +} +{ +nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction126#action for (self: ReduceAction126, Parser) */ -void nit__parser___nit__parser__ReduceAction126___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction169#action for (self: ReduceAction169, Parser) */ +void nit__parser___nit__parser__ReduceAction169___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var5 /* : Array[Object] */; -val* var_listnode5 /* var listnode5: Array[Object] */; -val* var_tkwimportnode2 /* var tkwimportnode2: nullable Object */; -short int var6 /* : Bool */; +val* var_tkwreturnnode2 /* var tkwreturnnode2: nullable Object */; +short int var1 /* : Bool */; int cltype; int idtype; -val* var_pexterncallnode3 /* var pexterncallnode3: nullable Object */; -short int var7 /* : Bool */; -int cltype8; -int idtype9; -val* var_listnode4 /* var listnode4: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -val* var19 /* : Array[Object] */; -val* var20 /* : AExternCalls */; -val* var_pexterncallsnode1 /* var pexterncallsnode1: nullable AExternCalls */; -long var21 /* : Int */; -long var22 /* : Int */; +val* var2 /* : AReturnExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AReturnExpr */; +long var3 /* : Int */; +long var4 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = var; +var_tkwreturnnode2 = var_nodearraylist1; +/* isa nullable TKwreturn */ +cltype = type_nullable__nit__TKwreturn.color; +idtype = type_nullable__nit__TKwreturn.id; +if(var_tkwreturnnode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_tkwreturnnode2&3)?type_info[((long)var_tkwreturnnode2&3)]:var_tkwreturnnode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_tkwreturnnode2&3)?type_info[((long)var_tkwreturnnode2&3)]:var_tkwreturnnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist3 = var2; +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5190); +fatal_exit(1); +} +var2 = NEW_nit__AReturnExpr(&type_nit__AReturnExpr); { -var3 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AReturnExpr___init_areturnexpr(var2, var_tkwreturnnode2, ((val*)NULL)); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on */ } -var_nodearraylist2 = var3; +var_pexprnode1 = var2; +var_node_list = var_pexprnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var4 = nit___nit__Parser___pop(var_p); +var4 = nit___nit__Parser___go_to(var_p, var3); } -var_nodearraylist1 = var4; -var5 = NEW_standard__Array(&type_standard__Array__standard__Object); { -standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_listnode5 = var5; -var_tkwimportnode2 = var_nodearraylist1; -/* isa nullable TKwimport */ -cltype = type_nullable__nit__TKwimport.color; -idtype = type_nullable__nit__TKwimport.id; -if(var_tkwimportnode2 == NULL) { -var6 = 1; -} else { -if(cltype >= var_tkwimportnode2->type->table_size) { -var6 = 0; -} else { -var6 = var_tkwimportnode2->type->type_table[cltype] == idtype; +RET_LABEL:; } +/* method parser#ReduceAction170#action for (self: ReduceAction170, Parser) */ +void nit__parser___nit__parser__ReduceAction170___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwreturnnode2 /* var tkwreturnnode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var_pexprnode3 /* var pexprnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AReturnExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AReturnExpr */; +long var7 /* : Int */; +long var8 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -if (unlikely(!var6)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4808); -show_backtrace(1); +var_nodearraylist2 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } -var_pexterncallnode3 = var_nodearraylist3; -/* isa nullable AExternCall */ -cltype8 = type_nullable__nit__AExternCall.color; -idtype9 = type_nullable__nit__AExternCall.id; -if(var_pexterncallnode3 == NULL) { -var7 = 1; +var_nodearraylist1 = var1; +var_tkwreturnnode2 = var_nodearraylist1; +/* isa nullable TKwreturn */ +cltype = type_nullable__nit__TKwreturn.color; +idtype = type_nullable__nit__TKwreturn.id; +if(var_tkwreturnnode2 == NULL) { +var2 = 1; } else { -if(cltype8 >= var_pexterncallnode3->type->table_size) { -var7 = 0; +if(cltype >= (((long)var_tkwreturnnode2&3)?type_info[((long)var_tkwreturnnode2&3)]:var_tkwreturnnode2->type)->table_size) { +var2 = 0; } else { -var7 = var_pexterncallnode3->type->type_table[cltype8] == idtype9; +var2 = (((long)var_tkwreturnnode2&3)?type_info[((long)var_tkwreturnnode2&3)]:var_tkwreturnnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var7)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4810); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5207); +fatal_exit(1); } -var_listnode4 = var_nodearraylist4; -/* isa Array[Object] */ -cltype11 = type_standard__Array__standard__Object.color; -idtype12 = type_standard__Array__standard__Object.id; -if(var_listnode4 == NULL) { -var10 = 0; +var_pexprnode3 = var_nodearraylist2; +/* isa nullable AExpr */ +cltype4 = type_nullable__nit__AExpr.color; +idtype5 = type_nullable__nit__AExpr.id; +if(var_pexprnode3 == NULL) { +var3 = 1; } else { -if(cltype11 >= var_listnode4->type->table_size) { -var10 = 0; +if(cltype4 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var3 = 0; } else { -var10 = var_listnode4->type->type_table[cltype11] == idtype12; +var3 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var10)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4812); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5209); +fatal_exit(1); } -var13 = NULL; -if (var_pexterncallnode3 == NULL) { -var14 = 0; /* is null */ -} else { -var14 = 1; /* arg is null and recv is not */ +var6 = NEW_nit__AReturnExpr(&type_nit__AReturnExpr); +{ +nit__parser_prod___AReturnExpr___init_areturnexpr(var6, var_tkwreturnnode2, var_pexprnode3); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on */ } -if (0) { -{ /* Inline kernel#Object#!= (var_pexterncallnode3,var13) on */ -var_other = var13; +var_pexprnode1 = var6; +var_node_list = var_pexprnode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var17 = ((short int (*)(val* self, val* p0))(var_pexterncallnode3->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pexterncallnode3, var_other) /* == on */; +var8 = nit___nit__Parser___go_to(var_p, var7); } -var18 = !var17; -var15 = var18; -goto RET_LABEL16; -RET_LABEL16:(void)0; +{ +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ } -var14 = var15; +RET_LABEL:; } -if (var14){ +/* method parser#ReduceAction171#action for (self: ReduceAction171, Parser) */ +void nit__parser___nit__parser__ReduceAction171___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwbreaknode2 /* var tkwbreaknode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : ABreakExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABreakExpr */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode5, var_pexterncallnode3); /* Direct call array#Array#add on */ +var = nit___nit__Parser___pop(var_p); } +var_nodearraylist1 = var; +var_tkwbreaknode2 = var_nodearraylist1; +/* isa nullable TKwbreak */ +cltype = type_nullable__nit__TKwbreak.color; +idtype = type_nullable__nit__TKwbreak.id; +if(var_tkwbreaknode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_tkwbreaknode2&3)?type_info[((long)var_tkwbreaknode2&3)]:var_tkwbreaknode2->type)->table_size) { +var1 = 0; } else { +var1 = (((long)var_tkwbreaknode2&3)?type_info[((long)var_tkwbreaknode2&3)]:var_tkwbreaknode2->type)->type_table[cltype] == idtype; } -{ -var19 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4); } -var_listnode5 = var19; -var20 = NEW_nit__AExternCalls(&type_nit__AExternCalls); +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5225); +fatal_exit(1); +} +var2 = NEW_nit__ABreakExpr(&type_nit__ABreakExpr); { -nit__parser_prod___AExternCalls___init_aexterncalls(var20, var_tkwimportnode2, var_listnode5); /* Direct call parser_prod#AExternCalls#init_aexterncalls on */ +nit__parser_prod___ABreakExpr___init_abreakexpr(var2, var_tkwbreaknode2, ((val*)NULL)); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on */ } -var_pexterncallsnode1 = var20; -var_node_list = var_pexterncallsnode1; -var21 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexprnode1 = var2; +var_node_list = var_pexprnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var22 = nit___nit__Parser___go_to(var_p, var21); +var4 = nit___nit__Parser___go_to(var_p, var3); } { -nit___nit__Parser___push(var_p, var22, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction128#action for (self: ReduceAction128, Parser) */ -void nit__parser___nit__parser__ReduceAction128___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction172#action for (self: ReduceAction172, Parser) */ +void nit__parser___nit__parser__ReduceAction172___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexterncallnode1 /* var pexterncallnode1: nullable Object */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var_tkwbreaknode2 /* var tkwbreaknode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var_plabelnode3 /* var plabelnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : ABreakExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABreakExpr */; +long var7 /* : Int */; +long var8 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist2 = var; { -var2 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist1 = var1; +var_tkwbreaknode2 = var_nodearraylist1; +/* isa nullable TKwbreak */ +cltype = type_nullable__nit__TKwbreak.color; +idtype = type_nullable__nit__TKwbreak.id; +if(var_tkwbreaknode2 == NULL) { +var2 = 1; +} else { +if(cltype >= (((long)var_tkwbreaknode2&3)?type_info[((long)var_tkwbreaknode2&3)]:var_tkwbreaknode2->type)->table_size) { +var2 = 0; +} else { +var2 = (((long)var_tkwbreaknode2&3)?type_info[((long)var_tkwbreaknode2&3)]:var_tkwbreaknode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5242); +fatal_exit(1); +} +var_plabelnode3 = var_nodearraylist2; +/* isa nullable ALabel */ +cltype4 = type_nullable__nit__ALabel.color; +idtype5 = type_nullable__nit__ALabel.id; +if(var_plabelnode3 == NULL) { +var3 = 1; +} else { +if(cltype4 >= (((long)var_plabelnode3&3)?type_info[((long)var_plabelnode3&3)]:var_plabelnode3->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)var_plabelnode3&3)?type_info[((long)var_plabelnode3&3)]:var_plabelnode3->type)->type_table[cltype4] == idtype5; +} +} +if (unlikely(!var3)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5244); +fatal_exit(1); +} +var6 = NEW_nit__ABreakExpr(&type_nit__ABreakExpr); { -var3 = nit___nit__Parser___pop(var_p); +nit__parser_prod___ABreakExpr___init_abreakexpr(var6, var_tkwbreaknode2, var_plabelnode3); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on */ } -var_nodearraylist1 = var3; -var_pexterncallnode1 = var_nodearraylist3; -var_node_list = var_pexterncallnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexprnode1 = var6; +var_node_list = var_pexprnode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction129#action for (self: ReduceAction129, Parser) */ -void nit__parser___nit__parser__ReduceAction129___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction173#action for (self: ReduceAction173, Parser) */ +void nit__parser___nit__parser__ReduceAction173___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexterncallnode1 /* var pexterncallnode1: nullable Object */; -long var2 /* : Int */; +val* var_tkwabortnode2 /* var tkwabortnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : AAbortExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AAbortExpr */; long var3 /* : Int */; +long var4 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_pexterncallnode1 = var_nodearraylist1; -var_node_list = var_pexterncallnode1; -var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist1 = var; +var_tkwabortnode2 = var_nodearraylist1; +/* isa nullable TKwabort */ +cltype = type_nullable__nit__TKwabort.color; +idtype = type_nullable__nit__TKwabort.id; +if(var_tkwabortnode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_tkwabortnode2&3)?type_info[((long)var_tkwabortnode2&3)]:var_tkwabortnode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_tkwabortnode2&3)?type_info[((long)var_tkwabortnode2&3)]:var_tkwabortnode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5260); +fatal_exit(1); +} +var2 = NEW_nit__AAbortExpr(&type_nit__AAbortExpr); { -var3 = nit___nit__Parser___go_to(var_p, var2); +nit__parser_prod___AAbortExpr___init_aabortexpr(var2, var_tkwabortnode2); /* Direct call parser_prod#AAbortExpr#init_aabortexpr on */ } +var_pexprnode1 = var2; +var_node_list = var_pexprnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ +var4 = nit___nit__Parser___go_to(var_p, var3); +} +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction131#action for (self: ReduceAction131, Parser) */ -void nit__parser___nit__parser__ReduceAction131___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction174#action for (self: ReduceAction174, Parser) */ +void nit__parser___nit__parser__ReduceAction174___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */; -short int var2 /* : Bool */; +val* var_tkwcontinuenode2 /* var tkwcontinuenode2: nullable Object */; +short int var1 /* : Bool */; int cltype; int idtype; -val* var3 /* : ASuperExternCall */; -val* var_pexterncallnode1 /* var pexterncallnode1: nullable ASuperExternCall */; +val* var2 /* : AContinueExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AContinueExpr */; +long var3 /* : Int */; long var4 /* : Int */; -long var5 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tkwsupernode2 = var_nodearraylist1; -/* isa nullable TKwsuper */ -cltype = type_nullable__nit__TKwsuper.color; -idtype = type_nullable__nit__TKwsuper.id; -if(var_tkwsupernode2 == NULL) { -var2 = 1; +var_nodearraylist1 = var; +var_tkwcontinuenode2 = var_nodearraylist1; +/* isa nullable TKwcontinue */ +cltype = type_nullable__nit__TKwcontinue.color; +idtype = type_nullable__nit__TKwcontinue.id; +if(var_tkwcontinuenode2 == NULL) { +var1 = 1; } else { -if(cltype >= var_tkwsupernode2->type->table_size) { -var2 = 0; +if(cltype >= (((long)var_tkwcontinuenode2&3)?type_info[((long)var_tkwcontinuenode2&3)]:var_tkwcontinuenode2->type)->table_size) { +var1 = 0; } else { -var2 = var_tkwsupernode2->type->type_table[cltype] == idtype; +var1 = (((long)var_tkwcontinuenode2&3)?type_info[((long)var_tkwcontinuenode2&3)]:var_tkwcontinuenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var2)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4856); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5275); +fatal_exit(1); } -var3 = NEW_nit__ASuperExternCall(&type_nit__ASuperExternCall); +var2 = NEW_nit__AContinueExpr(&type_nit__AContinueExpr); { -nit__parser_prod___ASuperExternCall___init_asuperexterncall(var3, var_tkwsupernode2); /* Direct call parser_prod#ASuperExternCall#init_asuperexterncall on */ +nit__parser_prod___AContinueExpr___init_acontinueexpr(var2, var_tkwcontinuenode2, ((val*)NULL)); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on */ } -var_pexterncallnode1 = var3; -var_node_list = var_pexterncallnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexprnode1 = var2; +var_node_list = var_pexprnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var4 = nit___nit__Parser___go_to(var_p, var3); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction132#action for (self: ReduceAction132, Parser) */ -void nit__parser___nit__parser__ReduceAction132___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction175#action for (self: ReduceAction175, Parser) */ +void nit__parser___nit__parser__ReduceAction175___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pmethidnode2 /* var pmethidnode2: nullable Object */; +val* var_tkwcontinuenode2 /* var tkwcontinuenode2: nullable Object */; short int var2 /* : Bool */; int cltype; int idtype; -val* var3 /* : ALocalPropExternCall */; -val* var_pexterncallnode1 /* var pexterncallnode1: nullable ALocalPropExternCall */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var_plabelnode3 /* var plabelnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AContinueExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AContinueExpr */; +long var7 /* : Int */; +long var8 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var; { var1 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var1; -var_pmethidnode2 = var_nodearraylist1; -/* isa nullable AMethid */ -cltype = type_nullable__nit__AMethid.color; -idtype = type_nullable__nit__AMethid.id; -if(var_pmethidnode2 == NULL) { +var_tkwcontinuenode2 = var_nodearraylist1; +/* isa nullable TKwcontinue */ +cltype = type_nullable__nit__TKwcontinue.color; +idtype = type_nullable__nit__TKwcontinue.id; +if(var_tkwcontinuenode2 == NULL) { var2 = 1; } else { -if(cltype >= var_pmethidnode2->type->table_size) { +if(cltype >= (((long)var_tkwcontinuenode2&3)?type_info[((long)var_tkwcontinuenode2&3)]:var_tkwcontinuenode2->type)->table_size) { var2 = 0; } else { -var2 = var_pmethidnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_tkwcontinuenode2&3)?type_info[((long)var_tkwcontinuenode2&3)]:var_tkwcontinuenode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4871); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5292); +fatal_exit(1); +} +var_plabelnode3 = var_nodearraylist2; +/* isa nullable ALabel */ +cltype4 = type_nullable__nit__ALabel.color; +idtype5 = type_nullable__nit__ALabel.id; +if(var_plabelnode3 == NULL) { +var3 = 1; +} else { +if(cltype4 >= (((long)var_plabelnode3&3)?type_info[((long)var_plabelnode3&3)]:var_plabelnode3->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)var_plabelnode3&3)?type_info[((long)var_plabelnode3&3)]:var_plabelnode3->type)->type_table[cltype4] == idtype5; +} +} +if (unlikely(!var3)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5294); +fatal_exit(1); } -var3 = NEW_nit__ALocalPropExternCall(&type_nit__ALocalPropExternCall); +var6 = NEW_nit__AContinueExpr(&type_nit__AContinueExpr); { -nit__parser_prod___ALocalPropExternCall___init_alocalpropexterncall(var3, var_pmethidnode2); /* Direct call parser_prod#ALocalPropExternCall#init_alocalpropexterncall on */ +nit__parser_prod___AContinueExpr___init_acontinueexpr(var6, var_tkwcontinuenode2, var_plabelnode3); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on */ } -var_pexterncallnode1 = var3; -var_node_list = var_pexterncallnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexprnode1 = var6; +var_node_list = var_pexprnode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction133#action for (self: ReduceAction133, Parser) */ -void nit__parser___nit__parser__ReduceAction133___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction183#action for (self: ReduceAction183, Parser) */ +void nit__parser___nit__parser__ReduceAction183___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var3 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_ptypenode2 /* var ptypenode2: nullable Object */; -short int var4 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var5 /* : Bool */; int cltype; int idtype; -val* var_tdotnode3 /* var tdotnode3: nullable Object */; -short int var5 /* : Bool */; -int cltype6; -int idtype7; -val* var_pmethidnode4 /* var pmethidnode4: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var11 /* : AFullPropExternCall */; -val* var_pexterncallnode1 /* var pexterncallnode1: nullable AFullPropExternCall */; -long var12 /* : Int */; +val* var_tidnode3 /* var tidnode3: nullable Object */; +short int var6 /* : Bool */; +int cltype7; +int idtype8; +val* var_pexprsnode4 /* var pexprsnode4: nullable Object */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var12 /* : ACallExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */; long var13 /* : Int */; +long var14 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist5 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist4 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist3 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var3; -var_ptypenode2 = var_nodearraylist1; -/* isa nullable AType */ -cltype = type_nullable__nit__AType.color; -idtype = type_nullable__nit__AType.id; -if(var_ptypenode2 == NULL) { -var4 = 1; -} else { -if(cltype >= var_ptypenode2->type->table_size) { -var4 = 0; -} else { -var4 = var_ptypenode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var4)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4888); -show_backtrace(1); +var_nodearraylist2 = var3; +{ +var4 = nit___nit__Parser___pop(var_p); } -var_tdotnode3 = var_nodearraylist2; -/* isa nullable TDot */ -cltype6 = type_nullable__nit__TDot.color; -idtype7 = type_nullable__nit__TDot.id; -if(var_tdotnode3 == NULL) { +var_nodearraylist1 = var4; +var_pexprnode2 = var_nodearraylist1; +/* isa nullable AExpr */ +cltype = type_nullable__nit__AExpr.color; +idtype = type_nullable__nit__AExpr.id; +if(var_pexprnode2 == NULL) { var5 = 1; } else { -if(cltype6 >= var_tdotnode3->type->table_size) { +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { var5 = 0; } else { -var5 = var_tdotnode3->type->type_table[cltype6] == idtype7; +var5 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4890); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5314); +fatal_exit(1); } -var_pmethidnode4 = var_nodearraylist3; -/* isa nullable AMethid */ -cltype9 = type_nullable__nit__AMethid.color; -idtype10 = type_nullable__nit__AMethid.id; -if(var_pmethidnode4 == NULL) { -var8 = 1; +var_tidnode3 = var_nodearraylist4; +/* isa nullable TId */ +cltype7 = type_nullable__nit__TId.color; +idtype8 = type_nullable__nit__TId.id; +if(var_tidnode3 == NULL) { +var6 = 1; } else { -if(cltype9 >= var_pmethidnode4->type->table_size) { -var8 = 0; +if(cltype7 >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) { +var6 = 0; } else { -var8 = var_pmethidnode4->type->type_table[cltype9] == idtype10; +var6 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype7] == idtype8; } } -if (unlikely(!var8)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4892); -show_backtrace(1); -} -var11 = NEW_nit__AFullPropExternCall(&type_nit__AFullPropExternCall); -{ -nit__parser_prod___AFullPropExternCall___init_afullpropexterncall(var11, var_ptypenode2, var_tdotnode3, var_pmethidnode4); /* Direct call parser_prod#AFullPropExternCall#init_afullpropexterncall on */ -} -var_pexterncallnode1 = var11; -var_node_list = var_pexterncallnode1; -var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var13 = nit___nit__Parser___go_to(var_p, var12); -} -{ -nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ -} -RET_LABEL:; -} -/* method parser#ReduceAction134#action for (self: ReduceAction134, Parser) */ -void nit__parser___nit__parser__ReduceAction134___nit__parser_work__ReduceAction__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_ptypenode2 /* var ptypenode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AInitPropExternCall */; -val* var_pexterncallnode1 /* var pexterncallnode1: nullable AInitPropExternCall */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5316); +fatal_exit(1); } -var_nodearraylist1 = var1; -var_ptypenode2 = var_nodearraylist1; -/* isa nullable AType */ -cltype = type_nullable__nit__AType.color; -idtype = type_nullable__nit__AType.id; -if(var_ptypenode2 == NULL) { -var2 = 1; +var_pexprsnode4 = var_nodearraylist5; +/* isa nullable AExprs */ +cltype10 = type_nullable__nit__AExprs.color; +idtype11 = type_nullable__nit__AExprs.id; +if(var_pexprsnode4 == NULL) { +var9 = 1; } else { -if(cltype >= var_ptypenode2->type->table_size) { -var2 = 0; +if(cltype10 >= (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->table_size) { +var9 = 0; } else { -var2 = var_ptypenode2->type->type_table[cltype] == idtype; +var9 = (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->type_table[cltype10] == idtype11; } } -if (unlikely(!var2)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4909); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5318); +fatal_exit(1); } -var3 = NEW_nit__AInitPropExternCall(&type_nit__AInitPropExternCall); +var12 = NEW_nit__ACallExpr(&type_nit__ACallExpr); { -nit__parser_prod___AInitPropExternCall___init_ainitpropexterncall(var3, var_ptypenode2); /* Direct call parser_prod#AInitPropExternCall#init_ainitpropexterncall on */ +nit__parser_prod___ACallExpr___init_acallexpr(var12, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ } -var_pexterncallnode1 = var3; -var_node_list = var_pexterncallnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexprnode1 = var12; +var_node_list = var_pexprnode1; +var13 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var14 = nit___nit__Parser___go_to(var_p, var13); } { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var14, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction135#action for (self: ReduceAction135, Parser) */ -void nit__parser___nit__parser__ReduceAction135___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction184#action for (self: ReduceAction184, Parser) */ +void nit__parser___nit__parser__ReduceAction184___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var4 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var5 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var6 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_ptypenode2 /* var ptypenode2: nullable Object */; -short int var10 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var6 /* : Bool */; int cltype; int idtype; -val* var_tdotnode3 /* var tdotnode3: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var_tkwasnode4 /* var tkwasnode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var_ptypenode5 /* var ptypenode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var20 /* : ACastAsExternCall */; -val* var_pexterncallnode1 /* var pexterncallnode1: nullable ACastAsExternCall */; -long var21 /* : Int */; -long var22 /* : Int */; +val* var_tidnode3 /* var tidnode3: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var_pexprsnode4 /* var pexprsnode4: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var13 /* : ACallExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */; +long var14 /* : Int */; +long var15 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist6 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var1; +var_nodearraylist5 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var2; +var_nodearraylist4 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var3; +var_nodearraylist3 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var4; +var_nodearraylist2 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var9; -var_ptypenode2 = var_nodearraylist1; -/* isa nullable AType */ -cltype = type_nullable__nit__AType.color; -idtype = type_nullable__nit__AType.id; -if(var_ptypenode2 == NULL) { -var10 = 1; -} else { -if(cltype >= var_ptypenode2->type->table_size) { -var10 = 0; -} else { -var10 = var_ptypenode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var10)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4932); -show_backtrace(1); -} -var_tdotnode3 = var_nodearraylist2; -/* isa nullable TDot */ -cltype12 = type_nullable__nit__TDot.color; -idtype13 = type_nullable__nit__TDot.id; -if(var_tdotnode3 == NULL) { -var11 = 1; +var_nodearraylist1 = var5; +var_pexprnode2 = var_nodearraylist1; +/* isa nullable AExpr */ +cltype = type_nullable__nit__AExpr.color; +idtype = type_nullable__nit__AExpr.id; +if(var_pexprnode2 == NULL) { +var6 = 1; } else { -if(cltype12 >= var_tdotnode3->type->table_size) { -var11 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var6 = 0; } else { -var11 = var_tdotnode3->type->type_table[cltype12] == idtype13; +var6 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var11)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4934); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5340); +fatal_exit(1); } -var_tkwasnode4 = var_nodearraylist3; -/* isa nullable TKwas */ -cltype15 = type_nullable__nit__TKwas.color; -idtype16 = type_nullable__nit__TKwas.id; -if(var_tkwasnode4 == NULL) { -var14 = 1; +var_tidnode3 = var_nodearraylist5; +/* isa nullable TId */ +cltype8 = type_nullable__nit__TId.color; +idtype9 = type_nullable__nit__TId.id; +if(var_tidnode3 == NULL) { +var7 = 1; } else { -if(cltype15 >= var_tkwasnode4->type->table_size) { -var14 = 0; +if(cltype8 >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) { +var7 = 0; } else { -var14 = var_tkwasnode4->type->type_table[cltype15] == idtype16; +var7 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var14)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4936); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5342); +fatal_exit(1); } -var_ptypenode5 = var_nodearraylist7; -/* isa nullable AType */ -cltype18 = type_nullable__nit__AType.color; -idtype19 = type_nullable__nit__AType.id; -if(var_ptypenode5 == NULL) { -var17 = 1; +var_pexprsnode4 = var_nodearraylist6; +/* isa nullable AExprs */ +cltype11 = type_nullable__nit__AExprs.color; +idtype12 = type_nullable__nit__AExprs.id; +if(var_pexprsnode4 == NULL) { +var10 = 1; } else { -if(cltype18 >= var_ptypenode5->type->table_size) { -var17 = 0; +if(cltype11 >= (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->table_size) { +var10 = 0; } else { -var17 = var_ptypenode5->type->type_table[cltype18] == idtype19; +var10 = (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var17)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 4938); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 5344); +fatal_exit(1); } -var20 = NEW_nit__ACastAsExternCall(&type_nit__ACastAsExternCall); +var13 = NEW_nit__ACallExpr(&type_nit__ACallExpr); { -nit__parser_prod___ACastAsExternCall___init_acastasexterncall(var20, var_ptypenode2, var_tdotnode3, var_tkwasnode4, var_ptypenode5); /* Direct call parser_prod#ACastAsExternCall#init_acastasexterncall on */ +nit__parser_prod___ACallExpr___init_acallexpr(var13, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ } -var_pexterncallnode1 = var20; -var_node_list = var_pexterncallnode1; -var21 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexprnode1 = var13; +var_node_list = var_pexprnode1; +var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var22 = nit___nit__Parser___go_to(var_p, var21); +var15 = nit___nit__Parser___go_to(var_p, var14); } { -nit___nit__Parser___push(var_p, var22, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; }