X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__parser.sep.5.c b/c_src/nit__parser.sep.5.c index 384ad67..dc02716 100644 --- a/c_src/nit__parser.sep.5.c +++ b/c_src/nit__parser.sep.5.c @@ -1,9 +1,10 @@ #include "nit__parser.sep.0.h" -/* method parser#ReduceAction242#action for (self: ReduceAction242, Parser) */ -void nit__parser___nit__parser__ReduceAction242___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction273#action for (self: ReduceAction273, Parser) */ +void nit__parser___nit__parser__ReduceAction273___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 */; @@ -16,31 +17,36 @@ val* var5 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var6 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var7 /* : AImplicitSelfExpr */; -val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */; -val* var_tidnode3 /* var tidnode3: nullable Object */; -short int var9 /* : Bool */; +val* var_tkwwithnode2 /* var tkwwithnode2: nullable Object */; +short int var7 /* : Bool */; int cltype; int idtype; -val* var_pexprsnode4 /* var pexprsnode4: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var_passignopnode5 /* var passignopnode5: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_pexprnode6 /* var pexprnode6: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : ACallReassignExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */; -long var20 /* : Int */; +val* var_pexprnode3 /* var pexprnode3: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var_tkwdonode4 /* var tkwdonode4: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_pexprnode5 /* var pexprnode5: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_plabelnode6 /* var plabelnode6: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var20 /* : AWithExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AWithExpr */; long var21 /* : Int */; +long var22 /* : 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); } @@ -65,105 +71,117 @@ var_nodearraylist2 = var5; var6 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var6; -var7 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); -{ -{ /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var7) on */ -RET_LABEL8:(void)0; +var_tkwwithnode2 = var_nodearraylist1; +/* isa nullable TKwwith */ +cltype = type_nullable__nit__TKwwith.color; +idtype = type_nullable__nit__TKwwith.id; +if(var_tkwwithnode2 == NULL) { +var7 = 1; +} else { +if(cltype >= (((long)var_tkwwithnode2&3)?type_info[((long)var_tkwwithnode2&3)]:var_tkwwithnode2->type)->table_size) { +var7 = 0; +} else { +var7 = (((long)var_tkwwithnode2&3)?type_info[((long)var_tkwwithnode2&3)]:var_tkwwithnode2->type)->type_table[cltype] == idtype; } } -var_pexprnode2 = var7; -var_tidnode3 = var_nodearraylist3; -/* isa nullable TId */ -cltype = type_nullable__nit__TId.color; -idtype = type_nullable__nit__TId.id; -if(var_tidnode3 == NULL) { -var9 = 1; +if (unlikely(!var7)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7434); +fatal_exit(1); +} +var_pexprnode3 = var_nodearraylist3; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode3 == NULL) { +var8 = 1; } else { -if(cltype >= var_tidnode3->type->table_size) { -var9 = 0; +if(cltype9 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var8 = 0; } else { -var9 = var_tidnode3->type->type_table[cltype] == idtype; +var8 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var9)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7029); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7436); +fatal_exit(1); } -var_pexprsnode4 = var_nodearraylist4; -/* isa nullable AExprs */ -cltype11 = type_nullable__nit__AExprs.color; -idtype12 = type_nullable__nit__AExprs.id; -if(var_pexprsnode4 == NULL) { -var10 = 1; +var_tkwdonode4 = var_nodearraylist5; +/* isa nullable TKwdo */ +cltype12 = type_nullable__nit__TKwdo.color; +idtype13 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode4 == NULL) { +var11 = 1; } else { -if(cltype11 >= var_pexprsnode4->type->table_size) { -var10 = 0; +if(cltype12 >= (((long)var_tkwdonode4&3)?type_info[((long)var_tkwdonode4&3)]:var_tkwdonode4->type)->table_size) { +var11 = 0; } else { -var10 = var_pexprsnode4->type->type_table[cltype11] == idtype12; +var11 = (((long)var_tkwdonode4&3)?type_info[((long)var_tkwdonode4&3)]:var_tkwdonode4->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var10)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7031); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7438); +fatal_exit(1); } -var_passignopnode5 = var_nodearraylist5; -/* isa nullable AAssignOp */ -cltype14 = type_nullable__nit__AAssignOp.color; -idtype15 = type_nullable__nit__AAssignOp.id; -if(var_passignopnode5 == NULL) { -var13 = 1; +var_pexprnode5 = var_nodearraylist6; +/* isa nullable AExpr */ +cltype15 = type_nullable__nit__AExpr.color; +idtype16 = type_nullable__nit__AExpr.id; +if(var_pexprnode5 == NULL) { +var14 = 1; } else { -if(cltype14 >= var_passignopnode5->type->table_size) { -var13 = 0; +if(cltype15 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) { +var14 = 0; } else { -var13 = var_passignopnode5->type->type_table[cltype14] == idtype15; +var14 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype15] == idtype16; } } -if (unlikely(!var13)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7033); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7440); +fatal_exit(1); } -var_pexprnode6 = var_nodearraylist6; -/* isa nullable AExpr */ -cltype17 = type_nullable__nit__AExpr.color; -idtype18 = type_nullable__nit__AExpr.id; -if(var_pexprnode6 == NULL) { -var16 = 1; +var_plabelnode6 = var_nodearraylist7; +/* isa nullable ALabel */ +cltype18 = type_nullable__nit__ALabel.color; +idtype19 = type_nullable__nit__ALabel.id; +if(var_plabelnode6 == NULL) { +var17 = 1; } else { -if(cltype17 >= var_pexprnode6->type->table_size) { -var16 = 0; +if(cltype18 >= (((long)var_plabelnode6&3)?type_info[((long)var_plabelnode6&3)]:var_plabelnode6->type)->table_size) { +var17 = 0; } else { -var16 = var_pexprnode6->type->type_table[cltype17] == idtype18; +var17 = (((long)var_plabelnode6&3)?type_info[((long)var_plabelnode6&3)]:var_plabelnode6->type)->type_table[cltype18] == idtype19; } } -if (unlikely(!var16)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7035); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7442); +fatal_exit(1); } -var19 = NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr); +var20 = NEW_nit__AWithExpr(&type_nit__AWithExpr); { -nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var19, var_pexprnode2, var_tidnode3, var_pexprsnode4, var_passignopnode5, var_pexprnode6); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on */ +nit__parser_prod___AWithExpr___init_awithexpr(var20, var_tkwwithnode2, var_pexprnode3, var_tkwdonode4, var_pexprnode5, var_plabelnode6); /* Direct call parser_prod#AWithExpr#init_awithexpr on */ } -var_pexprnode1 = var19; +var_pexprnode1 = var20; var_node_list = var_pexprnode1; -var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var21 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var21 = nit___nit__Parser___go_to(var_p, var20); +var22 = nit___nit__Parser___go_to(var_p, var21); } { -nit___nit__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var22, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction243#action for (self: ReduceAction243, Parser) */ -void nit__parser___nit__parser__ReduceAction243___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction274#action for (self: ReduceAction274, Parser) */ +void nit__parser___nit__parser__ReduceAction274___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_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var2 /* : nullable Object */; @@ -174,31 +192,32 @@ val* var4 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var5 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var6 /* : AImplicitSelfExpr */; -val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */; -val* var_tidnode3 /* var tidnode3: nullable Object */; -short int var8 /* : Bool */; +val* var_tkwwithnode2 /* var tkwwithnode2: nullable Object */; +short int var6 /* : Bool */; int cltype; int idtype; -val* var9 /* : Array[Object] */; -val* var_listnode5 /* var listnode5: Array[Object] */; -val* var10 /* : AListExprs */; -val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; -val* var_passignopnode6 /* var passignopnode6: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var_pexprnode7 /* var pexprnode7: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var17 /* : ACallReassignExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */; +val* var_pexprnode3 /* var pexprnode3: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var_tkwdonode4 /* var tkwdonode4: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_pexprnode5 /* var pexprnode5: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var16 /* : AWithExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AWithExpr */; +long var17 /* : Int */; 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_nodearraylist6 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -219,97 +238,99 @@ var_nodearraylist2 = var4; var5 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var5; -var6 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); -{ -{ /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var6) on */ -RET_LABEL7:(void)0; -} -} -var_pexprnode2 = var6; -var_tidnode3 = var_nodearraylist3; -/* isa nullable TId */ -cltype = type_nullable__nit__TId.color; -idtype = type_nullable__nit__TId.id; -if(var_tidnode3 == NULL) { -var8 = 1; +var_tkwwithnode2 = var_nodearraylist1; +/* isa nullable TKwwith */ +cltype = type_nullable__nit__TKwwith.color; +idtype = type_nullable__nit__TKwwith.id; +if(var_tkwwithnode2 == NULL) { +var6 = 1; } else { -if(cltype >= var_tidnode3->type->table_size) { -var8 = 0; +if(cltype >= (((long)var_tkwwithnode2&3)?type_info[((long)var_tkwwithnode2&3)]:var_tkwwithnode2->type)->table_size) { +var6 = 0; } else { -var8 = var_tidnode3->type->type_table[cltype] == idtype; +var6 = (((long)var_tkwwithnode2&3)?type_info[((long)var_tkwwithnode2&3)]:var_tkwwithnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var8)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7466); +fatal_exit(1); } -var9 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var9); /* Direct call array#Array#init on */ +var_pexprnode3 = var_nodearraylist3; +/* isa nullable AExpr */ +cltype8 = type_nullable__nit__AExpr.color; +idtype9 = type_nullable__nit__AExpr.id; +if(var_pexprnode3 == NULL) { +var7 = 1; +} else { +if(cltype8 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var7 = 0; +} else { +var7 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype8] == idtype9; } -var_listnode5 = var9; -var10 = NEW_nit__AListExprs(&type_nit__AListExprs); -{ -nit__parser_prod___AListExprs___init_alistexprs(var10, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ } -var_pexprsnode4 = var10; -var_passignopnode6 = var_nodearraylist4; -/* isa nullable AAssignOp */ -cltype12 = type_nullable__nit__AAssignOp.color; -idtype13 = type_nullable__nit__AAssignOp.id; -if(var_passignopnode6 == NULL) { -var11 = 1; +if (unlikely(!var7)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7468); +fatal_exit(1); +} +var_tkwdonode4 = var_nodearraylist5; +/* isa nullable TKwdo */ +cltype11 = type_nullable__nit__TKwdo.color; +idtype12 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode4 == NULL) { +var10 = 1; } else { -if(cltype12 >= var_passignopnode6->type->table_size) { -var11 = 0; +if(cltype11 >= (((long)var_tkwdonode4&3)?type_info[((long)var_tkwdonode4&3)]:var_tkwdonode4->type)->table_size) { +var10 = 0; } else { -var11 = var_passignopnode6->type->type_table[cltype12] == idtype13; +var10 = (((long)var_tkwdonode4&3)?type_info[((long)var_tkwdonode4&3)]:var_tkwdonode4->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var11)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7065); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7470); +fatal_exit(1); } -var_pexprnode7 = var_nodearraylist5; -/* isa nullable AExpr */ -cltype15 = type_nullable__nit__AExpr.color; -idtype16 = type_nullable__nit__AExpr.id; -if(var_pexprnode7 == NULL) { -var14 = 1; +var_pexprnode5 = var_nodearraylist6; +/* isa nullable AExpr */ +cltype14 = type_nullable__nit__AExpr.color; +idtype15 = type_nullable__nit__AExpr.id; +if(var_pexprnode5 == NULL) { +var13 = 1; } else { -if(cltype15 >= var_pexprnode7->type->table_size) { -var14 = 0; +if(cltype14 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) { +var13 = 0; } else { -var14 = var_pexprnode7->type->type_table[cltype15] == idtype16; +var13 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype14] == idtype15; } } -if (unlikely(!var14)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7067); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7472); +fatal_exit(1); } -var17 = NEW_nit__ACallReassignExpr(&type_nit__ACallReassignExpr); +var16 = NEW_nit__AWithExpr(&type_nit__AWithExpr); { -nit__parser_prod___ACallReassignExpr___init_acallreassignexpr(var17, var_pexprnode2, var_tidnode3, var_pexprsnode4, var_passignopnode6, var_pexprnode7); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on */ +nit__parser_prod___AWithExpr___init_awithexpr(var16, var_tkwwithnode2, var_pexprnode3, var_tkwdonode4, var_pexprnode5, ((val*)NULL)); /* Direct call parser_prod#AWithExpr#init_awithexpr on */ } -var_pexprnode1 = var17; +var_pexprnode1 = var16; var_node_list = var_pexprnode1; -var18 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var17 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var19 = nit___nit__Parser___go_to(var_p, var18); +var18 = nit___nit__Parser___go_to(var_p, var17); } { -nit___nit__Parser___push(var_p, var19, 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#ReduceAction246#action for (self: ReduceAction246, Parser) */ -void nit__parser___nit__parser__ReduceAction246___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction275#action for (self: ReduceAction275, Parser) */ +void nit__parser___nit__parser__ReduceAction275___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 */; @@ -318,29 +339,32 @@ val* var3 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var4 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode2 /* var pexprnode2: nullable Object */; +val* var_tidnode3 /* var tidnode3: nullable Object */; short int var5 /* : Bool */; int cltype; int idtype; -val* var_pexprsnode3 /* var pexprsnode3: nullable Object */; +val* var_ptypenode4 /* var ptypenode4: nullable Object */; short int var6 /* : Bool */; int cltype7; int idtype8; -val* var_passignopnode4 /* var passignopnode4: nullable Object */; +val* var_tassignnode5 /* var tassignnode5: nullable Object */; short int var9 /* : Bool */; int cltype10; int idtype11; -val* var_pexprnode5 /* var pexprnode5: nullable Object */; +val* var_pexprnode6 /* var pexprnode6: nullable Object */; short int var12 /* : Bool */; int cltype13; int idtype14; -val* var15 /* : ABraReassignExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ABraReassignExpr */; +val* var15 /* : AVardeclExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AVardeclExpr */; 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); } @@ -357,85 +381,85 @@ var_nodearraylist2 = var3; var4 = nit___nit__Parser___pop(var_p); } 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) { +var_tidnode3 = var_nodearraylist1; +/* isa nullable TId */ +cltype = type_nullable__nit__TId.color; +idtype = type_nullable__nit__TId.id; +if(var_tidnode3 == NULL) { var5 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { +if(cltype >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) { var5 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype] == idtype; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7089); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7495); +fatal_exit(1); } -var_pexprsnode3 = var_nodearraylist2; -/* isa nullable AExprs */ -cltype7 = type_nullable__nit__AExprs.color; -idtype8 = type_nullable__nit__AExprs.id; -if(var_pexprsnode3 == NULL) { +var_ptypenode4 = var_nodearraylist2; +/* isa nullable AType */ +cltype7 = type_nullable__nit__AType.color; +idtype8 = type_nullable__nit__AType.id; +if(var_ptypenode4 == NULL) { var6 = 1; } else { -if(cltype7 >= var_pexprsnode3->type->table_size) { +if(cltype7 >= (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->table_size) { var6 = 0; } else { -var6 = var_pexprsnode3->type->type_table[cltype7] == idtype8; +var6 = (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->type_table[cltype7] == idtype8; } } if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7091); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7497); +fatal_exit(1); } -var_passignopnode4 = var_nodearraylist3; -/* isa nullable AAssignOp */ -cltype10 = type_nullable__nit__AAssignOp.color; -idtype11 = type_nullable__nit__AAssignOp.id; -if(var_passignopnode4 == NULL) { +var_tassignnode5 = var_nodearraylist3; +/* isa nullable TAssign */ +cltype10 = type_nullable__nit__TAssign.color; +idtype11 = type_nullable__nit__TAssign.id; +if(var_tassignnode5 == NULL) { var9 = 1; } else { -if(cltype10 >= var_passignopnode4->type->table_size) { +if(cltype10 >= (((long)var_tassignnode5&3)?type_info[((long)var_tassignnode5&3)]:var_tassignnode5->type)->table_size) { var9 = 0; } else { -var9 = var_passignopnode4->type->type_table[cltype10] == idtype11; +var9 = (((long)var_tassignnode5&3)?type_info[((long)var_tassignnode5&3)]:var_tassignnode5->type)->type_table[cltype10] == idtype11; } } if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7093); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7499); +fatal_exit(1); } -var_pexprnode5 = var_nodearraylist4; -/* isa nullable AExpr */ +var_pexprnode6 = var_nodearraylist5; +/* isa nullable AExpr */ cltype13 = type_nullable__nit__AExpr.color; idtype14 = type_nullable__nit__AExpr.id; -if(var_pexprnode5 == NULL) { +if(var_pexprnode6 == NULL) { var12 = 1; } else { -if(cltype13 >= var_pexprnode5->type->table_size) { +if(cltype13 >= (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->table_size) { var12 = 0; } else { -var12 = var_pexprnode5->type->type_table[cltype13] == idtype14; +var12 = (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->type_table[cltype13] == idtype14; } } if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7095); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7501); +fatal_exit(1); } -var15 = NEW_nit__ABraReassignExpr(&type_nit__ABraReassignExpr); +var15 = NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr); { -nit__parser_prod___ABraReassignExpr___init_abrareassignexpr(var15, var_pexprnode2, var_pexprsnode3, var_passignopnode4, var_pexprnode5); /* Direct call parser_prod#ABraReassignExpr#init_abrareassignexpr on */ +nit__parser_prod___AVardeclExpr___init_avardeclexpr(var15, ((val*)NULL), var_tidnode3, var_ptypenode4, var_tassignnode5, var_pexprnode6, ((val*)NULL)); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on */ } var_pexprnode1 = var15; var_node_list = var_pexprnode1; -var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var17 = nit___nit__Parser___go_to(var_p, var16); } @@ -444,146 +468,215 @@ nit___nit__Parser___push(var_p, var17, var_node_list); /* Direct call parser_wor } RET_LABEL:; } -/* method parser#ReduceAction247#action for (self: ReduceAction247, Parser) */ -void nit__parser___nit__parser__ReduceAction247___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction276#action for (self: ReduceAction276, Parser) */ +void nit__parser___nit__parser__ReduceAction276___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_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tpluseqnode2 /* var tpluseqnode2: nullable Object */; -short int var2 /* : Bool */; +val* var_tidnode3 /* var tidnode3: nullable Object */; +short int var6 /* : Bool */; int cltype; int idtype; -val* var3 /* : APlusAssignOp */; -val* var_passignopnode1 /* var passignopnode1: nullable APlusAssignOp */; -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_tpluseqnode2 = var_nodearraylist1; -/* isa nullable TPluseq */ -cltype = type_nullable__nit__TPluseq.color; -idtype = type_nullable__nit__TPluseq.id; -if(var_tpluseqnode2 == NULL) { -var2 = 1; -} else { -if(cltype >= var_tpluseqnode2->type->table_size) { -var2 = 0; -} else { -var2 = var_tpluseqnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var2)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7113); -show_backtrace(1); +val* var_ptypenode4 /* var ptypenode4: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var_tassignnode5 /* var tassignnode5: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_pexprnode6 /* var pexprnode6: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var19 /* : AVardeclExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AVardeclExpr */; +long var20 /* : Int */; +long var21 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -var3 = NEW_nit__APlusAssignOp(&type_nit__APlusAssignOp); +var_nodearraylist6 = var; { -nit__parser_prod___APlusAssignOp___init_aplusassignop(var3, var_tpluseqnode2); /* Direct call parser_prod#APlusAssignOp#init_aplusassignop on */ +var1 = nit___nit__Parser___pop(var_p); } -var_passignopnode1 = var3; -var_node_list = var_passignopnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist5 = var1; { -var5 = nit___nit__Parser___go_to(var_p, var4); +var2 = nit___nit__Parser___pop(var_p); } +var_nodearraylist4 = var2; { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +var3 = nit___nit__Parser___pop(var_p); } -RET_LABEL:; +var_nodearraylist3 = var3; +{ +var4 = nit___nit__Parser___pop(var_p); } -/* method parser#ReduceAction248#action for (self: ReduceAction248, Parser) */ -void nit__parser___nit__parser__ReduceAction248___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_tminuseqnode2 /* var tminuseqnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AMinusAssignOp */; -val* var_passignopnode1 /* var passignopnode1: nullable AMinusAssignOp */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +var_nodearraylist2 = var4; { -var1 = nit___nit__Parser___pop(var_p); +var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tminuseqnode2 = var_nodearraylist1; -/* isa nullable TMinuseq */ -cltype = type_nullable__nit__TMinuseq.color; -idtype = type_nullable__nit__TMinuseq.id; -if(var_tminuseqnode2 == NULL) { -var2 = 1; +var_nodearraylist1 = var5; +var_tidnode3 = var_nodearraylist1; +/* isa nullable TId */ +cltype = type_nullable__nit__TId.color; +idtype = type_nullable__nit__TId.id; +if(var_tidnode3 == NULL) { +var6 = 1; } else { -if(cltype >= var_tminuseqnode2->type->table_size) { -var2 = 0; +if(cltype >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) { +var6 = 0; } else { -var2 = var_tminuseqnode2->type->type_table[cltype] == idtype; +var6 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype] == idtype; } } -if (unlikely(!var2)) { +if (unlikely(!var6)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7526); +fatal_exit(1); +} +var_ptypenode4 = var_nodearraylist3; +/* isa nullable AType */ +cltype8 = type_nullable__nit__AType.color; +idtype9 = type_nullable__nit__AType.id; +if(var_ptypenode4 == NULL) { +var7 = 1; +} else { +if(cltype8 >= (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->table_size) { +var7 = 0; +} else { +var7 = (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->type_table[cltype8] == idtype9; +} +} +if (unlikely(!var7)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7528); +fatal_exit(1); +} +var_tassignnode5 = var_nodearraylist4; +/* isa nullable TAssign */ +cltype11 = type_nullable__nit__TAssign.color; +idtype12 = type_nullable__nit__TAssign.id; +if(var_tassignnode5 == NULL) { +var10 = 1; +} else { +if(cltype11 >= (((long)var_tassignnode5&3)?type_info[((long)var_tassignnode5&3)]:var_tassignnode5->type)->table_size) { +var10 = 0; +} else { +var10 = (((long)var_tassignnode5&3)?type_info[((long)var_tassignnode5&3)]:var_tassignnode5->type)->type_table[cltype11] == idtype12; +} +} +if (unlikely(!var10)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7530); +fatal_exit(1); +} +var_pexprnode6 = var_nodearraylist6; +/* isa nullable AExpr */ +cltype14 = type_nullable__nit__AExpr.color; +idtype15 = type_nullable__nit__AExpr.id; +if(var_pexprnode6 == NULL) { +var13 = 1; +} else { +if(cltype14 >= (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->table_size) { +var13 = 0; +} else { +var13 = (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->type_table[cltype14] == idtype15; +} +} +if (unlikely(!var13)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7532); +fatal_exit(1); +} +var_pannotationsnode7 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype17 = type_nullable__nit__AAnnotations.color; +idtype18 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode7 == NULL) { +var16 = 1; +} else { +if(cltype17 >= (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->table_size) { +var16 = 0; +} else { +var16 = (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->type_table[cltype17] == idtype18; +} +} +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7128); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7534); +fatal_exit(1); } -var3 = NEW_nit__AMinusAssignOp(&type_nit__AMinusAssignOp); +var19 = NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr); { -nit__parser_prod___AMinusAssignOp___init_aminusassignop(var3, var_tminuseqnode2); /* Direct call parser_prod#AMinusAssignOp#init_aminusassignop on */ +nit__parser_prod___AVardeclExpr___init_avardeclexpr(var19, ((val*)NULL), var_tidnode3, var_ptypenode4, var_tassignnode5, var_pexprnode6, var_pannotationsnode7); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on */ } -var_passignopnode1 = var3; -var_node_list = var_passignopnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_pexprnode1 = var19; +var_node_list = var_pexprnode1; +var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___go_to(var_p, var4); +var21 = nit___nit__Parser___go_to(var_p, var20); } { -nit___nit__Parser___push(var_p, var5, 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#ReduceAction249#action for (self: ReduceAction249, Parser) */ -void nit__parser___nit__parser__ReduceAction249___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction278#action for (self: ReduceAction278, Parser) */ +void nit__parser___nit__parser__ReduceAction278___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_tkwdonode2 /* var tkwdonode2: nullable Object */; +val* var_tkwassertnode2 /* var tkwassertnode2: nullable Object */; short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; short int var5 /* : Bool */; int cltype6; int idtype7; -val* var_plabelnode4 /* var plabelnode4: nullable Object */; +val* var_tkwelsenode5 /* var tkwelsenode5: nullable Object */; short int var8 /* : Bool */; int cltype9; int idtype10; -val* var11 /* : ADoExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ADoExpr */; -long var12 /* : Int */; -long var13 /* : Int */; +val* var_pexprnode6 /* var pexprnode6: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var14 /* : AAssertExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AAssertExpr */; +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); } @@ -596,772 +689,956 @@ var_nodearraylist2 = var2; var3 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var3; -var_tkwdonode2 = var_nodearraylist1; -/* isa nullable TKwdo */ -cltype = type_nullable__nit__TKwdo.color; -idtype = type_nullable__nit__TKwdo.id; -if(var_tkwdonode2 == NULL) { +var_tkwassertnode2 = var_nodearraylist1; +/* isa nullable TKwassert */ +cltype = type_nullable__nit__TKwassert.color; +idtype = type_nullable__nit__TKwassert.id; +if(var_tkwassertnode2 == NULL) { var4 = 1; } else { -if(cltype >= var_tkwdonode2->type->table_size) { +if(cltype >= (((long)var_tkwassertnode2&3)?type_info[((long)var_tkwassertnode2&3)]:var_tkwassertnode2->type)->table_size) { var4 = 0; } else { -var4 = var_tkwdonode2->type->type_table[cltype] == idtype; +var4 = (((long)var_tkwassertnode2&3)?type_info[((long)var_tkwassertnode2&3)]:var_tkwassertnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7145); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7557); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist2; -/* isa nullable AExpr */ +var_pexprnode4 = var_nodearraylist2; +/* isa nullable AExpr */ cltype6 = type_nullable__nit__AExpr.color; idtype7 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { +if(var_pexprnode4 == NULL) { var5 = 1; } else { -if(cltype6 >= var_pexprnode3->type->table_size) { +if(cltype6 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { var5 = 0; } else { -var5 = var_pexprnode3->type->type_table[cltype6] == idtype7; +var5 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7147); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7559); +fatal_exit(1); } -var_plabelnode4 = var_nodearraylist3; -/* isa nullable ALabel */ -cltype9 = type_nullable__nit__ALabel.color; -idtype10 = type_nullable__nit__ALabel.id; -if(var_plabelnode4 == NULL) { +var_tkwelsenode5 = var_nodearraylist3; +/* isa nullable TKwelse */ +cltype9 = type_nullable__nit__TKwelse.color; +idtype10 = type_nullable__nit__TKwelse.id; +if(var_tkwelsenode5 == NULL) { var8 = 1; } else { -if(cltype9 >= var_plabelnode4->type->table_size) { +if(cltype9 >= (((long)var_tkwelsenode5&3)?type_info[((long)var_tkwelsenode5&3)]:var_tkwelsenode5->type)->table_size) { var8 = 0; } else { -var8 = var_plabelnode4->type->type_table[cltype9] == idtype10; +var8 = (((long)var_tkwelsenode5&3)?type_info[((long)var_tkwelsenode5&3)]:var_tkwelsenode5->type)->type_table[cltype9] == idtype10; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7149); -show_backtrace(1); -} -var11 = NEW_nit__ADoExpr(&type_nit__ADoExpr); -{ -nit__parser_prod___ADoExpr___init_adoexpr(var11, var_tkwdonode2, var_pexprnode3, var_plabelnode4); /* Direct call parser_prod#ADoExpr#init_adoexpr on */ -} -var_pexprnode1 = var11; -var_node_list = var_pexprnode1; -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#ReduceAction250#action for (self: ReduceAction250, Parser) */ -void nit__parser___nit__parser__ReduceAction250___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_tkwdonode2 /* var tkwdonode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : ADoExpr */; -val* var8 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable ADoExpr */; -long var9 /* : Int */; -long var10 /* : 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); -} -var_nodearraylist1 = var2; -var_tkwdonode2 = var_nodearraylist1; -/* isa nullable TKwdo */ -cltype = type_nullable__nit__TKwdo.color; -idtype = type_nullable__nit__TKwdo.id; -if(var_tkwdonode2 == NULL) { -var3 = 1; -} else { -if(cltype >= var_tkwdonode2->type->table_size) { -var3 = 0; -} else { -var3 = var_tkwdonode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var3)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7167); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7561); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist2; -/* isa nullable AExpr */ -cltype5 = type_nullable__nit__AExpr.color; -idtype6 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var4 = 1; +var_pexprnode6 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype12 = type_nullable__nit__AExpr.color; +idtype13 = type_nullable__nit__AExpr.id; +if(var_pexprnode6 == NULL) { +var11 = 1; } else { -if(cltype5 >= var_pexprnode3->type->table_size) { -var4 = 0; +if(cltype12 >= (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->table_size) { +var11 = 0; } else { -var4 = var_pexprnode3->type->type_table[cltype5] == idtype6; +var11 = (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var4)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7169); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7563); +fatal_exit(1); } -var7 = NEW_nit__ADoExpr(&type_nit__ADoExpr); -var8 = NULL; +var14 = NEW_nit__AAssertExpr(&type_nit__AAssertExpr); { -nit__parser_prod___ADoExpr___init_adoexpr(var7, var_tkwdonode2, var_pexprnode3, var8); /* Direct call parser_prod#ADoExpr#init_adoexpr on */ +nit__parser_prod___AAssertExpr___init_aassertexpr(var14, var_tkwassertnode2, ((val*)NULL), var_pexprnode4, var_tkwelsenode5, var_pexprnode6); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on */ } -var_pexprnode1 = var7; +var_pexprnode1 = var14; var_node_list = var_pexprnode1; -var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var15 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var10 = nit___nit__Parser___go_to(var_p, var9); +var16 = nit___nit__Parser___go_to(var_p, var15); } { -nit___nit__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction251#action for (self: ReduceAction251, Parser) */ -void nit__parser___nit__parser__ReduceAction251___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction279#action for (self: ReduceAction279, Parser) */ +void nit__parser___nit__parser__ReduceAction279___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 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var5 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var6 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var7 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwifnode2 /* var tkwifnode2: nullable Object */; -short int var9 /* : Bool */; +val* var_tkwassertnode2 /* var tkwassertnode2: nullable Object */; +short int var5 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; +val* var_tidnode3 /* var tidnode3: nullable Object */; +short int var6 /* : Bool */; +int cltype7; +int idtype8; val* var_pexprnode4 /* var pexprnode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_pexprnode5 /* var pexprnode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : AIfExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AIfExpr */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var_tkwelsenode5 /* var tkwelsenode5: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var_pexprnode6 /* var pexprnode6: nullable Object */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var18 /* : AAssertExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AAssertExpr */; +long var19 /* : Int */; 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_nodearraylist5 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var1; +var_nodearraylist4 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var2; +var_nodearraylist3 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var3; +var_nodearraylist2 = 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_nodearraylist1 = var4; +var_tkwassertnode2 = var_nodearraylist1; +/* isa nullable TKwassert */ +cltype = type_nullable__nit__TKwassert.color; +idtype = type_nullable__nit__TKwassert.id; +if(var_tkwassertnode2 == NULL) { +var5 = 1; +} else { +if(cltype >= (((long)var_tkwassertnode2&3)?type_info[((long)var_tkwassertnode2&3)]:var_tkwassertnode2->type)->table_size) { +var5 = 0; +} else { +var5 = (((long)var_tkwassertnode2&3)?type_info[((long)var_tkwassertnode2&3)]:var_tkwassertnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist3 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); +if (unlikely(!var5)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7586); +fatal_exit(1); } -var_nodearraylist1 = var8; -var_tkwifnode2 = var_nodearraylist1; -/* isa nullable TKwif */ -cltype = type_nullable__nit__TKwif.color; -idtype = type_nullable__nit__TKwif.id; -if(var_tkwifnode2 == NULL) { -var9 = 1; +var_tidnode3 = var_nodearraylist2; +/* isa nullable TId */ +cltype7 = type_nullable__nit__TId.color; +idtype8 = type_nullable__nit__TId.id; +if(var_tidnode3 == NULL) { +var6 = 1; } else { -if(cltype >= var_tkwifnode2->type->table_size) { -var9 = 0; +if(cltype7 >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) { +var6 = 0; } else { -var9 = var_tkwifnode2->type->type_table[cltype] == idtype; +var6 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype7] == idtype8; } } -if (unlikely(!var9)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7193); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7588); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist3; -/* isa nullable AExpr */ -cltype11 = type_nullable__nit__AExpr.color; -idtype12 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var10 = 1; +var_pexprnode4 = var_nodearraylist3; +/* isa nullable AExpr */ +cltype10 = type_nullable__nit__AExpr.color; +idtype11 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var9 = 1; } else { -if(cltype11 >= var_pexprnode3->type->table_size) { -var10 = 0; +if(cltype10 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var9 = 0; } else { -var10 = var_pexprnode3->type->type_table[cltype11] == idtype12; +var9 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype10] == idtype11; } } -if (unlikely(!var10)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7195); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7590); +fatal_exit(1); } -var_pexprnode4 = var_nodearraylist6; -/* isa nullable AExpr */ -cltype14 = type_nullable__nit__AExpr.color; -idtype15 = type_nullable__nit__AExpr.id; -if(var_pexprnode4 == NULL) { -var13 = 1; +var_tkwelsenode5 = var_nodearraylist4; +/* isa nullable TKwelse */ +cltype13 = type_nullable__nit__TKwelse.color; +idtype14 = type_nullable__nit__TKwelse.id; +if(var_tkwelsenode5 == NULL) { +var12 = 1; } else { -if(cltype14 >= var_pexprnode4->type->table_size) { -var13 = 0; +if(cltype13 >= (((long)var_tkwelsenode5&3)?type_info[((long)var_tkwelsenode5&3)]:var_tkwelsenode5->type)->table_size) { +var12 = 0; } else { -var13 = var_pexprnode4->type->type_table[cltype14] == idtype15; +var12 = (((long)var_tkwelsenode5&3)?type_info[((long)var_tkwelsenode5&3)]:var_tkwelsenode5->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, 7197); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7592); +fatal_exit(1); } -var_pexprnode5 = var_nodearraylist8; -/* isa nullable AExpr */ -cltype17 = type_nullable__nit__AExpr.color; -idtype18 = type_nullable__nit__AExpr.id; -if(var_pexprnode5 == NULL) { -var16 = 1; +var_pexprnode6 = var_nodearraylist5; +/* isa nullable AExpr */ +cltype16 = type_nullable__nit__AExpr.color; +idtype17 = type_nullable__nit__AExpr.id; +if(var_pexprnode6 == NULL) { +var15 = 1; } else { -if(cltype17 >= var_pexprnode5->type->table_size) { -var16 = 0; +if(cltype16 >= (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->table_size) { +var15 = 0; } else { -var16 = var_pexprnode5->type->type_table[cltype17] == idtype18; +var15 = (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->type_table[cltype16] == idtype17; } } -if (unlikely(!var16)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7199); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7594); +fatal_exit(1); } -var19 = NEW_nit__AIfExpr(&type_nit__AIfExpr); +var18 = NEW_nit__AAssertExpr(&type_nit__AAssertExpr); { -nit__parser_prod___AIfExpr___init_aifexpr(var19, var_tkwifnode2, var_pexprnode3, var_pexprnode4, var_pexprnode5); /* Direct call parser_prod#AIfExpr#init_aifexpr on */ +nit__parser_prod___AAssertExpr___init_aassertexpr(var18, var_tkwassertnode2, var_tidnode3, var_pexprnode4, var_tkwelsenode5, var_pexprnode6); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on */ } -var_pexprnode1 = var19; +var_pexprnode1 = var18; var_node_list = var_pexprnode1; -var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var21 = nit___nit__Parser___go_to(var_p, var20); +var20 = nit___nit__Parser___go_to(var_p, var19); } { -nit___nit__Parser___push(var_p, var21, 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#ReduceAction252#action for (self: ReduceAction252, Parser) */ -void nit__parser___nit__parser__ReduceAction252___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction280#action for (self: ReduceAction280, Parser) */ +void nit__parser___nit__parser__ReduceAction280___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_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 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var6 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwifnode2 /* var tkwifnode2: nullable Object */; -short int var7 /* : Bool */; +val* var_tkwassertnode2 /* var tkwassertnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; val* var_pexprnode4 /* var pexprnode4: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var14 /* : AIfExpr */; -val* var15 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable AIfExpr */; -long var16 /* : Int */; -long var17 /* : Int */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AAssertExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AAssertExpr */; +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_nodearraylist6 = var1; +var_nodearraylist1 = var1; +var_tkwassertnode2 = var_nodearraylist1; +/* isa nullable TKwassert */ +cltype = type_nullable__nit__TKwassert.color; +idtype = type_nullable__nit__TKwassert.id; +if(var_tkwassertnode2 == NULL) { +var2 = 1; +} else { +if(cltype >= (((long)var_tkwassertnode2&3)?type_info[((long)var_tkwassertnode2&3)]:var_tkwassertnode2->type)->table_size) { +var2 = 0; +} else { +var2 = (((long)var_tkwassertnode2&3)?type_info[((long)var_tkwassertnode2&3)]:var_tkwassertnode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7614); +fatal_exit(1); +} +var_pexprnode4 = var_nodearraylist2; +/* isa nullable AExpr */ +cltype4 = type_nullable__nit__AExpr.color; +idtype5 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var3 = 1; +} else { +if(cltype4 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype4] == idtype5; +} +} +if (unlikely(!var3)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7616); +fatal_exit(1); +} +var6 = NEW_nit__AAssertExpr(&type_nit__AAssertExpr); { -var2 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AAssertExpr___init_aassertexpr(var6, var_tkwassertnode2, ((val*)NULL), var_pexprnode4, ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on */ } -var_nodearraylist5 = var2; +var_pexprnode1 = var6; +var_node_list = var_pexprnode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var3 = nit___nit__Parser___pop(var_p); +var8 = nit___nit__Parser___go_to(var_p, var7); } -var_nodearraylist4 = var3; { -var4 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist3 = var4; +RET_LABEL:; +} +/* method parser#ReduceAction281#action for (self: ReduceAction281, Parser) */ +void nit__parser___nit__parser__ReduceAction281___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_tkwassertnode2 /* var tkwassertnode2: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var_tidnode3 /* var tidnode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var10 /* : AAssertExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AAssertExpr */; +long var11 /* : Int */; +long var12 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var5 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var5; +var_nodearraylist3 = var; { -var6 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var6; -var_tkwifnode2 = var_nodearraylist1; -/* isa nullable TKwif */ -cltype = type_nullable__nit__TKwif.color; -idtype = type_nullable__nit__TKwif.id; -if(var_tkwifnode2 == NULL) { -var7 = 1; +var_nodearraylist2 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var2; +var_tkwassertnode2 = var_nodearraylist1; +/* isa nullable TKwassert */ +cltype = type_nullable__nit__TKwassert.color; +idtype = type_nullable__nit__TKwassert.id; +if(var_tkwassertnode2 == NULL) { +var3 = 1; } else { -if(cltype >= var_tkwifnode2->type->table_size) { -var7 = 0; +if(cltype >= (((long)var_tkwassertnode2&3)?type_info[((long)var_tkwassertnode2&3)]:var_tkwassertnode2->type)->table_size) { +var3 = 0; } else { -var7 = var_tkwifnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_tkwassertnode2&3)?type_info[((long)var_tkwassertnode2&3)]:var_tkwassertnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var7)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7222); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7637); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist3; -/* isa nullable AExpr */ -cltype9 = type_nullable__nit__AExpr.color; -idtype10 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var8 = 1; +var_tidnode3 = var_nodearraylist2; +/* isa nullable TId */ +cltype5 = type_nullable__nit__TId.color; +idtype6 = type_nullable__nit__TId.id; +if(var_tidnode3 == NULL) { +var4 = 1; } else { -if(cltype9 >= var_pexprnode3->type->table_size) { -var8 = 0; +if(cltype5 >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) { +var4 = 0; } else { -var8 = var_pexprnode3->type->type_table[cltype9] == idtype10; +var4 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype5] == idtype6; } } -if (unlikely(!var8)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7224); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7639); +fatal_exit(1); } -var_pexprnode4 = var_nodearraylist6; +var_pexprnode4 = var_nodearraylist3; /* isa nullable AExpr */ -cltype12 = type_nullable__nit__AExpr.color; -idtype13 = type_nullable__nit__AExpr.id; +cltype8 = type_nullable__nit__AExpr.color; +idtype9 = type_nullable__nit__AExpr.id; if(var_pexprnode4 == NULL) { -var11 = 1; +var7 = 1; } else { -if(cltype12 >= var_pexprnode4->type->table_size) { -var11 = 0; +if(cltype8 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var7 = 0; } else { -var11 = var_pexprnode4->type->type_table[cltype12] == idtype13; +var7 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var11)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7226); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7641); +fatal_exit(1); } -var14 = NEW_nit__AIfExpr(&type_nit__AIfExpr); -var15 = NULL; +var10 = NEW_nit__AAssertExpr(&type_nit__AAssertExpr); { -nit__parser_prod___AIfExpr___init_aifexpr(var14, var_tkwifnode2, var_pexprnode3, var_pexprnode4, var15); /* Direct call parser_prod#AIfExpr#init_aifexpr on */ +nit__parser_prod___AAssertExpr___init_aassertexpr(var10, var_tkwassertnode2, var_tidnode3, var_pexprnode4, ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on */ } -var_pexprnode1 = var14; +var_pexprnode1 = var10; var_node_list = var_pexprnode1; -var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var17 = nit___nit__Parser___go_to(var_p, var16); +var12 = nit___nit__Parser___go_to(var_p, var11); } { -nit___nit__Parser___push(var_p, var17, 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#ReduceAction253#action for (self: ReduceAction253, Parser) */ -void nit__parser___nit__parser__ReduceAction253___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction282#action for (self: ReduceAction282, Parser) */ +void nit__parser___nit__parser__ReduceAction282___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 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tidnode1 /* var tidnode1: nullable Object */; +long var2 /* : Int */; +long var3 /* : 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_tidnode1 = var_nodearraylist1; +var_node_list = var_tidnode1; +var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var3 = nit___nit__Parser___go_to(var_p, var2); +} +{ +nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction284#action for (self: ReduceAction284, Parser) */ +void nit__parser___nit__parser__ReduceAction284___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_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_tkwifnode2 /* var tkwifnode2: nullable Object */; -short int var9 /* : Bool */; +short int var11 /* : Bool */; int cltype; int idtype; val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var_pexprnode4 /* var pexprnode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var_tkwthennode4 /* var tkwthennode4: nullable Object */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_pexprnode5 /* var pexprnode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : AIfExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AIfExpr */; -long var20 /* : Int */; -long var21 /* : Int */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var_tkwelsenode6 /* var tkwelsenode6: nullable Object */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var_pexprnode7 /* var pexprnode7: nullable Object */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var27 /* : AIfexprExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AIfexprExpr */; +long var28 /* : Int */; +long var29 /* : 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_nodearraylist8 = var1; +var_nodearraylist10 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var2; +var_nodearraylist9 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var3; +var_nodearraylist8 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var4; +var_nodearraylist7 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var5; +var_nodearraylist6 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var6; +var_nodearraylist5 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var7; +var_nodearraylist4 = var7; { var8 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var8; +var_nodearraylist3 = var8; +{ +var9 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var9; +{ +var10 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var10; var_tkwifnode2 = var_nodearraylist1; /* isa nullable TKwif */ cltype = type_nullable__nit__TKwif.color; idtype = type_nullable__nit__TKwif.id; if(var_tkwifnode2 == NULL) { -var9 = 1; +var11 = 1; } else { -if(cltype >= var_tkwifnode2->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_tkwifnode2&3)?type_info[((long)var_tkwifnode2&3)]:var_tkwifnode2->type)->table_size) { +var11 = 0; } else { -var9 = var_tkwifnode2->type->type_table[cltype] == idtype; +var11 = (((long)var_tkwifnode2&3)?type_info[((long)var_tkwifnode2&3)]:var_tkwifnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var9)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7251); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7682); +fatal_exit(1); } var_pexprnode3 = var_nodearraylist3; /* isa nullable AExpr */ -cltype11 = type_nullable__nit__AExpr.color; -idtype12 = type_nullable__nit__AExpr.id; +cltype13 = type_nullable__nit__AExpr.color; +idtype14 = type_nullable__nit__AExpr.id; if(var_pexprnode3 == NULL) { -var10 = 1; +var12 = 1; } else { -if(cltype11 >= var_pexprnode3->type->table_size) { -var10 = 0; +if(cltype13 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var12 = 0; } else { -var10 = var_pexprnode3->type->type_table[cltype11] == idtype12; +var12 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype13] == idtype14; } } -if (unlikely(!var10)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7253); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7684); +fatal_exit(1); } -var_pexprnode4 = var_nodearraylist7; -/* isa nullable AExpr */ -cltype14 = type_nullable__nit__AExpr.color; -idtype15 = type_nullable__nit__AExpr.id; -if(var_pexprnode4 == NULL) { -var13 = 1; +var_tkwthennode4 = var_nodearraylist5; +/* isa nullable TKwthen */ +cltype16 = type_nullable__nit__TKwthen.color; +idtype17 = type_nullable__nit__TKwthen.id; +if(var_tkwthennode4 == NULL) { +var15 = 1; } else { -if(cltype14 >= var_pexprnode4->type->table_size) { -var13 = 0; +if(cltype16 >= (((long)var_tkwthennode4&3)?type_info[((long)var_tkwthennode4&3)]:var_tkwthennode4->type)->table_size) { +var15 = 0; } else { -var13 = var_pexprnode4->type->type_table[cltype14] == idtype15; +var15 = (((long)var_tkwthennode4&3)?type_info[((long)var_tkwthennode4&3)]:var_tkwthennode4->type)->type_table[cltype16] == idtype17; } } -if (unlikely(!var13)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7255); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7686); +fatal_exit(1); } -var_pexprnode5 = var_nodearraylist8; +var_pexprnode5 = var_nodearraylist7; /* isa nullable AExpr */ -cltype17 = type_nullable__nit__AExpr.color; -idtype18 = type_nullable__nit__AExpr.id; +cltype19 = type_nullable__nit__AExpr.color; +idtype20 = type_nullable__nit__AExpr.id; if(var_pexprnode5 == NULL) { -var16 = 1; +var18 = 1; } else { -if(cltype17 >= var_pexprnode5->type->table_size) { -var16 = 0; +if(cltype19 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) { +var18 = 0; } else { -var16 = var_pexprnode5->type->type_table[cltype17] == idtype18; +var18 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype19] == idtype20; } } -if (unlikely(!var16)) { +if (unlikely(!var18)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7688); +fatal_exit(1); +} +var_tkwelsenode6 = var_nodearraylist9; +/* isa nullable TKwelse */ +cltype22 = type_nullable__nit__TKwelse.color; +idtype23 = type_nullable__nit__TKwelse.id; +if(var_tkwelsenode6 == NULL) { +var21 = 1; +} else { +if(cltype22 >= (((long)var_tkwelsenode6&3)?type_info[((long)var_tkwelsenode6&3)]:var_tkwelsenode6->type)->table_size) { +var21 = 0; +} else { +var21 = (((long)var_tkwelsenode6&3)?type_info[((long)var_tkwelsenode6&3)]:var_tkwelsenode6->type)->type_table[cltype22] == idtype23; +} +} +if (unlikely(!var21)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7690); +fatal_exit(1); +} +var_pexprnode7 = var_nodearraylist11; +/* isa nullable AExpr */ +cltype25 = type_nullable__nit__AExpr.color; +idtype26 = type_nullable__nit__AExpr.id; +if(var_pexprnode7 == NULL) { +var24 = 1; +} else { +if(cltype25 >= (((long)var_pexprnode7&3)?type_info[((long)var_pexprnode7&3)]:var_pexprnode7->type)->table_size) { +var24 = 0; +} else { +var24 = (((long)var_pexprnode7&3)?type_info[((long)var_pexprnode7&3)]:var_pexprnode7->type)->type_table[cltype25] == idtype26; +} +} +if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7257); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7692); +fatal_exit(1); } -var19 = NEW_nit__AIfExpr(&type_nit__AIfExpr); +var27 = NEW_nit__AIfexprExpr(&type_nit__AIfexprExpr); { -nit__parser_prod___AIfExpr___init_aifexpr(var19, var_tkwifnode2, var_pexprnode3, var_pexprnode4, var_pexprnode5); /* Direct call parser_prod#AIfExpr#init_aifexpr on */ +nit__parser_prod___AIfexprExpr___init_aifexprexpr(var27, var_tkwifnode2, var_pexprnode3, var_tkwthennode4, var_pexprnode5, var_tkwelsenode6, var_pexprnode7); /* Direct call parser_prod#AIfexprExpr#init_aifexprexpr on */ } -var_pexprnode1 = var19; +var_pexprnode1 = var27; var_node_list = var_pexprnode1; -var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var28 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var21 = nit___nit__Parser___go_to(var_p, var20); +var29 = nit___nit__Parser___go_to(var_p, var28); } { -nit___nit__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var29, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction254#action for (self: ReduceAction254, Parser) */ -void nit__parser___nit__parser__ReduceAction254___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction286#action for (self: ReduceAction286, Parser) */ +void nit__parser___nit__parser__ReduceAction286___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_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var3 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var4 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var5 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var6 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwifnode2 /* var tkwifnode2: nullable Object */; -short int var7 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; +val* var_tkwornode3 /* var tkwornode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; short int var8 /* : Bool */; int cltype9; int idtype10; -val* var_pexprnode5 /* var pexprnode5: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var14 /* : AIfExpr */; -val* var15 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable AIfExpr */; -long var16 /* : Int */; -long var17 /* : Int */; +val* var11 /* : AOrExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AOrExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = 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 >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; +} else { +var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist3 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7715); +fatal_exit(1); } -var_nodearraylist1 = var6; -var_tkwifnode2 = var_nodearraylist1; -/* isa nullable TKwif */ -cltype = type_nullable__nit__TKwif.color; -idtype = type_nullable__nit__TKwif.id; -if(var_tkwifnode2 == NULL) { -var7 = 1; +var_tkwornode3 = var_nodearraylist2; +/* isa nullable TKwor */ +cltype6 = type_nullable__nit__TKwor.color; +idtype7 = type_nullable__nit__TKwor.id; +if(var_tkwornode3 == NULL) { +var5 = 1; } else { -if(cltype >= var_tkwifnode2->type->table_size) { -var7 = 0; +if(cltype6 >= (((long)var_tkwornode3&3)?type_info[((long)var_tkwornode3&3)]:var_tkwornode3->type)->table_size) { +var5 = 0; } else { -var7 = var_tkwifnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_tkwornode3&3)?type_info[((long)var_tkwornode3&3)]:var_tkwornode3->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var7)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7280); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7717); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist3; -/* isa nullable AExpr */ +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ cltype9 = type_nullable__nit__AExpr.color; idtype10 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { +if(var_pexprnode4 == NULL) { var8 = 1; } else { -if(cltype9 >= var_pexprnode3->type->table_size) { +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { var8 = 0; } else { -var8 = var_pexprnode3->type->type_table[cltype9] == idtype10; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7282); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7719); +fatal_exit(1); } -var_pexprnode5 = var_nodearraylist6; -/* isa nullable AExpr */ -cltype12 = type_nullable__nit__AExpr.color; -idtype13 = type_nullable__nit__AExpr.id; -if(var_pexprnode5 == NULL) { -var11 = 1; -} else { -if(cltype12 >= var_pexprnode5->type->table_size) { -var11 = 0; -} else { -var11 = var_pexprnode5->type->type_table[cltype12] == idtype13; +var11 = NEW_nit__AOrExpr(&type_nit__AOrExpr); +{ +nit__parser_prod___AOrExpr___init_aorexpr(var11, var_pexprnode2, var_tkwornode3, var_pexprnode4); /* Direct call parser_prod#AOrExpr#init_aorexpr on */ } +var_pexprnode1 = var11; +var_node_list = var_pexprnode1; +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var13 = nit___nit__Parser___go_to(var_p, var12); } -if (unlikely(!var11)) { +{ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction287#action for (self: ReduceAction287, Parser) */ +void nit__parser___nit__parser__ReduceAction287___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* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; +int cltype; +int idtype; +val* var_tkwandnode3 /* var tkwandnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AAndExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AAndExpr */; +long var12 /* : Int */; +long var13 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist4 = var; +{ +var1 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = 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 >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; +} else { +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, 7739); +fatal_exit(1); +} +var_tkwandnode3 = var_nodearraylist2; +/* isa nullable TKwand */ +cltype6 = type_nullable__nit__TKwand.color; +idtype7 = type_nullable__nit__TKwand.id; +if(var_tkwandnode3 == NULL) { +var5 = 1; +} else { +if(cltype6 >= (((long)var_tkwandnode3&3)?type_info[((long)var_tkwandnode3&3)]:var_tkwandnode3->type)->table_size) { +var5 = 0; +} else { +var5 = (((long)var_tkwandnode3&3)?type_info[((long)var_tkwandnode3&3)]:var_tkwandnode3->type)->type_table[cltype6] == idtype7; +} +} +if (unlikely(!var5)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7741); +fatal_exit(1); +} +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; +} else { +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; +} else { +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; +} +} +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7284); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7743); +fatal_exit(1); } -var14 = NEW_nit__AIfExpr(&type_nit__AIfExpr); -var15 = NULL; +var11 = NEW_nit__AAndExpr(&type_nit__AAndExpr); { -nit__parser_prod___AIfExpr___init_aifexpr(var14, var_tkwifnode2, var_pexprnode3, var15, var_pexprnode5); /* Direct call parser_prod#AIfExpr#init_aifexpr on */ +nit__parser_prod___AAndExpr___init_aandexpr(var11, var_pexprnode2, var_tkwandnode3, var_pexprnode4); /* Direct call parser_prod#AAndExpr#init_aandexpr on */ } -var_pexprnode1 = var14; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var17 = nit___nit__Parser___go_to(var_p, var16); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction255#action for (self: ReduceAction255, Parser) */ -void nit__parser___nit__parser__ReduceAction255___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction288#action for (self: ReduceAction288, Parser) */ +void nit__parser___nit__parser__ReduceAction288___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 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var4 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var5 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var6 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var7 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwifnode2 /* var tkwifnode2: nullable Object */; -short int var8 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var5 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; +val* var_tkwornode3 /* var tkwornode3: nullable Object */; +short int var6 /* : Bool */; +int cltype7; +int idtype8; +val* var_tkwelsenode4 /* var tkwelsenode4: nullable Object */; short int var9 /* : Bool */; int cltype10; int idtype11; @@ -1369,142 +1646,153 @@ val* var_pexprnode5 /* var pexprnode5: nullable Object */; short int var12 /* : Bool */; int cltype13; int idtype14; -val* var15 /* : AIfExpr */; -val* var16 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable AIfExpr */; +val* var15 /* : AOrElseExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AOrElseExpr */; +long var16 /* : Int */; long var17 /* : Int */; -long var18 /* : 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_nodearraylist7 = var1; +var_nodearraylist4 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var2; +var_nodearraylist3 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var3; +var_nodearraylist2 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); +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(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var5 = 0; +} else { +var5 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist3 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); +if (unlikely(!var5)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7764); +fatal_exit(1); } -var_nodearraylist1 = var7; -var_tkwifnode2 = var_nodearraylist1; -/* isa nullable TKwif */ -cltype = type_nullable__nit__TKwif.color; -idtype = type_nullable__nit__TKwif.id; -if(var_tkwifnode2 == NULL) { -var8 = 1; +var_tkwornode3 = var_nodearraylist2; +/* isa nullable TKwor */ +cltype7 = type_nullable__nit__TKwor.color; +idtype8 = type_nullable__nit__TKwor.id; +if(var_tkwornode3 == NULL) { +var6 = 1; } else { -if(cltype >= var_tkwifnode2->type->table_size) { -var8 = 0; +if(cltype7 >= (((long)var_tkwornode3&3)?type_info[((long)var_tkwornode3&3)]:var_tkwornode3->type)->table_size) { +var6 = 0; } else { -var8 = var_tkwifnode2->type->type_table[cltype] == idtype; +var6 = (((long)var_tkwornode3&3)?type_info[((long)var_tkwornode3&3)]:var_tkwornode3->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, 7308); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7766); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist3; -/* isa nullable AExpr */ -cltype10 = type_nullable__nit__AExpr.color; -idtype11 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { +var_tkwelsenode4 = var_nodearraylist3; +/* isa nullable TKwelse */ +cltype10 = type_nullable__nit__TKwelse.color; +idtype11 = type_nullable__nit__TKwelse.id; +if(var_tkwelsenode4 == NULL) { var9 = 1; } else { -if(cltype10 >= var_pexprnode3->type->table_size) { +if(cltype10 >= (((long)var_tkwelsenode4&3)?type_info[((long)var_tkwelsenode4&3)]:var_tkwelsenode4->type)->table_size) { var9 = 0; } else { -var9 = var_pexprnode3->type->type_table[cltype10] == idtype11; +var9 = (((long)var_tkwelsenode4&3)?type_info[((long)var_tkwelsenode4&3)]:var_tkwelsenode4->type)->type_table[cltype10] == idtype11; } } if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7310); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7768); +fatal_exit(1); } -var_pexprnode5 = var_nodearraylist7; +var_pexprnode5 = var_nodearraylist5; /* isa nullable AExpr */ cltype13 = type_nullable__nit__AExpr.color; idtype14 = type_nullable__nit__AExpr.id; if(var_pexprnode5 == NULL) { var12 = 1; } else { -if(cltype13 >= var_pexprnode5->type->table_size) { +if(cltype13 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) { var12 = 0; } else { -var12 = var_pexprnode5->type->type_table[cltype13] == idtype14; +var12 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype13] == idtype14; } } if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7312); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7770); +fatal_exit(1); } -var15 = NEW_nit__AIfExpr(&type_nit__AIfExpr); -var16 = NULL; +var15 = NEW_nit__AOrElseExpr(&type_nit__AOrElseExpr); { -nit__parser_prod___AIfExpr___init_aifexpr(var15, var_tkwifnode2, var_pexprnode3, var16, var_pexprnode5); /* Direct call parser_prod#AIfExpr#init_aifexpr on */ +nit__parser_prod___AOrElseExpr___init_aorelseexpr(var15, var_pexprnode2, var_tkwornode3, var_tkwelsenode4, var_pexprnode5); /* Direct call parser_prod#AOrElseExpr#init_aorelseexpr on */ } var_pexprnode1 = var15; var_node_list = var_pexprnode1; -var17 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var18 = nit___nit__Parser___go_to(var_p, var17); +var17 = nit___nit__Parser___go_to(var_p, var16); } { -nit___nit__Parser___push(var_p, var18, 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#ReduceAction258#action for (self: ReduceAction258, Parser) */ -void nit__parser___nit__parser__ReduceAction258___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction289#action for (self: ReduceAction289, Parser) */ +void nit__parser___nit__parser__ReduceAction289___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_tkwloopnode2 /* var tkwloopnode2: nullable Object */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; +val* var_tkwimpliesnode3 /* var tkwimpliesnode3: nullable Object */; short int var5 /* : Bool */; int cltype6; int idtype7; -val* var_plabelnode4 /* var plabelnode4: nullable Object */; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; short int var8 /* : Bool */; int cltype9; int idtype10; -val* var11 /* : ALoopExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ALoopExpr */; +val* var11 /* : AImpliesExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AImpliesExpr */; 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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -1517,67 +1805,67 @@ var_nodearraylist2 = var2; var3 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var3; -var_tkwloopnode2 = var_nodearraylist1; -/* isa nullable TKwloop */ -cltype = type_nullable__nit__TKwloop.color; -idtype = type_nullable__nit__TKwloop.id; -if(var_tkwloopnode2 == NULL) { +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_tkwloopnode2->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_tkwloopnode2->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, 7332); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7791); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist2; -/* isa nullable AExpr */ -cltype6 = type_nullable__nit__AExpr.color; -idtype7 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { +var_tkwimpliesnode3 = var_nodearraylist2; +/* isa nullable TKwimplies */ +cltype6 = type_nullable__nit__TKwimplies.color; +idtype7 = type_nullable__nit__TKwimplies.id; +if(var_tkwimpliesnode3 == NULL) { var5 = 1; } else { -if(cltype6 >= var_pexprnode3->type->table_size) { +if(cltype6 >= (((long)var_tkwimpliesnode3&3)?type_info[((long)var_tkwimpliesnode3&3)]:var_tkwimpliesnode3->type)->table_size) { var5 = 0; } else { -var5 = var_pexprnode3->type->type_table[cltype6] == idtype7; +var5 = (((long)var_tkwimpliesnode3&3)?type_info[((long)var_tkwimpliesnode3&3)]:var_tkwimpliesnode3->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7334); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7793); +fatal_exit(1); } -var_plabelnode4 = var_nodearraylist3; -/* isa nullable ALabel */ -cltype9 = type_nullable__nit__ALabel.color; -idtype10 = type_nullable__nit__ALabel.id; -if(var_plabelnode4 == NULL) { +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { var8 = 1; } else { -if(cltype9 >= var_plabelnode4->type->table_size) { +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { var8 = 0; } else { -var8 = var_plabelnode4->type->type_table[cltype9] == idtype10; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7336); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7795); +fatal_exit(1); } -var11 = NEW_nit__ALoopExpr(&type_nit__ALoopExpr); +var11 = NEW_nit__AImpliesExpr(&type_nit__AImpliesExpr); { -nit__parser_prod___ALoopExpr___init_aloopexpr(var11, var_tkwloopnode2, var_pexprnode3, var_plabelnode4); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on */ +nit__parser_prod___AImpliesExpr___init_aimpliesexpr(var11, var_pexprnode2, var_tkwimpliesnode3, var_pexprnode4); /* Direct call parser_prod#AImpliesExpr#init_aimpliesexpr on */ } var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var13 = nit___nit__Parser___go_to(var_p, var12); } @@ -1586,16 +1874,17 @@ nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_wor } RET_LABEL:; } -/* method parser#ReduceAction259#action for (self: ReduceAction259, Parser) */ -void nit__parser___nit__parser__ReduceAction259___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction291#action for (self: ReduceAction291, Parser) */ +void nit__parser___nit__parser__ReduceAction291___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_tkwloopnode2 /* var tkwloopnode2: nullable Object */; +val* var_tkwnotnode2 /* var tkwnotnode2: nullable Object */; short int var3 /* : Bool */; int cltype; int idtype; @@ -1603,14 +1892,16 @@ val* var_pexprnode3 /* var pexprnode3: nullable Object */; short int var4 /* : Bool */; int cltype5; int idtype6; -val* var7 /* : ALoopExpr */; -val* var8 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable ALoopExpr */; +val* var7 /* : ANotExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ANotExpr */; +long var8 /* : Int */; 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_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -1619,1205 +1910,1109 @@ var_nodearraylist2 = var1; var2 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var2; -var_tkwloopnode2 = var_nodearraylist1; -/* isa nullable TKwloop */ -cltype = type_nullable__nit__TKwloop.color; -idtype = type_nullable__nit__TKwloop.id; -if(var_tkwloopnode2 == NULL) { +var_tkwnotnode2 = var_nodearraylist1; +/* isa nullable TKwnot */ +cltype = type_nullable__nit__TKwnot.color; +idtype = type_nullable__nit__TKwnot.id; +if(var_tkwnotnode2 == NULL) { var3 = 1; } else { -if(cltype >= var_tkwloopnode2->type->table_size) { +if(cltype >= (((long)var_tkwnotnode2&3)?type_info[((long)var_tkwnotnode2&3)]:var_tkwnotnode2->type)->table_size) { var3 = 0; } else { -var3 = var_tkwloopnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_tkwnotnode2&3)?type_info[((long)var_tkwnotnode2&3)]:var_tkwnotnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7354); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7814); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist2; +var_pexprnode3 = var_nodearraylist3; /* isa nullable AExpr */ cltype5 = type_nullable__nit__AExpr.color; idtype6 = type_nullable__nit__AExpr.id; if(var_pexprnode3 == NULL) { var4 = 1; } else { -if(cltype5 >= var_pexprnode3->type->table_size) { +if(cltype5 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { var4 = 0; } else { -var4 = var_pexprnode3->type->type_table[cltype5] == idtype6; +var4 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype5] == idtype6; } } if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7356); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7816); +fatal_exit(1); } -var7 = NEW_nit__ALoopExpr(&type_nit__ALoopExpr); -var8 = NULL; +var7 = NEW_nit__ANotExpr(&type_nit__ANotExpr); { -nit__parser_prod___ALoopExpr___init_aloopexpr(var7, var_tkwloopnode2, var_pexprnode3, var8); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on */ +nit__parser_prod___ANotExpr___init_anotexpr(var7, var_tkwnotnode2, var_pexprnode3); /* Direct call parser_prod#ANotExpr#init_anotexpr on */ } var_pexprnode1 = var7; var_node_list = var_pexprnode1; -var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var10 = nit___nit__Parser___go_to(var_p, var9); +var9 = nit___nit__Parser___go_to(var_p, var8); } { -nit___nit__Parser___push(var_p, var10, 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#ReduceAction260#action for (self: ReduceAction260, Parser) */ -void nit__parser___nit__parser__ReduceAction260___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction293#action for (self: ReduceAction293, Parser) */ +void nit__parser___nit__parser__ReduceAction293___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 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var5 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var6 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var7 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwwhilenode2 /* var tkwwhilenode2: nullable Object */; -short int var8 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var_tkwdonode4 /* var tkwdonode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_pexprnode5 /* var pexprnode5: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_plabelnode6 /* var plabelnode6: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : AWhileExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AWhileExpr */; -long var22 /* : Int */; -long var23 /* : Int */; +val* var_teqnode3 /* var teqnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AEqExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AEqExpr */; +long var12 /* : Int */; +long var13 /* : 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_nodearraylist7 = var1; +var_nodearraylist4 = var; +{ +var1 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = 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 >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; +} else { +var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist4 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7835); +fatal_exit(1); } -var_nodearraylist2 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); +var_teqnode3 = var_nodearraylist2; +/* isa nullable TEq */ +cltype6 = type_nullable__nit__TEq.color; +idtype7 = type_nullable__nit__TEq.id; +if(var_teqnode3 == NULL) { +var5 = 1; +} else { +if(cltype6 >= (((long)var_teqnode3&3)?type_info[((long)var_teqnode3&3)]:var_teqnode3->type)->table_size) { +var5 = 0; +} else { +var5 = (((long)var_teqnode3&3)?type_info[((long)var_teqnode3&3)]:var_teqnode3->type)->type_table[cltype6] == idtype7; } -var_nodearraylist1 = var7; -var_tkwwhilenode2 = var_nodearraylist1; -/* isa nullable TKwwhile */ -cltype = type_nullable__nit__TKwwhile.color; -idtype = type_nullable__nit__TKwwhile.id; -if(var_tkwwhilenode2 == NULL) { +} +if (unlikely(!var5)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7837); +fatal_exit(1); +} +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { var8 = 1; } else { -if(cltype >= var_tkwwhilenode2->type->table_size) { +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { var8 = 0; } else { -var8 = var_tkwwhilenode2->type->type_table[cltype] == idtype; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7379); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7839); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist3; -/* isa nullable AExpr */ -cltype10 = type_nullable__nit__AExpr.color; -idtype11 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var9 = 1; -} else { -if(cltype10 >= var_pexprnode3->type->table_size) { -var9 = 0; -} else { -var9 = var_pexprnode3->type->type_table[cltype10] == idtype11; +var11 = NEW_nit__AEqExpr(&type_nit__AEqExpr); +{ +nit__parser_prod___AEqExpr___init_aeqexpr(var11, var_pexprnode2, var_teqnode3, var_pexprnode4); /* Direct call parser_prod#AEqExpr#init_aeqexpr on */ } +var_pexprnode1 = var11; +var_node_list = var_pexprnode1; +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var13 = nit___nit__Parser___go_to(var_p, var12); } -if (unlikely(!var9)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7381); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_tkwdonode4 = var_nodearraylist5; -/* isa nullable TKwdo */ -cltype13 = type_nullable__nit__TKwdo.color; -idtype14 = type_nullable__nit__TKwdo.id; -if(var_tkwdonode4 == NULL) { -var12 = 1; +RET_LABEL:; +} +/* method parser#ReduceAction294#action for (self: ReduceAction294, Parser) */ +void nit__parser___nit__parser__ReduceAction294___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* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; +int cltype; +int idtype; +val* var_tnenode3 /* var tnenode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : ANeExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ANeExpr */; +long var12 /* : Int */; +long var13 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist4 = var; +{ +var1 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = 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(cltype13 >= var_tkwdonode4->type->table_size) { -var12 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; } else { -var12 = var_tkwdonode4->type->type_table[cltype13] == idtype14; +var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var12)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7383); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7859); +fatal_exit(1); } -var_pexprnode5 = var_nodearraylist6; -/* isa nullable AExpr */ -cltype16 = type_nullable__nit__AExpr.color; -idtype17 = type_nullable__nit__AExpr.id; -if(var_pexprnode5 == NULL) { -var15 = 1; +var_tnenode3 = var_nodearraylist2; +/* isa nullable TNe */ +cltype6 = type_nullable__nit__TNe.color; +idtype7 = type_nullable__nit__TNe.id; +if(var_tnenode3 == NULL) { +var5 = 1; } else { -if(cltype16 >= var_pexprnode5->type->table_size) { -var15 = 0; +if(cltype6 >= (((long)var_tnenode3&3)?type_info[((long)var_tnenode3&3)]:var_tnenode3->type)->table_size) { +var5 = 0; } else { -var15 = var_pexprnode5->type->type_table[cltype16] == idtype17; +var5 = (((long)var_tnenode3&3)?type_info[((long)var_tnenode3&3)]:var_tnenode3->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var15)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7385); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7861); +fatal_exit(1); } -var_plabelnode6 = var_nodearraylist7; -/* isa nullable ALabel */ -cltype19 = type_nullable__nit__ALabel.color; -idtype20 = type_nullable__nit__ALabel.id; -if(var_plabelnode6 == NULL) { -var18 = 1; +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; } else { -if(cltype19 >= var_plabelnode6->type->table_size) { -var18 = 0; +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; } else { -var18 = var_plabelnode6->type->type_table[cltype19] == idtype20; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var18)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7387); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7863); +fatal_exit(1); } -var21 = NEW_nit__AWhileExpr(&type_nit__AWhileExpr); +var11 = NEW_nit__ANeExpr(&type_nit__ANeExpr); { -nit__parser_prod___AWhileExpr___init_awhileexpr(var21, var_tkwwhilenode2, var_pexprnode3, var_tkwdonode4, var_pexprnode5, var_plabelnode6); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on */ +nit__parser_prod___ANeExpr___init_aneexpr(var11, var_pexprnode2, var_tnenode3, var_pexprnode4); /* Direct call parser_prod#ANeExpr#init_aneexpr on */ } -var_pexprnode1 = var21; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var22 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var23 = nit___nit__Parser___go_to(var_p, var22); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction261#action for (self: ReduceAction261, Parser) */ -void nit__parser___nit__parser__ReduceAction261___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction295#action for (self: ReduceAction295, Parser) */ +void nit__parser___nit__parser__ReduceAction295___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_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var3 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var4 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var5 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var6 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwwhilenode2 /* var tkwwhilenode2: nullable Object */; -short int var7 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; +val* var_tltnode3 /* var tltnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; short int var8 /* : Bool */; int cltype9; int idtype10; -val* var_tkwdonode4 /* var tkwdonode4: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var_pexprnode5 /* var pexprnode5: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var17 /* : AWhileExpr */; -val* var18 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable AWhileExpr */; -long var19 /* : Int */; -long var20 /* : Int */; +val* var11 /* : ALtExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ALtExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = 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 >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; +} else { +var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist3 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7883); +fatal_exit(1); } -var_nodearraylist1 = var6; -var_tkwwhilenode2 = var_nodearraylist1; -/* isa nullable TKwwhile */ -cltype = type_nullable__nit__TKwwhile.color; -idtype = type_nullable__nit__TKwwhile.id; -if(var_tkwwhilenode2 == NULL) { -var7 = 1; +var_tltnode3 = var_nodearraylist2; +/* isa nullable TLt */ +cltype6 = type_nullable__nit__TLt.color; +idtype7 = type_nullable__nit__TLt.id; +if(var_tltnode3 == NULL) { +var5 = 1; } else { -if(cltype >= var_tkwwhilenode2->type->table_size) { -var7 = 0; +if(cltype6 >= (((long)var_tltnode3&3)?type_info[((long)var_tltnode3&3)]:var_tltnode3->type)->table_size) { +var5 = 0; } else { -var7 = var_tkwwhilenode2->type->type_table[cltype] == idtype; +var5 = (((long)var_tltnode3&3)?type_info[((long)var_tltnode3&3)]:var_tltnode3->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var7)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7885); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist3; -/* isa nullable AExpr */ +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ cltype9 = type_nullable__nit__AExpr.color; idtype10 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { +if(var_pexprnode4 == NULL) { var8 = 1; } else { -if(cltype9 >= var_pexprnode3->type->table_size) { +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { var8 = 0; } else { -var8 = var_pexprnode3->type->type_table[cltype9] == idtype10; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7413); -show_backtrace(1); -} -var_tkwdonode4 = var_nodearraylist5; -/* isa nullable TKwdo */ -cltype12 = type_nullable__nit__TKwdo.color; -idtype13 = type_nullable__nit__TKwdo.id; -if(var_tkwdonode4 == NULL) { -var11 = 1; -} else { -if(cltype12 >= var_tkwdonode4->type->table_size) { -var11 = 0; -} else { -var11 = var_tkwdonode4->type->type_table[cltype12] == idtype13; -} -} -if (unlikely(!var11)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7415); -show_backtrace(1); -} -var_pexprnode5 = var_nodearraylist6; -/* isa nullable AExpr */ -cltype15 = type_nullable__nit__AExpr.color; -idtype16 = type_nullable__nit__AExpr.id; -if(var_pexprnode5 == NULL) { -var14 = 1; -} else { -if(cltype15 >= var_pexprnode5->type->table_size) { -var14 = 0; -} else { -var14 = var_pexprnode5->type->type_table[cltype15] == idtype16; -} -} -if (unlikely(!var14)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7417); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7887); +fatal_exit(1); } -var17 = NEW_nit__AWhileExpr(&type_nit__AWhileExpr); -var18 = NULL; +var11 = NEW_nit__ALtExpr(&type_nit__ALtExpr); { -nit__parser_prod___AWhileExpr___init_awhileexpr(var17, var_tkwwhilenode2, var_pexprnode3, var_tkwdonode4, var_pexprnode5, var18); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on */ +nit__parser_prod___ALtExpr___init_altexpr(var11, var_pexprnode2, var_tltnode3, var_pexprnode4); /* Direct call parser_prod#ALtExpr#init_altexpr on */ } -var_pexprnode1 = var17; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var20 = nit___nit__Parser___go_to(var_p, var19); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction262#action for (self: ReduceAction262, Parser) */ -void nit__parser___nit__parser__ReduceAction262___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction296#action for (self: ReduceAction296, Parser) */ +void nit__parser___nit__parser__ReduceAction296___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_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; -val* var_listnode4 /* var listnode4: Array[Object] */; -val* var_tkwfornode2 /* var tkwfornode2: nullable Object */; -short int var13 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_listnode3 /* var listnode3: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var17 /* : Array[Object] */; -val* var_pexprnode5 /* var pexprnode5: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_tkwdonode6 /* var tkwdonode6: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_pexprnode7 /* var pexprnode7: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var_plabelnode8 /* var plabelnode8: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : AForExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AForExpr */; -long var31 /* : Int */; -long var32 /* : Int */; +val* var_tlenode3 /* var tlenode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : ALeExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ALeExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist8 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist7 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist6 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist5 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var9; -{ -var10 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = 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 >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; +} else { +var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist2 = var10; -{ -var11 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var11; -var12 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on */ +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7907); +fatal_exit(1); } -var_listnode4 = var12; -var_tkwfornode2 = var_nodearraylist1; -/* isa nullable TKwfor */ -cltype = type_nullable__nit__TKwfor.color; -idtype = type_nullable__nit__TKwfor.id; -if(var_tkwfornode2 == NULL) { -var13 = 1; +var_tlenode3 = var_nodearraylist2; +/* isa nullable TLe */ +cltype6 = type_nullable__nit__TLe.color; +idtype7 = type_nullable__nit__TLe.id; +if(var_tlenode3 == NULL) { +var5 = 1; } else { -if(cltype >= var_tkwfornode2->type->table_size) { -var13 = 0; +if(cltype6 >= (((long)var_tlenode3&3)?type_info[((long)var_tlenode3&3)]:var_tlenode3->type)->table_size) { +var5 = 0; } else { -var13 = var_tkwfornode2->type->type_table[cltype] == idtype; +var5 = (((long)var_tlenode3&3)?type_info[((long)var_tlenode3&3)]:var_tlenode3->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var13)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7447); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7909); +fatal_exit(1); } -var_listnode3 = var_nodearraylist3; -/* isa Array[Object] */ -cltype15 = type_standard__Array__standard__Object.color; -idtype16 = type_standard__Array__standard__Object.id; -if(var_listnode3 == NULL) { -var14 = 0; +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; } else { -if(cltype15 >= var_listnode3->type->table_size) { -var14 = 0; +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; } else { -var14 = var_listnode3->type->type_table[cltype15] == idtype16; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var14)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7449); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7911); +fatal_exit(1); } +var11 = NEW_nit__ALeExpr(&type_nit__ALeExpr); { -var17 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +nit__parser_prod___ALeExpr___init_aleexpr(var11, var_pexprnode2, var_tlenode3, var_pexprnode4); /* Direct call parser_prod#ALeExpr#init_aleexpr on */ } -var_listnode4 = var17; -var_pexprnode5 = var_nodearraylist7; -/* isa nullable AExpr */ -cltype19 = type_nullable__nit__AExpr.color; -idtype20 = type_nullable__nit__AExpr.id; -if(var_pexprnode5 == NULL) { -var18 = 1; -} else { -if(cltype19 >= var_pexprnode5->type->table_size) { -var18 = 0; -} else { -var18 = var_pexprnode5->type->type_table[cltype19] == idtype20; +var_pexprnode1 = var11; +var_node_list = var_pexprnode1; +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 */ } -if (unlikely(!var18)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7452); -show_backtrace(1); +RET_LABEL:; } -var_tkwdonode6 = var_nodearraylist9; -/* isa nullable TKwdo */ -cltype22 = type_nullable__nit__TKwdo.color; -idtype23 = type_nullable__nit__TKwdo.id; -if(var_tkwdonode6 == NULL) { -var21 = 1; +/* method parser#ReduceAction297#action for (self: ReduceAction297, Parser) */ +void nit__parser___nit__parser__ReduceAction297___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* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; +int cltype; +int idtype; +val* var_tgtnode3 /* var tgtnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AGtExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AGtExpr */; +long var12 /* : Int */; +long var13 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist4 = var; +{ +var1 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = 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(cltype22 >= var_tkwdonode6->type->table_size) { -var21 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; } else { -var21 = var_tkwdonode6->type->type_table[cltype22] == idtype23; +var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var21)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7454); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7931); +fatal_exit(1); } -var_pexprnode7 = var_nodearraylist10; -/* isa nullable AExpr */ -cltype25 = type_nullable__nit__AExpr.color; -idtype26 = type_nullable__nit__AExpr.id; -if(var_pexprnode7 == NULL) { -var24 = 1; +var_tgtnode3 = var_nodearraylist2; +/* isa nullable TGt */ +cltype6 = type_nullable__nit__TGt.color; +idtype7 = type_nullable__nit__TGt.id; +if(var_tgtnode3 == NULL) { +var5 = 1; } else { -if(cltype25 >= var_pexprnode7->type->table_size) { -var24 = 0; +if(cltype6 >= (((long)var_tgtnode3&3)?type_info[((long)var_tgtnode3&3)]:var_tgtnode3->type)->table_size) { +var5 = 0; } else { -var24 = var_pexprnode7->type->type_table[cltype25] == idtype26; +var5 = (((long)var_tgtnode3&3)?type_info[((long)var_tgtnode3&3)]:var_tgtnode3->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var24)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7456); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7933); +fatal_exit(1); } -var_plabelnode8 = var_nodearraylist11; -/* isa nullable ALabel */ -cltype28 = type_nullable__nit__ALabel.color; -idtype29 = type_nullable__nit__ALabel.id; -if(var_plabelnode8 == NULL) { -var27 = 1; +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; } else { -if(cltype28 >= var_plabelnode8->type->table_size) { -var27 = 0; +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; } else { -var27 = var_plabelnode8->type->type_table[cltype28] == idtype29; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var27)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7458); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7935); +fatal_exit(1); } -var30 = NEW_nit__AForExpr(&type_nit__AForExpr); +var11 = NEW_nit__AGtExpr(&type_nit__AGtExpr); { -nit__parser_prod___AForExpr___init_aforexpr(var30, var_tkwfornode2, var_listnode4, var_pexprnode5, var_tkwdonode6, var_pexprnode7, var_plabelnode8); /* Direct call parser_prod#AForExpr#init_aforexpr on */ +nit__parser_prod___AGtExpr___init_agtexpr(var11, var_pexprnode2, var_tgtnode3, var_pexprnode4); /* Direct call parser_prod#AGtExpr#init_agtexpr on */ } -var_pexprnode1 = var30; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var31 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var32 = nit___nit__Parser___go_to(var_p, var31); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var32, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction263#action for (self: ReduceAction263, Parser) */ -void nit__parser___nit__parser__ReduceAction263___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction298#action for (self: ReduceAction298, Parser) */ +void nit__parser___nit__parser__ReduceAction298___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 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var11 /* : Array[Object] */; -val* var_listnode4 /* var listnode4: Array[Object] */; -val* var_tkwfornode2 /* var tkwfornode2: nullable Object */; -short int var12 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_listnode3 /* var listnode3: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var16 /* : Array[Object] */; -val* var_pexprnode5 /* var pexprnode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var_tkwdonode6 /* var tkwdonode6: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_pexprnode7 /* var pexprnode7: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var26 /* : AForExpr */; -val* var27 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable AForExpr */; -long var28 /* : Int */; -long var29 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist10 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist9 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist8 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist7 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist6 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist5 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var8; +val* var_tgenode3 /* var tgenode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AGeExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AGeExpr */; +long var12 /* : Int */; +long var13 /* : 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_nodearraylist4 = var; { -var10 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var10; -var11 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist3 = var1; { -standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on */ -} -var_listnode4 = var11; -var_tkwfornode2 = var_nodearraylist1; -/* isa nullable TKwfor */ -cltype = type_nullable__nit__TKwfor.color; -idtype = type_nullable__nit__TKwfor.id; -if(var_tkwfornode2 == NULL) { -var12 = 1; -} else { -if(cltype >= var_tkwfornode2->type->table_size) { -var12 = 0; -} else { -var12 = var_tkwfornode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var12)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7488); -show_backtrace(1); -} -var_listnode3 = var_nodearraylist3; -/* isa Array[Object] */ -cltype14 = type_standard__Array__standard__Object.color; -idtype15 = type_standard__Array__standard__Object.id; -if(var_listnode3 == NULL) { -var13 = 0; -} else { -if(cltype14 >= var_listnode3->type->table_size) { -var13 = 0; -} else { -var13 = var_listnode3->type->type_table[cltype14] == idtype15; -} -} -if (unlikely(!var13)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7490); -show_backtrace(1); +var2 = nit___nit__Parser___pop(var_p); } +var_nodearraylist2 = var2; { -var16 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +var3 = nit___nit__Parser___pop(var_p); } -var_listnode4 = var16; -var_pexprnode5 = var_nodearraylist7; -/* isa nullable AExpr */ -cltype18 = type_nullable__nit__AExpr.color; -idtype19 = type_nullable__nit__AExpr.id; -if(var_pexprnode5 == NULL) { -var17 = 1; +var_nodearraylist1 = 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(cltype18 >= var_pexprnode5->type->table_size) { -var17 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; } else { -var17 = var_pexprnode5->type->type_table[cltype18] == idtype19; +var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var17)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7493); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7955); +fatal_exit(1); } -var_tkwdonode6 = var_nodearraylist9; -/* isa nullable TKwdo */ -cltype21 = type_nullable__nit__TKwdo.color; -idtype22 = type_nullable__nit__TKwdo.id; -if(var_tkwdonode6 == NULL) { -var20 = 1; +var_tgenode3 = var_nodearraylist2; +/* isa nullable TGe */ +cltype6 = type_nullable__nit__TGe.color; +idtype7 = type_nullable__nit__TGe.id; +if(var_tgenode3 == NULL) { +var5 = 1; } else { -if(cltype21 >= var_tkwdonode6->type->table_size) { -var20 = 0; +if(cltype6 >= (((long)var_tgenode3&3)?type_info[((long)var_tgenode3&3)]:var_tgenode3->type)->table_size) { +var5 = 0; } else { -var20 = var_tkwdonode6->type->type_table[cltype21] == idtype22; +var5 = (((long)var_tgenode3&3)?type_info[((long)var_tgenode3&3)]:var_tgenode3->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var20)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7957); +fatal_exit(1); } -var_pexprnode7 = var_nodearraylist10; -/* isa nullable AExpr */ -cltype24 = type_nullable__nit__AExpr.color; -idtype25 = type_nullable__nit__AExpr.id; -if(var_pexprnode7 == NULL) { -var23 = 1; +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; } else { -if(cltype24 >= var_pexprnode7->type->table_size) { -var23 = 0; +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; } else { -var23 = var_pexprnode7->type->type_table[cltype24] == idtype25; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var23)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7497); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7959); +fatal_exit(1); } -var26 = NEW_nit__AForExpr(&type_nit__AForExpr); -var27 = NULL; +var11 = NEW_nit__AGeExpr(&type_nit__AGeExpr); { -nit__parser_prod___AForExpr___init_aforexpr(var26, var_tkwfornode2, var_listnode4, var_pexprnode5, var_tkwdonode6, var_pexprnode7, var27); /* Direct call parser_prod#AForExpr#init_aforexpr on */ +nit__parser_prod___AGeExpr___init_ageexpr(var11, var_pexprnode2, var_tgenode3, var_pexprnode4); /* Direct call parser_prod#AGeExpr#init_ageexpr on */ } -var_pexprnode1 = var26; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var28 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var29 = nit___nit__Parser___go_to(var_p, var28); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var29, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction264#action for (self: ReduceAction264, Parser) */ -void nit__parser___nit__parser__ReduceAction264___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction299#action for (self: ReduceAction299, Parser) */ +void nit__parser___nit__parser__ReduceAction299___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_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwassertnode2 /* var tkwassertnode2: nullable Object */; -short int var5 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; +val* var_tstarshipnode3 /* var tstarshipnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; val* var_pexprnode4 /* var pexprnode4: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var_pexprnode5 /* var pexprnode5: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : AAssertExpr */; -val* var13 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable AAssertExpr */; -long var14 /* : Int */; -long var15 /* : Int */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AStarshipExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AStarshipExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var4; -var_tkwassertnode2 = var_nodearraylist1; -/* isa nullable TKwassert */ -cltype = type_nullable__nit__TKwassert.color; -idtype = type_nullable__nit__TKwassert.id; -if(var_tkwassertnode2 == NULL) { -var5 = 1; +var_nodearraylist1 = 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_tkwassertnode2->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_tkwassertnode2->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, 7520); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7979); +fatal_exit(1); } -var_pexprnode4 = var_nodearraylist2; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode4 == NULL) { -var6 = 1; +var_tstarshipnode3 = var_nodearraylist2; +/* isa nullable TStarship */ +cltype6 = type_nullable__nit__TStarship.color; +idtype7 = type_nullable__nit__TStarship.id; +if(var_tstarshipnode3 == NULL) { +var5 = 1; } else { -if(cltype7 >= var_pexprnode4->type->table_size) { -var6 = 0; +if(cltype6 >= (((long)var_tstarshipnode3&3)?type_info[((long)var_tstarshipnode3&3)]:var_tstarshipnode3->type)->table_size) { +var5 = 0; } else { -var6 = var_pexprnode4->type->type_table[cltype7] == idtype8; +var5 = (((long)var_tstarshipnode3&3)?type_info[((long)var_tstarshipnode3&3)]:var_tstarshipnode3->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var6)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7522); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7981); +fatal_exit(1); } -var_pexprnode5 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype10 = type_nullable__nit__AExpr.color; -idtype11 = type_nullable__nit__AExpr.id; -if(var_pexprnode5 == NULL) { -var9 = 1; +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; } else { -if(cltype10 >= var_pexprnode5->type->table_size) { -var9 = 0; +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; } else { -var9 = var_pexprnode5->type->type_table[cltype10] == idtype11; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var9)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7524); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7983); +fatal_exit(1); } -var12 = NEW_nit__AAssertExpr(&type_nit__AAssertExpr); -var13 = NULL; +var11 = NEW_nit__AStarshipExpr(&type_nit__AStarshipExpr); { -nit__parser_prod___AAssertExpr___init_aassertexpr(var12, var_tkwassertnode2, var13, var_pexprnode4, var_pexprnode5); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on */ +nit__parser_prod___AStarshipExpr___init_astarshipexpr(var11, var_pexprnode2, var_tstarshipnode3, var_pexprnode4); /* Direct call parser_prod#AStarshipExpr#init_astarshipexpr on */ } -var_pexprnode1 = var12; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var15 = nit___nit__Parser___go_to(var_p, var14); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction265#action for (self: ReduceAction265, Parser) */ -void nit__parser___nit__parser__ReduceAction265___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction300#action for (self: ReduceAction300, Parser) */ +void nit__parser___nit__parser__ReduceAction300___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_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var2 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var3 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwassertnode2 /* var tkwassertnode2: nullable Object */; -short int var6 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_tidnode3 /* var tidnode3: nullable Object */; -short int var7 /* : Bool */; -int cltype8; -int idtype9; -val* var_pexprnode4 /* var pexprnode4: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var_pexprnode5 /* var pexprnode5: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var16 /* : AAssertExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AAssertExpr */; -long var17 /* : Int */; -long var18 /* : Int */; +val* var_tkwisanode3 /* var tkwisanode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_ptypenode4 /* var ptypenode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AIsaExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AIsaExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var5; -var_tkwassertnode2 = var_nodearraylist1; -/* isa nullable TKwassert */ -cltype = type_nullable__nit__TKwassert.color; -idtype = type_nullable__nit__TKwassert.id; -if(var_tkwassertnode2 == NULL) { -var6 = 1; -} else { -if(cltype >= var_tkwassertnode2->type->table_size) { -var6 = 0; -} else { -var6 = var_tkwassertnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var6)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7546); -show_backtrace(1); -} -var_tidnode3 = var_nodearraylist2; -/* isa nullable TId */ -cltype8 = type_nullable__nit__TId.color; -idtype9 = type_nullable__nit__TId.id; -if(var_tidnode3 == NULL) { -var7 = 1; +var_nodearraylist1 = 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(cltype8 >= var_tidnode3->type->table_size) { -var7 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; } else { -var7 = var_tidnode3->type->type_table[cltype8] == idtype9; +var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var7)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7548); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8003); +fatal_exit(1); } -var_pexprnode4 = var_nodearraylist3; -/* isa nullable AExpr */ -cltype11 = type_nullable__nit__AExpr.color; -idtype12 = type_nullable__nit__AExpr.id; -if(var_pexprnode4 == NULL) { -var10 = 1; +var_tkwisanode3 = var_nodearraylist2; +/* isa nullable TKwisa */ +cltype6 = type_nullable__nit__TKwisa.color; +idtype7 = type_nullable__nit__TKwisa.id; +if(var_tkwisanode3 == NULL) { +var5 = 1; } else { -if(cltype11 >= var_pexprnode4->type->table_size) { -var10 = 0; +if(cltype6 >= (((long)var_tkwisanode3&3)?type_info[((long)var_tkwisanode3&3)]:var_tkwisanode3->type)->table_size) { +var5 = 0; } else { -var10 = var_pexprnode4->type->type_table[cltype11] == idtype12; +var5 = (((long)var_tkwisanode3&3)?type_info[((long)var_tkwisanode3&3)]:var_tkwisanode3->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, 7550); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8005); +fatal_exit(1); } -var_pexprnode5 = var_nodearraylist5; -/* isa nullable AExpr */ -cltype14 = type_nullable__nit__AExpr.color; -idtype15 = type_nullable__nit__AExpr.id; -if(var_pexprnode5 == NULL) { -var13 = 1; +var_ptypenode4 = var_nodearraylist4; +/* isa nullable AType */ +cltype9 = type_nullable__nit__AType.color; +idtype10 = type_nullable__nit__AType.id; +if(var_ptypenode4 == NULL) { +var8 = 1; } else { -if(cltype14 >= var_pexprnode5->type->table_size) { -var13 = 0; +if(cltype9 >= (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->table_size) { +var8 = 0; } else { -var13 = var_pexprnode5->type->type_table[cltype14] == idtype15; +var8 = (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->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, 7552); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8007); +fatal_exit(1); } -var16 = NEW_nit__AAssertExpr(&type_nit__AAssertExpr); +var11 = NEW_nit__AIsaExpr(&type_nit__AIsaExpr); { -nit__parser_prod___AAssertExpr___init_aassertexpr(var16, var_tkwassertnode2, var_tidnode3, var_pexprnode4, var_pexprnode5); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on */ +nit__parser_prod___AIsaExpr___init_aisaexpr(var11, var_pexprnode2, var_tkwisanode3, var_ptypenode4); /* Direct call parser_prod#AIsaExpr#init_aisaexpr on */ } -var_pexprnode1 = var16; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var17 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var18 = nit___nit__Parser___go_to(var_p, var17); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var18, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction266#action for (self: ReduceAction266, Parser) */ -void nit__parser___nit__parser__ReduceAction266___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction302#action for (self: ReduceAction302, Parser) */ +void nit__parser___nit__parser__ReduceAction302___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_nodearraylist2 /* var nodearraylist2: 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_tkwassertnode2 /* var tkwassertnode2: nullable Object */; -short int var3 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; +val* var_tpipenode3 /* var tpipenode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; val* var_pexprnode4 /* var pexprnode4: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AAssertExpr */; -val* var8 /* : null */; -val* var9 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable AAssertExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : APipeExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable APipeExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; -var_tkwassertnode2 = var_nodearraylist1; -/* isa nullable TKwassert */ -cltype = type_nullable__nit__TKwassert.color; -idtype = type_nullable__nit__TKwassert.id; -if(var_tkwassertnode2 == NULL) { -var3 = 1; +var_nodearraylist2 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = 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_tkwassertnode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; } else { -var3 = var_tkwassertnode2->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(!var3)) { +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8027); +fatal_exit(1); +} +var_tpipenode3 = var_nodearraylist2; +/* isa nullable TPipe */ +cltype6 = type_nullable__nit__TPipe.color; +idtype7 = type_nullable__nit__TPipe.id; +if(var_tpipenode3 == NULL) { +var5 = 1; +} else { +if(cltype6 >= (((long)var_tpipenode3&3)?type_info[((long)var_tpipenode3&3)]:var_tpipenode3->type)->table_size) { +var5 = 0; +} else { +var5 = (((long)var_tpipenode3&3)?type_info[((long)var_tpipenode3&3)]:var_tpipenode3->type)->type_table[cltype6] == idtype7; +} +} +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7571); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8029); +fatal_exit(1); } -var_pexprnode4 = var_nodearraylist2; +var_pexprnode4 = var_nodearraylist4; /* isa nullable AExpr */ -cltype5 = type_nullable__nit__AExpr.color; -idtype6 = type_nullable__nit__AExpr.id; +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; if(var_pexprnode4 == NULL) { -var4 = 1; +var8 = 1; } else { -if(cltype5 >= var_pexprnode4->type->table_size) { -var4 = 0; +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; } else { -var4 = var_pexprnode4->type->type_table[cltype5] == idtype6; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var4)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7573); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8031); +fatal_exit(1); } -var7 = NEW_nit__AAssertExpr(&type_nit__AAssertExpr); -var8 = NULL; -var9 = NULL; +var11 = NEW_nit__APipeExpr(&type_nit__APipeExpr); { -nit__parser_prod___AAssertExpr___init_aassertexpr(var7, var_tkwassertnode2, var8, var_pexprnode4, var9); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on */ +nit__parser_prod___APipeExpr___init_apipeexpr(var11, var_pexprnode2, var_tpipenode3, var_pexprnode4); /* Direct call parser_prod#APipeExpr#init_apipeexpr on */ } -var_pexprnode1 = var7; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction267#action for (self: ReduceAction267, Parser) */ -void nit__parser___nit__parser__ReduceAction267___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction304#action for (self: ReduceAction304, Parser) */ +void nit__parser___nit__parser__ReduceAction304___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_tkwassertnode2 /* var tkwassertnode2: nullable Object */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; short int var4 /* : Bool */; int cltype; int idtype; -val* var_tidnode3 /* var tidnode3: nullable Object */; +val* var_tcaretnode3 /* var tcaretnode3: nullable Object */; short int var5 /* : Bool */; int cltype6; int idtype7; @@ -2825,14 +3020,16 @@ val* var_pexprnode4 /* var pexprnode4: nullable Object */; short int var8 /* : Bool */; int cltype9; int idtype10; -val* var11 /* : AAssertExpr */; -val* var12 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable AAssertExpr */; +val* var11 /* : ACaretExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ACaretExpr */; +long var12 /* : Int */; 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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -2845,747 +3042,799 @@ var_nodearraylist2 = var2; var3 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var3; -var_tkwassertnode2 = var_nodearraylist1; -/* isa nullable TKwassert */ -cltype = type_nullable__nit__TKwassert.color; -idtype = type_nullable__nit__TKwassert.id; -if(var_tkwassertnode2 == NULL) { +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_tkwassertnode2->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_tkwassertnode2->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, 7593); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8051); +fatal_exit(1); } -var_tidnode3 = var_nodearraylist2; -/* isa nullable TId */ -cltype6 = type_nullable__nit__TId.color; -idtype7 = type_nullable__nit__TId.id; -if(var_tidnode3 == NULL) { +var_tcaretnode3 = var_nodearraylist2; +/* isa nullable TCaret */ +cltype6 = type_nullable__nit__TCaret.color; +idtype7 = type_nullable__nit__TCaret.id; +if(var_tcaretnode3 == NULL) { var5 = 1; } else { -if(cltype6 >= var_tidnode3->type->table_size) { +if(cltype6 >= (((long)var_tcaretnode3&3)?type_info[((long)var_tcaretnode3&3)]:var_tcaretnode3->type)->table_size) { var5 = 0; } else { -var5 = var_tidnode3->type->type_table[cltype6] == idtype7; +var5 = (((long)var_tcaretnode3&3)?type_info[((long)var_tcaretnode3&3)]:var_tcaretnode3->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7595); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8053); +fatal_exit(1); } -var_pexprnode4 = var_nodearraylist3; +var_pexprnode4 = var_nodearraylist4; /* isa nullable AExpr */ cltype9 = type_nullable__nit__AExpr.color; idtype10 = type_nullable__nit__AExpr.id; if(var_pexprnode4 == NULL) { var8 = 1; } else { -if(cltype9 >= var_pexprnode4->type->table_size) { +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { var8 = 0; } else { -var8 = var_pexprnode4->type->type_table[cltype9] == idtype10; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7597); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8055); +fatal_exit(1); } -var11 = NEW_nit__AAssertExpr(&type_nit__AAssertExpr); -var12 = NULL; +var11 = NEW_nit__ACaretExpr(&type_nit__ACaretExpr); { -nit__parser_prod___AAssertExpr___init_aassertexpr(var11, var_tkwassertnode2, var_tidnode3, var_pexprnode4, var12); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on */ +nit__parser_prod___ACaretExpr___init_acaretexpr(var11, var_pexprnode2, var_tcaretnode3, var_pexprnode4); /* Direct call parser_prod#ACaretExpr#init_acaretexpr on */ } var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var13 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var14 = nit___nit__Parser___go_to(var_p, var13); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var14, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction268#action for (self: ReduceAction268, Parser) */ -void nit__parser___nit__parser__ReduceAction268___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction306#action for (self: ReduceAction306, Parser) */ +void nit__parser___nit__parser__ReduceAction306___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_nodearraylist2 /* var nodearraylist2: 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_tidnode1 /* var tidnode1: nullable Object */; -long var3 /* : Int */; -long var4 /* : Int */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; +int cltype; +int idtype; +val* var_tampnode3 /* var tampnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AAmpExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AAmpExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; -var_tidnode1 = var_nodearraylist1; -var_node_list = var_tidnode1; -var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist2 = var2; { -var4 = nit___nit__Parser___go_to(var_p, var3); +var3 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = 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 >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; +} else { +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, 8075); +fatal_exit(1); +} +var_tampnode3 = var_nodearraylist2; +/* isa nullable TAmp */ +cltype6 = type_nullable__nit__TAmp.color; +idtype7 = type_nullable__nit__TAmp.id; +if(var_tampnode3 == NULL) { +var5 = 1; +} else { +if(cltype6 >= (((long)var_tampnode3&3)?type_info[((long)var_tampnode3&3)]:var_tampnode3->type)->table_size) { +var5 = 0; +} else { +var5 = (((long)var_tampnode3&3)?type_info[((long)var_tampnode3&3)]:var_tampnode3->type)->type_table[cltype6] == idtype7; +} +} +if (unlikely(!var5)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8077); +fatal_exit(1); +} +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; +} else { +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; +} else { +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; +} +} +if (unlikely(!var8)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8079); +fatal_exit(1); } +var11 = NEW_nit__AAmpExpr(&type_nit__AAmpExpr); { -nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ +nit__parser_prod___AAmpExpr___init_aampexpr(var11, var_pexprnode2, var_tampnode3, var_pexprnode4); /* Direct call parser_prod#AAmpExpr#init_aampexpr on */ +} +var_pexprnode1 = var11; +var_node_list = var_pexprnode1; +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#ReduceAction270#action for (self: ReduceAction270, Parser) */ -void nit__parser___nit__parser__ReduceAction270___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction308#action for (self: ReduceAction308, Parser) */ +void nit__parser___nit__parser__ReduceAction308___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_nodearraylist11 /* var nodearraylist11: nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwifnode2 /* var tkwifnode2: nullable Object */; -short int var12 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_tkwthennode4 /* var tkwthennode4: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var_pexprnode5 /* var pexprnode5: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_tkwelsenode6 /* var tkwelsenode6: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_pexprnode7 /* var pexprnode7: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : AIfexprExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AIfexprExpr */; -long var29 /* : Int */; -long var30 /* : Int */; +val* var_tllnode3 /* var tllnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : ALlExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ALlExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist8 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist7 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist6 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist5 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var9; -{ -var10 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var10; -{ -var11 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var11; -var_tkwifnode2 = var_nodearraylist1; -/* isa nullable TKwif */ -cltype = type_nullable__nit__TKwif.color; -idtype = type_nullable__nit__TKwif.id; -if(var_tkwifnode2 == NULL) { -var12 = 1; -} else { -if(cltype >= var_tkwifnode2->type->table_size) { -var12 = 0; -} else { -var12 = var_tkwifnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var12)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7637); -show_backtrace(1); -} -var_pexprnode3 = var_nodearraylist3; -/* isa nullable AExpr */ -cltype14 = type_nullable__nit__AExpr.color; -idtype15 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var13 = 1; -} else { -if(cltype14 >= var_pexprnode3->type->table_size) { -var13 = 0; -} else { -var13 = var_pexprnode3->type->type_table[cltype14] == idtype15; -} -} -if (unlikely(!var13)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7639); -show_backtrace(1); -} -var_tkwthennode4 = var_nodearraylist5; -/* isa nullable TKwthen */ -cltype17 = type_nullable__nit__TKwthen.color; -idtype18 = type_nullable__nit__TKwthen.id; -if(var_tkwthennode4 == NULL) { -var16 = 1; -} else { -if(cltype17 >= var_tkwthennode4->type->table_size) { -var16 = 0; -} else { -var16 = var_tkwthennode4->type->type_table[cltype17] == idtype18; -} -} -if (unlikely(!var16)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7641); -show_backtrace(1); -} -var_pexprnode5 = var_nodearraylist7; -/* isa nullable AExpr */ -cltype20 = type_nullable__nit__AExpr.color; -idtype21 = type_nullable__nit__AExpr.id; -if(var_pexprnode5 == NULL) { -var19 = 1; +var_nodearraylist1 = 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(cltype20 >= var_pexprnode5->type->table_size) { -var19 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; } else { -var19 = var_pexprnode5->type->type_table[cltype20] == idtype21; +var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var19)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7643); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8099); +fatal_exit(1); } -var_tkwelsenode6 = var_nodearraylist9; -/* isa nullable TKwelse */ -cltype23 = type_nullable__nit__TKwelse.color; -idtype24 = type_nullable__nit__TKwelse.id; -if(var_tkwelsenode6 == NULL) { -var22 = 1; +var_tllnode3 = var_nodearraylist2; +/* isa nullable TLl */ +cltype6 = type_nullable__nit__TLl.color; +idtype7 = type_nullable__nit__TLl.id; +if(var_tllnode3 == NULL) { +var5 = 1; } else { -if(cltype23 >= var_tkwelsenode6->type->table_size) { -var22 = 0; +if(cltype6 >= (((long)var_tllnode3&3)?type_info[((long)var_tllnode3&3)]:var_tllnode3->type)->table_size) { +var5 = 0; } else { -var22 = var_tkwelsenode6->type->type_table[cltype23] == idtype24; +var5 = (((long)var_tllnode3&3)?type_info[((long)var_tllnode3&3)]:var_tllnode3->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var22)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7645); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8101); +fatal_exit(1); } -var_pexprnode7 = var_nodearraylist11; -/* isa nullable AExpr */ -cltype26 = type_nullable__nit__AExpr.color; -idtype27 = type_nullable__nit__AExpr.id; -if(var_pexprnode7 == NULL) { -var25 = 1; +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; } else { -if(cltype26 >= var_pexprnode7->type->table_size) { -var25 = 0; +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; } else { -var25 = var_pexprnode7->type->type_table[cltype26] == idtype27; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var25)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7647); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8103); +fatal_exit(1); } -var28 = NEW_nit__AIfexprExpr(&type_nit__AIfexprExpr); +var11 = NEW_nit__ALlExpr(&type_nit__ALlExpr); { -nit__parser_prod___AIfexprExpr___init_aifexprexpr(var28, var_tkwifnode2, var_pexprnode3, var_tkwthennode4, var_pexprnode5, var_tkwelsenode6, var_pexprnode7); /* Direct call parser_prod#AIfexprExpr#init_aifexprexpr on */ +nit__parser_prod___ALlExpr___init_allexpr(var11, var_pexprnode2, var_tllnode3, var_pexprnode4); /* Direct call parser_prod#ALlExpr#init_allexpr on */ } -var_pexprnode1 = var28; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var29 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var30 = nit___nit__Parser___go_to(var_p, var29); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var30, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction272#action for (self: ReduceAction272, Parser) */ -void nit__parser___nit__parser__ReduceAction272___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction309#action for (self: ReduceAction309, Parser) */ +void nit__parser___nit__parser__ReduceAction309___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_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : AOrExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AOrExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var_tggnode3 /* var tggnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AGgExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AGgExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var4; +var_nodearraylist1 = 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 >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; +} else { +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, 8123); +fatal_exit(1); +} +var_tggnode3 = var_nodearraylist2; +/* isa nullable TGg */ +cltype6 = type_nullable__nit__TGg.color; +idtype7 = type_nullable__nit__TGg.id; +if(var_tggnode3 == NULL) { var5 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { +if(cltype6 >= (((long)var_tggnode3&3)?type_info[((long)var_tggnode3&3)]:var_tggnode3->type)->table_size) { var5 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_tggnode3&3)?type_info[((long)var_tggnode3&3)]:var_tggnode3->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7670); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8125); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var6 = 1; +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var6)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7672); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8127); +fatal_exit(1); } -var9 = NEW_nit__AOrExpr(&type_nit__AOrExpr); +var11 = NEW_nit__AGgExpr(&type_nit__AGgExpr); { -nit__parser_prod___AOrExpr___init_aorexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#AOrExpr#init_aorexpr on */ +nit__parser_prod___AGgExpr___init_aggexpr(var11, var_pexprnode2, var_tggnode3, var_pexprnode4); /* Direct call parser_prod#AGgExpr#init_aggexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction273#action for (self: ReduceAction273, Parser) */ -void nit__parser___nit__parser__ReduceAction273___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction311#action for (self: ReduceAction311, Parser) */ +void nit__parser___nit__parser__ReduceAction311___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_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : AAndExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AAndExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var_tplusnode3 /* var tplusnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : APlusExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable APlusExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var4; +var_nodearraylist1 = 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 >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; +} else { +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, 8147); +fatal_exit(1); +} +var_tplusnode3 = var_nodearraylist2; +/* isa nullable TPlus */ +cltype6 = type_nullable__nit__TPlus.color; +idtype7 = type_nullable__nit__TPlus.id; +if(var_tplusnode3 == NULL) { var5 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { +if(cltype6 >= (((long)var_tplusnode3&3)?type_info[((long)var_tplusnode3&3)]:var_tplusnode3->type)->table_size) { var5 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_tplusnode3&3)?type_info[((long)var_tplusnode3&3)]:var_tplusnode3->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7691); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8149); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var6 = 1; +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var6)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7693); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8151); +fatal_exit(1); } -var9 = NEW_nit__AAndExpr(&type_nit__AAndExpr); +var11 = NEW_nit__APlusExpr(&type_nit__APlusExpr); { -nit__parser_prod___AAndExpr___init_aandexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#AAndExpr#init_aandexpr on */ +nit__parser_prod___APlusExpr___init_aplusexpr(var11, var_pexprnode2, var_tplusnode3, var_pexprnode4); /* Direct call parser_prod#APlusExpr#init_aplusexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction274#action for (self: ReduceAction274, Parser) */ -void nit__parser___nit__parser__ReduceAction274___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction312#action for (self: ReduceAction312, Parser) */ +void nit__parser___nit__parser__ReduceAction312___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_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var2 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var3 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var6 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var7 /* : Bool */; -int cltype8; -int idtype9; -val* var10 /* : AOrElseExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AOrElseExpr */; -long var11 /* : Int */; +val* var_tminusnode3 /* var tminusnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AMinusExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AMinusExpr */; 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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var5; +var_nodearraylist1 = var3; 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; +var4 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var6 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; } else { -var6 = var_pexprnode2->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(!var6)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7713); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8171); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist5; -/* isa nullable AExpr */ -cltype8 = type_nullable__nit__AExpr.color; -idtype9 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var7 = 1; +var_tminusnode3 = var_nodearraylist2; +/* isa nullable TMinus */ +cltype6 = type_nullable__nit__TMinus.color; +idtype7 = type_nullable__nit__TMinus.id; +if(var_tminusnode3 == NULL) { +var5 = 1; } else { -if(cltype8 >= var_pexprnode3->type->table_size) { -var7 = 0; +if(cltype6 >= (((long)var_tminusnode3&3)?type_info[((long)var_tminusnode3&3)]:var_tminusnode3->type)->table_size) { +var5 = 0; } else { -var7 = var_pexprnode3->type->type_table[cltype8] == idtype9; +var5 = (((long)var_tminusnode3&3)?type_info[((long)var_tminusnode3&3)]:var_tminusnode3->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var7)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7715); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8173); +fatal_exit(1); +} +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; +} else { +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; +} else { +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; +} +} +if (unlikely(!var8)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8175); +fatal_exit(1); } -var10 = NEW_nit__AOrElseExpr(&type_nit__AOrElseExpr); +var11 = NEW_nit__AMinusExpr(&type_nit__AMinusExpr); { -nit__parser_prod___AOrElseExpr___init_aorelseexpr(var10, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#AOrElseExpr#init_aorelseexpr on */ +nit__parser_prod___AMinusExpr___init_aminusexpr(var11, var_pexprnode2, var_tminusnode3, var_pexprnode4); /* Direct call parser_prod#AMinusExpr#init_aminusexpr on */ } -var_pexprnode1 = var10; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var12 = nit___nit__Parser___go_to(var_p, var11); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var12, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction275#action for (self: ReduceAction275, Parser) */ -void nit__parser___nit__parser__ReduceAction275___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction314#action for (self: ReduceAction314, Parser) */ +void nit__parser___nit__parser__ReduceAction314___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_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : AImpliesExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AImpliesExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var_tstarnode3 /* var tstarnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AStarExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AStarExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var4; +var_nodearraylist1 = 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 >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; +} else { +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, 8195); +fatal_exit(1); +} +var_tstarnode3 = var_nodearraylist2; +/* isa nullable TStar */ +cltype6 = type_nullable__nit__TStar.color; +idtype7 = type_nullable__nit__TStar.id; +if(var_tstarnode3 == NULL) { var5 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { +if(cltype6 >= (((long)var_tstarnode3&3)?type_info[((long)var_tstarnode3&3)]:var_tstarnode3->type)->table_size) { var5 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_tstarnode3&3)?type_info[((long)var_tstarnode3&3)]:var_tstarnode3->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7734); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8197); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var6 = 1; +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var6)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7736); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8199); +fatal_exit(1); } -var9 = NEW_nit__AImpliesExpr(&type_nit__AImpliesExpr); +var11 = NEW_nit__AStarExpr(&type_nit__AStarExpr); { -nit__parser_prod___AImpliesExpr___init_aimpliesexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#AImpliesExpr#init_aimpliesexpr on */ +nit__parser_prod___AStarExpr___init_astarexpr(var11, var_pexprnode2, var_tstarnode3, var_pexprnode4); /* Direct call parser_prod#AStarExpr#init_astarexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction277#action for (self: ReduceAction277, Parser) */ -void nit__parser___nit__parser__ReduceAction277___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction315#action for (self: ReduceAction315, Parser) */ +void nit__parser___nit__parser__ReduceAction315___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_tkwnotnode2 /* var tkwnotnode2: nullable Object */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; +val* var_tslashnode3 /* var tslashnode3: nullable Object */; short int var5 /* : Bool */; int cltype6; int idtype7; -val* var8 /* : ANotExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ANotExpr */; -long var9 /* : Int */; -long var10 /* : Int */; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : ASlashExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ASlashExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -3598,809 +3847,843 @@ var_nodearraylist2 = var2; var3 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var3; -var_tkwnotnode2 = var_nodearraylist1; -/* isa nullable TKwnot */ -cltype = type_nullable__nit__TKwnot.color; -idtype = type_nullable__nit__TKwnot.id; -if(var_tkwnotnode2 == NULL) { +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_tkwnotnode2->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_tkwnotnode2->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, 7754); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8219); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist3; -/* isa nullable AExpr */ -cltype6 = type_nullable__nit__AExpr.color; -idtype7 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { +var_tslashnode3 = var_nodearraylist2; +/* isa nullable TSlash */ +cltype6 = type_nullable__nit__TSlash.color; +idtype7 = type_nullable__nit__TSlash.id; +if(var_tslashnode3 == NULL) { var5 = 1; } else { -if(cltype6 >= var_pexprnode3->type->table_size) { +if(cltype6 >= (((long)var_tslashnode3&3)?type_info[((long)var_tslashnode3&3)]:var_tslashnode3->type)->table_size) { var5 = 0; } else { -var5 = var_pexprnode3->type->type_table[cltype6] == idtype7; +var5 = (((long)var_tslashnode3&3)?type_info[((long)var_tslashnode3&3)]:var_tslashnode3->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7756); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8221); +fatal_exit(1); +} +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; +} else { +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; +} else { +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; +} +} +if (unlikely(!var8)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8223); +fatal_exit(1); } -var8 = NEW_nit__ANotExpr(&type_nit__ANotExpr); +var11 = NEW_nit__ASlashExpr(&type_nit__ASlashExpr); { -nit__parser_prod___ANotExpr___init_anotexpr(var8, var_tkwnotnode2, var_pexprnode3); /* Direct call parser_prod#ANotExpr#init_anotexpr on */ +nit__parser_prod___ASlashExpr___init_aslashexpr(var11, var_pexprnode2, var_tslashnode3, var_pexprnode4); /* Direct call parser_prod#ASlashExpr#init_aslashexpr on */ } -var_pexprnode1 = var8; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var10 = nit___nit__Parser___go_to(var_p, var9); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction279#action for (self: ReduceAction279, Parser) */ -void nit__parser___nit__parser__ReduceAction279___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction316#action for (self: ReduceAction316, Parser) */ +void nit__parser___nit__parser__ReduceAction316___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_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : AEqExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AEqExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var_tpercentnode3 /* var tpercentnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : APercentExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable APercentExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var4; +var_nodearraylist1 = 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 >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; +} else { +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, 8243); +fatal_exit(1); +} +var_tpercentnode3 = var_nodearraylist2; +/* isa nullable TPercent */ +cltype6 = type_nullable__nit__TPercent.color; +idtype7 = type_nullable__nit__TPercent.id; +if(var_tpercentnode3 == NULL) { var5 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { +if(cltype6 >= (((long)var_tpercentnode3&3)?type_info[((long)var_tpercentnode3&3)]:var_tpercentnode3->type)->table_size) { var5 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_tpercentnode3&3)?type_info[((long)var_tpercentnode3&3)]:var_tpercentnode3->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7775); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8245); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var6 = 1; +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var6)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7777); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8247); +fatal_exit(1); } -var9 = NEW_nit__AEqExpr(&type_nit__AEqExpr); +var11 = NEW_nit__APercentExpr(&type_nit__APercentExpr); { -nit__parser_prod___AEqExpr___init_aeqexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#AEqExpr#init_aeqexpr on */ +nit__parser_prod___APercentExpr___init_apercentexpr(var11, var_pexprnode2, var_tpercentnode3, var_pexprnode4); /* Direct call parser_prod#APercentExpr#init_apercentexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction280#action for (self: ReduceAction280, Parser) */ -void nit__parser___nit__parser__ReduceAction280___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction318#action for (self: ReduceAction318, Parser) */ +void nit__parser___nit__parser__ReduceAction318___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_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : ANeExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ANeExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var_tstarstarnode3 /* var tstarstarnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AStarstarExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AStarstarExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var4; +var_nodearraylist1 = 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 >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; +} else { +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, 8267); +fatal_exit(1); +} +var_tstarstarnode3 = var_nodearraylist2; +/* isa nullable TStarstar */ +cltype6 = type_nullable__nit__TStarstar.color; +idtype7 = type_nullable__nit__TStarstar.id; +if(var_tstarstarnode3 == NULL) { var5 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { +if(cltype6 >= (((long)var_tstarstarnode3&3)?type_info[((long)var_tstarstarnode3&3)]:var_tstarstarnode3->type)->table_size) { var5 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_tstarstarnode3&3)?type_info[((long)var_tstarstarnode3&3)]:var_tstarstarnode3->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7796); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8269); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var6 = 1; +var_pexprnode4 = var_nodearraylist4; +/* isa nullable AExpr */ +cltype9 = type_nullable__nit__AExpr.color; +idtype10 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var8 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype9 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var8 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var8 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var6)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7798); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8271); +fatal_exit(1); } -var9 = NEW_nit__ANeExpr(&type_nit__ANeExpr); +var11 = NEW_nit__AStarstarExpr(&type_nit__AStarstarExpr); { -nit__parser_prod___ANeExpr___init_aneexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#ANeExpr#init_aneexpr on */ +nit__parser_prod___AStarstarExpr___init_astarstarexpr(var11, var_pexprnode2, var_tstarstarnode3, var_pexprnode4); /* Direct call parser_prod#AStarstarExpr#init_astarstarexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction281#action for (self: ReduceAction281, Parser) */ -void nit__parser___nit__parser__ReduceAction281___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction320#action for (self: ReduceAction320, Parser) */ +void nit__parser___nit__parser__ReduceAction320___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 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +val* var_tminusnode2 /* var tminusnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : ALtExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ALtExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AUminusExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AUminusExpr */; +long var7 /* : Int */; +long var8 /* : 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; +var_node_list = ((val*)NULL); { -var3 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; +var_nodearraylist2 = var; { -var4 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -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; +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; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_tminusnode2&3)?type_info[((long)var_tminusnode2&3)]:var_tminusnode2->type)->table_size) { +var2 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_tminusnode2&3)?type_info[((long)var_tminusnode2&3)]:var_tminusnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var5)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7817); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8289); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; +var_pexprnode3 = var_nodearraylist2; /* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; +cltype4 = type_nullable__nit__AExpr.color; +idtype5 = type_nullable__nit__AExpr.id; if(var_pexprnode3 == NULL) { -var6 = 1; +var3 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype4 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var3 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var3 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var6)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7819); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8291); +fatal_exit(1); } -var9 = NEW_nit__ALtExpr(&type_nit__ALtExpr); +var6 = NEW_nit__AUminusExpr(&type_nit__AUminusExpr); { -nit__parser_prod___ALtExpr___init_altexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#ALtExpr#init_altexpr on */ +nit__parser_prod___AUminusExpr___init_auminusexpr(var6, var_tminusnode2, var_pexprnode3); /* Direct call parser_prod#AUminusExpr#init_auminusexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var11, 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#ReduceAction282#action for (self: ReduceAction282, Parser) */ -void nit__parser___nit__parser__ReduceAction282___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction321#action for (self: ReduceAction321, Parser) */ +void nit__parser___nit__parser__ReduceAction321___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 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +val* var_tplusnode2 /* var tplusnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : ALeExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ALeExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AUplusExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AUplusExpr */; +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_nodearraylist4 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; +var_nodearraylist2 = var; { -var4 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -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; +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; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_tplusnode2&3)?type_info[((long)var_tplusnode2&3)]:var_tplusnode2->type)->table_size) { +var2 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_tplusnode2&3)?type_info[((long)var_tplusnode2&3)]:var_tplusnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var5)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7838); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8308); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; +var_pexprnode3 = var_nodearraylist2; /* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; +cltype4 = type_nullable__nit__AExpr.color; +idtype5 = type_nullable__nit__AExpr.id; if(var_pexprnode3 == NULL) { -var6 = 1; +var3 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype4 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var3 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var3 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var6)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7840); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8310); +fatal_exit(1); } -var9 = NEW_nit__ALeExpr(&type_nit__ALeExpr); +var6 = NEW_nit__AUplusExpr(&type_nit__AUplusExpr); { -nit__parser_prod___ALeExpr___init_aleexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#ALeExpr#init_aleexpr on */ +nit__parser_prod___AUplusExpr___init_auplusexpr(var6, var_tplusnode2, var_pexprnode3); /* Direct call parser_prod#AUplusExpr#init_auplusexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var11, 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#ReduceAction283#action for (self: ReduceAction283, Parser) */ -void nit__parser___nit__parser__ReduceAction283___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction322#action for (self: ReduceAction322, Parser) */ +void nit__parser___nit__parser__ReduceAction322___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 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +val* var_ttildenode2 /* var ttildenode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : ALlExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ALlExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AUtildeExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AUtildeExpr */; +long var7 /* : Int */; +long var8 /* : 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; +var_node_list = ((val*)NULL); { -var3 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; +var_nodearraylist2 = var; { -var4 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -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; +var_nodearraylist1 = var1; +var_ttildenode2 = var_nodearraylist1; +/* isa nullable TTilde */ +cltype = type_nullable__nit__TTilde.color; +idtype = type_nullable__nit__TTilde.id; +if(var_ttildenode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_ttildenode2&3)?type_info[((long)var_ttildenode2&3)]:var_ttildenode2->type)->table_size) { +var2 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_ttildenode2&3)?type_info[((long)var_ttildenode2&3)]:var_ttildenode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var5)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7859); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8327); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; +var_pexprnode3 = var_nodearraylist2; /* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; +cltype4 = type_nullable__nit__AExpr.color; +idtype5 = type_nullable__nit__AExpr.id; if(var_pexprnode3 == NULL) { -var6 = 1; +var3 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype4 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var3 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var3 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var6)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7861); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8329); +fatal_exit(1); } -var9 = NEW_nit__ALlExpr(&type_nit__ALlExpr); +var6 = NEW_nit__AUtildeExpr(&type_nit__AUtildeExpr); { -nit__parser_prod___ALlExpr___init_allexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#ALlExpr#init_allexpr on */ +nit__parser_prod___AUtildeExpr___init_autildeexpr(var6, var_ttildenode2, var_pexprnode3); /* Direct call parser_prod#AUtildeExpr#init_autildeexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var11, 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#ReduceAction284#action for (self: ReduceAction284, Parser) */ -void nit__parser___nit__parser__ReduceAction284___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction323#action for (self: ReduceAction323, Parser) */ +void nit__parser___nit__parser__ReduceAction323___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_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +val* var_tkwoncenode2 /* var tkwoncenode2: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : AGtExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AGtExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var7 /* : AOnceExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AOnceExpr */; +long var8 /* : Int */; +long var9 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var1; +var_node_list = ((val*)NULL); { -var2 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist3 = var; { -var3 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; +var_nodearraylist2 = var1; { -var4 = nit___nit__Parser___pop(var_p); +var2 = nit___nit__Parser___pop(var_p); } -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; +var_nodearraylist1 = var2; +var_tkwoncenode2 = var_nodearraylist1; +/* isa nullable TKwonce */ +cltype = type_nullable__nit__TKwonce.color; +idtype = type_nullable__nit__TKwonce.id; +if(var_tkwoncenode2 == NULL) { +var3 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_tkwoncenode2&3)?type_info[((long)var_tkwoncenode2&3)]:var_tkwoncenode2->type)->table_size) { +var3 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_tkwoncenode2&3)?type_info[((long)var_tkwoncenode2&3)]:var_tkwoncenode2->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, 7880); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8347); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; +var_pexprnode3 = var_nodearraylist3; /* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; +cltype5 = type_nullable__nit__AExpr.color; +idtype6 = type_nullable__nit__AExpr.id; if(var_pexprnode3 == NULL) { -var6 = 1; +var4 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype5 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var4 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var4 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype5] == idtype6; } } -if (unlikely(!var6)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7882); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8349); +fatal_exit(1); } -var9 = NEW_nit__AGtExpr(&type_nit__AGtExpr); +var7 = NEW_nit__AOnceExpr(&type_nit__AOnceExpr); { -nit__parser_prod___AGtExpr___init_agtexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#AGtExpr#init_agtexpr on */ +nit__parser_prod___AOnceExpr___init_aonceexpr(var7, var_tkwoncenode2, var_pexprnode3); /* Direct call parser_prod#AOnceExpr#init_aonceexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var7; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var9 = nit___nit__Parser___go_to(var_p, var8); } { -nit___nit__Parser___push(var_p, var11, 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#ReduceAction285#action for (self: ReduceAction285, Parser) */ -void nit__parser___nit__parser__ReduceAction285___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction325#action for (self: ReduceAction325, Parser) */ +void nit__parser___nit__parser__ReduceAction325___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_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : AGeExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AGeExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pexprsnode5 /* var pexprsnode5: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : ANewExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = var3; +var_tkwnewnode2 = var_nodearraylist1; +/* isa nullable TKwnew */ +cltype = type_nullable__nit__TKwnew.color; +idtype = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode2 == NULL) { +var4 = 1; +} else { +if(cltype >= (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->table_size) { +var4 = 0; +} else { +var4 = (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->type_table[cltype] == idtype; } -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) { +} +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8368); +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; } else { -if(cltype >= var_pexprnode2->type->table_size) { +if(cltype6 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { var5 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7901); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8370); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var6 = 1; +var_pexprsnode5 = var_nodearraylist4; +/* isa nullable AExprs */ +cltype9 = type_nullable__nit__AExprs.color; +idtype10 = type_nullable__nit__AExprs.id; +if(var_pexprsnode5 == NULL) { +var8 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype9 >= (((long)var_pexprsnode5&3)?type_info[((long)var_pexprsnode5&3)]:var_pexprsnode5->type)->table_size) { +var8 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var8 = (((long)var_pexprsnode5&3)?type_info[((long)var_pexprsnode5&3)]:var_pexprsnode5->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var6)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7903); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8372); +fatal_exit(1); } -var9 = NEW_nit__AGeExpr(&type_nit__AGeExpr); +var11 = NEW_nit__ANewExpr(&type_nit__ANewExpr); { -nit__parser_prod___AGeExpr___init_ageexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#AGeExpr#init_ageexpr on */ +nit__parser_prod___ANewExpr___init_anewexpr(var11, var_tkwnewnode2, var_ptypenode3, ((val*)NULL), var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction286#action for (self: ReduceAction286, Parser) */ -void nit__parser___nit__parser__ReduceAction286___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction326#action for (self: ReduceAction326, Parser) */ +void nit__parser___nit__parser__ReduceAction326___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_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : AGgExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AGgExpr */; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var7 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: Array[Object] */; +val* var8 /* : AListExprs */; +val* var_pexprsnode5 /* var pexprsnode5: nullable AListExprs */; +val* var9 /* : ANewExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; 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_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; -{ -var4 = nit___nit__Parser___pop(var_p); -} -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; +var_nodearraylist1 = var2; +var_tkwnewnode2 = var_nodearraylist1; +/* isa nullable TKwnew */ +cltype = type_nullable__nit__TKwnew.color; +idtype = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode2 == NULL) { +var3 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->table_size) { +var3 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->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, 7922); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8392); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var6 = 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(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype5 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { +var4 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var4 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype5] == idtype6; } } -if (unlikely(!var6)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7924); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8394); +fatal_exit(1); } -var9 = NEW_nit__AGgExpr(&type_nit__AGgExpr); +var7 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on */ +} +var_listnode6 = var7; +var8 = NEW_nit__AListExprs(&type_nit__AListExprs); +{ +nit__parser_prod___AListExprs___init_alistexprs(var8, var_listnode6); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +} +var_pexprsnode5 = var8; +var9 = NEW_nit__ANewExpr(&type_nit__ANewExpr); { -nit__parser_prod___AGgExpr___init_aggexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#AGgExpr#init_aggexpr on */ +nit__parser_prod___ANewExpr___init_anewexpr(var9, var_tkwnewnode2, var_ptypenode3, ((val*)NULL), var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ } var_pexprnode1 = var9; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var11 = nit___nit__Parser___go_to(var_p, var10); } @@ -4409,201 +4692,233 @@ nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_wor } RET_LABEL:; } -/* method parser#ReduceAction287#action for (self: ReduceAction287, Parser) */ -void nit__parser___nit__parser__ReduceAction287___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction327#action for (self: ReduceAction327, Parser) */ +void nit__parser___nit__parser__ReduceAction327___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_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var4 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +val* var_tkwissetnode2 /* var tkwissetnode2: nullable Object */; +short int var6 /* : Bool */; int cltype; int idtype; val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : AStarshipExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AStarshipExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var_tattridnode4 /* var tattridnode4: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var13 /* : AIssetAttrExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AIssetAttrExpr */; +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_nodearraylist4 = var1; +var_nodearraylist5 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist4 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; +var_nodearraylist3 = var3; { var4 = nit___nit__Parser___pop(var_p); } -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; +var_nodearraylist2 = var4; +{ +var5 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var5; +var_tkwissetnode2 = var_nodearraylist1; +/* isa nullable TKwisset */ +cltype = type_nullable__nit__TKwisset.color; +idtype = type_nullable__nit__TKwisset.id; +if(var_tkwissetnode2 == NULL) { +var6 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_tkwissetnode2&3)?type_info[((long)var_tkwissetnode2&3)]:var_tkwissetnode2->type)->table_size) { +var6 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var6 = (((long)var_tkwissetnode2&3)?type_info[((long)var_tkwissetnode2&3)]:var_tkwissetnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var5)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7943); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8421); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; +var_pexprnode3 = var_nodearraylist2; /* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; +cltype8 = type_nullable__nit__AExpr.color; +idtype9 = type_nullable__nit__AExpr.id; if(var_pexprnode3 == NULL) { -var6 = 1; +var7 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype8 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var7 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var7 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var6)) { +if (unlikely(!var7)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8423); +fatal_exit(1); +} +var_tattridnode4 = var_nodearraylist6; +/* isa nullable TAttrid */ +cltype11 = type_nullable__nit__TAttrid.color; +idtype12 = type_nullable__nit__TAttrid.id; +if(var_tattridnode4 == NULL) { +var10 = 1; +} else { +if(cltype11 >= (((long)var_tattridnode4&3)?type_info[((long)var_tattridnode4&3)]:var_tattridnode4->type)->table_size) { +var10 = 0; +} else { +var10 = (((long)var_tattridnode4&3)?type_info[((long)var_tattridnode4&3)]:var_tattridnode4->type)->type_table[cltype11] == idtype12; +} +} +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7945); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8425); +fatal_exit(1); } -var9 = NEW_nit__AStarshipExpr(&type_nit__AStarshipExpr); +var13 = NEW_nit__AIssetAttrExpr(&type_nit__AIssetAttrExpr); { -nit__parser_prod___AStarshipExpr___init_astarshipexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#AStarshipExpr#init_astarshipexpr on */ +nit__parser_prod___AIssetAttrExpr___init_aissetattrexpr(var13, var_tkwissetnode2, var_pexprnode3, var_tattridnode4); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var13; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +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#ReduceAction288#action for (self: ReduceAction288, Parser) */ -void nit__parser___nit__parser__ReduceAction288___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction328#action for (self: ReduceAction328, Parser) */ +void nit__parser___nit__parser__ReduceAction328___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_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +val* var_tkwissetnode2 /* var tkwissetnode2: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : AIsaExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AIsaExpr */; +val* var4 /* : AImplicitSelfExpr */; +val* var_pexprnode3 /* var pexprnode3: nullable AImplicitSelfExpr */; +val* var_tattridnode4 /* var tattridnode4: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var8 /* : AIssetAttrExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AIssetAttrExpr */; +long var9 /* : Int */; long var10 /* : Int */; -long var11 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var1; +var_node_list = ((val*)NULL); { -var2 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist3 = var; { -var3 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; +var_nodearraylist2 = var1; { -var4 = nit___nit__Parser___pop(var_p); +var2 = nit___nit__Parser___pop(var_p); } -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; +var_nodearraylist1 = var2; +var_tkwissetnode2 = var_nodearraylist1; +/* isa nullable TKwisset */ +cltype = type_nullable__nit__TKwisset.color; +idtype = type_nullable__nit__TKwisset.id; +if(var_tkwissetnode2 == NULL) { +var3 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_tkwissetnode2&3)?type_info[((long)var_tkwissetnode2&3)]:var_tkwissetnode2->type)->table_size) { +var3 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_tkwissetnode2&3)?type_info[((long)var_tkwissetnode2&3)]:var_tkwissetnode2->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, 7964); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8444); +fatal_exit(1); } -var_ptypenode3 = var_nodearraylist4; -/* isa nullable AType */ -cltype7 = type_nullable__nit__AType.color; -idtype8 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { -var6 = 1; +var4 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); +{ +nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on */ +} +var_pexprnode3 = var4; +var_tattridnode4 = var_nodearraylist3; +/* isa nullable TAttrid */ +cltype6 = type_nullable__nit__TAttrid.color; +idtype7 = type_nullable__nit__TAttrid.id; +if(var_tattridnode4 == NULL) { +var5 = 1; } else { -if(cltype7 >= var_ptypenode3->type->table_size) { -var6 = 0; +if(cltype6 >= (((long)var_tattridnode4&3)?type_info[((long)var_tattridnode4&3)]:var_tattridnode4->type)->table_size) { +var5 = 0; } else { -var6 = var_ptypenode3->type->type_table[cltype7] == idtype8; +var5 = (((long)var_tattridnode4&3)?type_info[((long)var_tattridnode4&3)]:var_tattridnode4->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var6)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7966); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8447); +fatal_exit(1); } -var9 = NEW_nit__AIsaExpr(&type_nit__AIsaExpr); +var8 = NEW_nit__AIssetAttrExpr(&type_nit__AIssetAttrExpr); { -nit__parser_prod___AIsaExpr___init_aisaexpr(var9, var_pexprnode2, var_ptypenode3); /* Direct call parser_prod#AIsaExpr#init_aisaexpr on */ +nit__parser_prod___AIssetAttrExpr___init_aissetattrexpr(var8, var_tkwissetnode2, var_pexprnode3, var_tattridnode4); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var8; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var10 = nit___nit__Parser___go_to(var_p, var9); } { -nit___nit__Parser___push(var_p, var11, 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#ReduceAction290#action for (self: ReduceAction290, Parser) */ -void nit__parser___nit__parser__ReduceAction290___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction330#action for (self: ReduceAction330, Parser) */ +void nit__parser___nit__parser__ReduceAction330___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 */; @@ -4616,17 +4931,20 @@ val* var_pexprnode2 /* var pexprnode2: nullable Object */; short int var5 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; +val* var_tattridnode3 /* var tattridnode3: nullable Object */; short int var6 /* : Bool */; int cltype7; int idtype8; -val* var9 /* : APlusExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable APlusExpr */; +val* var9 /* : AAttrExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AAttrExpr */; long var10 /* : Int */; long var11 /* : 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); } @@ -4650,42 +4968,42 @@ idtype = type_nullable__nit__AExpr.id; if(var_pexprnode2 == NULL) { var5 = 1; } else { -if(cltype >= var_pexprnode2->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_pexprnode2->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, 7985); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8468); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { +var_tattridnode3 = var_nodearraylist5; +/* isa nullable TAttrid */ +cltype7 = type_nullable__nit__TAttrid.color; +idtype8 = type_nullable__nit__TAttrid.id; +if(var_tattridnode3 == NULL) { var6 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { +if(cltype7 >= (((long)var_tattridnode3&3)?type_info[((long)var_tattridnode3&3)]:var_tattridnode3->type)->table_size) { var6 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var6 = (((long)var_tattridnode3&3)?type_info[((long)var_tattridnode3&3)]:var_tattridnode3->type)->type_table[cltype7] == idtype8; } } if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 7987); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8470); +fatal_exit(1); } -var9 = NEW_nit__APlusExpr(&type_nit__APlusExpr); +var9 = NEW_nit__AAttrExpr(&type_nit__AAttrExpr); { -nit__parser_prod___APlusExpr___init_aplusexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#APlusExpr#init_aplusexpr on */ +nit__parser_prod___AAttrExpr___init_aattrexpr(var9, var_pexprnode2, var_tattridnode3); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on */ } var_pexprnode1 = var9; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var11 = nit___nit__Parser___go_to(var_p, var10); } @@ -4694,201 +5012,185 @@ nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_wor } RET_LABEL:; } -/* method parser#ReduceAction291#action for (self: ReduceAction291, Parser) */ -void nit__parser___nit__parser__ReduceAction291___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction331#action for (self: ReduceAction331, Parser) */ +void nit__parser___nit__parser__ReduceAction331___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 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +val* var2 /* : AImplicitSelfExpr */; +val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */; +val* var_tattridnode3 /* var tattridnode3: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : AMinusExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AMinusExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var4 /* : AAttrExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AAttrExpr */; +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_nodearraylist4 = var1; +var_nodearraylist2 = var; { -var2 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist1 = var1; +var2 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); { -var3 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -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(cltype >= var_pexprnode2->type->table_size) { -var5 = 0; -} else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var2); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on */ } -} -if (unlikely(!var5)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8006); -show_backtrace(1); -} -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var6 = 1; +var_pexprnode2 = var2; +var_tattridnode3 = var_nodearraylist2; +/* isa nullable TAttrid */ +cltype = type_nullable__nit__TAttrid.color; +idtype = type_nullable__nit__TAttrid.id; +if(var_tattridnode3 == NULL) { +var3 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype >= (((long)var_tattridnode3&3)?type_info[((long)var_tattridnode3&3)]:var_tattridnode3->type)->table_size) { +var3 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var3 = (((long)var_tattridnode3&3)?type_info[((long)var_tattridnode3&3)]:var_tattridnode3->type)->type_table[cltype] == idtype; } } -if (unlikely(!var6)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8008); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8488); +fatal_exit(1); } -var9 = NEW_nit__AMinusExpr(&type_nit__AMinusExpr); +var4 = NEW_nit__AAttrExpr(&type_nit__AAttrExpr); { -nit__parser_prod___AMinusExpr___init_aminusexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#AMinusExpr#init_aminusexpr on */ +nit__parser_prod___AAttrExpr___init_aattrexpr(var4, var_pexprnode2, var_tattridnode3); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var4; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +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#ReduceAction293#action for (self: ReduceAction293, Parser) */ -void nit__parser___nit__parser__ReduceAction293___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction333#action for (self: ReduceAction333, Parser) */ +void nit__parser___nit__parser__ReduceAction333___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_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : AStarExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AStarExpr */; -long var10 /* : Int */; +val* var_tidnode3 /* var tidnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var8 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var9 /* : AListExprs */; +val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; +val* var10 /* : ACallExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */; 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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var4; +var_nodearraylist1 = var3; 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; +var4 = 1; } else { -if(cltype >= var_pexprnode2->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_pexprnode2->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, 8027); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8507); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var6 = 1; +var_tidnode3 = var_nodearraylist4; +/* isa nullable TId */ +cltype6 = type_nullable__nit__TId.color; +idtype7 = type_nullable__nit__TId.id; +if(var_tidnode3 == NULL) { +var5 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype6 >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) { +var5 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var5 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype6] == idtype7; } } -if (unlikely(!var6)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8029); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8509); +fatal_exit(1); } -var9 = NEW_nit__AStarExpr(&type_nit__AStarExpr); +var8 = NEW_standard__Array(&type_standard__Array__standard__Object); { -nit__parser_prod___AStarExpr___init_astarexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#AStarExpr#init_astarexpr on */ +standard___standard__Array___standard__kernel__Object__init(var8); /* Direct call array#Array#init on */ } -var_pexprnode1 = var9; +var_listnode5 = var8; +var9 = NEW_nit__AListExprs(&type_nit__AListExprs); +{ +nit__parser_prod___AListExprs___init_alistexprs(var9, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +} +var_pexprsnode4 = var9; +var10 = NEW_nit__ACallExpr(&type_nit__ACallExpr); +{ +nit__parser_prod___ACallExpr___init_acallexpr(var10, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ +} +var_pexprnode1 = var10; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var12 = nit___nit__Parser___go_to(var_p, var11); } { -nit___nit__Parser___push(var_p, var11, 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#ReduceAction294#action for (self: ReduceAction294, Parser) */ -void nit__parser___nit__parser__ReduceAction294___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction335#action for (self: ReduceAction335, Parser) */ +void nit__parser___nit__parser__ReduceAction335___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 */; @@ -4901,17 +5203,24 @@ val* var_pexprnode2 /* var pexprnode2: nullable Object */; short int var5 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; +val* var_tidnode3 /* var tidnode3: nullable Object */; short int var6 /* : Bool */; int cltype7; int idtype8; -val* var9 /* : ASlashExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ASlashExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var9 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var10 /* : AListExprs */; +val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; +val* var11 /* : ACallExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */; +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_nodearraylist5 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -4935,264 +5244,363 @@ idtype = type_nullable__nit__AExpr.id; if(var_pexprnode2 == NULL) { var5 = 1; } else { -if(cltype >= var_pexprnode2->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_pexprnode2->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, 8048); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8534); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { +var_tidnode3 = var_nodearraylist5; +/* isa nullable TId */ +cltype7 = type_nullable__nit__TId.color; +idtype8 = type_nullable__nit__TId.id; +if(var_tidnode3 == NULL) { var6 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { +if(cltype7 >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) { var6 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var6 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype7] == idtype8; } } if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8050); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8536); +fatal_exit(1); } -var9 = NEW_nit__ASlashExpr(&type_nit__ASlashExpr); +var9 = NEW_standard__Array(&type_standard__Array__standard__Object); { -nit__parser_prod___ASlashExpr___init_aslashexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#ASlashExpr#init_aslashexpr on */ +standard___standard__Array___standard__kernel__Object__init(var9); /* Direct call array#Array#init on */ } -var_pexprnode1 = var9; +var_listnode5 = var9; +var10 = NEW_nit__AListExprs(&type_nit__AListExprs); +{ +nit__parser_prod___AListExprs___init_alistexprs(var10, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +} +var_pexprsnode4 = var10; +var11 = NEW_nit__ACallExpr(&type_nit__ACallExpr); +{ +nit__parser_prod___ACallExpr___init_acallexpr(var11, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ +} +var_pexprnode1 = var11; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var13 = nit___nit__Parser___go_to(var_p, var12); } { -nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction295#action for (self: ReduceAction295, Parser) */ -void nit__parser___nit__parser__ReduceAction295___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction337#action for (self: ReduceAction337, Parser) */ +void nit__parser___nit__parser__ReduceAction337___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_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var4 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +short int var6 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : APercentExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable APercentExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var_tidnode3 /* var tidnode3: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var10 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var11 /* : AListExprs */; +val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; +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_nodearraylist6 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; +var_nodearraylist5 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist4 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; +var_nodearraylist3 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var4; +var_nodearraylist2 = var4; +{ +var5 = nit___nit__Parser___pop(var_p); +} +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) { -var5 = 1; +var6 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var6 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var6 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var5)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8069); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8562); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var6 = 1; +var_tidnode3 = var_nodearraylist6; +/* isa nullable TId */ +cltype8 = type_nullable__nit__TId.color; +idtype9 = type_nullable__nit__TId.id; +if(var_tidnode3 == NULL) { +var7 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype8 >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) { +var7 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var7 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var6)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8071); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8564); +fatal_exit(1); } -var9 = NEW_nit__APercentExpr(&type_nit__APercentExpr); +var10 = NEW_standard__Array(&type_standard__Array__standard__Object); { -nit__parser_prod___APercentExpr___init_apercentexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#APercentExpr#init_apercentexpr on */ +standard___standard__Array___standard__kernel__Object__init(var10); /* Direct call array#Array#init on */ } -var_pexprnode1 = var9; +var_listnode5 = var10; +var11 = NEW_nit__AListExprs(&type_nit__AListExprs); +{ +nit__parser_prod___AListExprs___init_alistexprs(var11, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +} +var_pexprsnode4 = var11; +var12 = NEW_nit__ACallExpr(&type_nit__ACallExpr); +{ +nit__parser_prod___ACallExpr___init_acallexpr(var12, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ +} +var_pexprnode1 = var12; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var13 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var14 = nit___nit__Parser___go_to(var_p, var13); } { -nit___nit__Parser___push(var_p, var11, 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#ReduceAction297#action for (self: ReduceAction297, Parser) */ -void nit__parser___nit__parser__ReduceAction297___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction341#action for (self: ReduceAction341, Parser) */ +void nit__parser___nit__parser__ReduceAction341___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_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +val* var1 /* : AImplicitSelfExpr */; +val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */; +val* var_tidnode3 /* var tidnode3: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : AStarstarExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AStarstarExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var3 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var4 /* : AListExprs */; +val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; +val* var5 /* : ACallExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */; +long var6 /* : Int */; +long var7 /* : 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_nodearraylist1 = var; +var1 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); { -var2 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var1); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on */ } -var_nodearraylist3 = var2; +var_pexprnode2 = var1; +var_tidnode3 = var_nodearraylist1; +/* isa nullable TId */ +cltype = type_nullable__nit__TId.color; +idtype = type_nullable__nit__TId.id; +if(var_tidnode3 == NULL) { +var2 = 1; +} else { +if(cltype >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) { +var2 = 0; +} else { +var2 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8586); +fatal_exit(1); +} +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_nodearraylist2 = var3; +var_listnode5 = var3; +var4 = NEW_nit__AListExprs(&type_nit__AListExprs); { -var4 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AListExprs___init_alistexprs(var4, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ } -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(cltype >= var_pexprnode2->type->table_size) { -var5 = 0; -} else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var_pexprsnode4 = var4; +var5 = NEW_nit__ACallExpr(&type_nit__ACallExpr); +{ +nit__parser_prod___ACallExpr___init_acallexpr(var5, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ } +var_pexprnode1 = var5; +var_node_list = var_pexprnode1; +var6 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var7 = nit___nit__Parser___go_to(var_p, var6); } -if (unlikely(!var5)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8090); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var7, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_pexprnode3 = var_nodearraylist4; -/* isa nullable AExpr */ -cltype7 = type_nullable__nit__AExpr.color; -idtype8 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var6 = 1; +RET_LABEL:; +} +/* method parser#ReduceAction343#action for (self: ReduceAction343, Parser) */ +void nit__parser___nit__parser__ReduceAction343___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 /* : AImplicitSelfExpr */; +val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */; +val* var_tidnode3 /* var tidnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var4 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var5 /* : AListExprs */; +val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; +val* var6 /* : ACallExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */; +long var7 /* : Int */; +long var8 /* : 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; +var2 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); +{ +nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var2); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on */ +} +var_pexprnode2 = var2; +var_tidnode3 = var_nodearraylist2; +/* isa nullable TId */ +cltype = type_nullable__nit__TId.color; +idtype = type_nullable__nit__TId.id; +if(var_tidnode3 == NULL) { +var3 = 1; } else { -if(cltype7 >= var_pexprnode3->type->table_size) { -var6 = 0; +if(cltype >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) { +var3 = 0; } else { -var6 = var_pexprnode3->type->type_table[cltype7] == idtype8; +var3 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype] == idtype; } } -if (unlikely(!var6)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8092); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8609); +fatal_exit(1); } -var9 = NEW_nit__AStarstarExpr(&type_nit__AStarstarExpr); +var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { -nit__parser_prod___AStarstarExpr___init_astarstarexpr(var9, var_pexprnode2, var_pexprnode3); /* Direct call parser_prod#AStarstarExpr#init_astarstarexpr on */ +standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_pexprnode1 = var9; +var_listnode5 = var4; +var5 = NEW_nit__AListExprs(&type_nit__AListExprs); +{ +nit__parser_prod___AListExprs___init_alistexprs(var5, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +} +var_pexprsnode4 = var5; +var6 = NEW_nit__ACallExpr(&type_nit__ACallExpr); +{ +nit__parser_prod___ACallExpr___init_acallexpr(var6, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ +} +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var11, 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#ReduceAction299#action for (self: ReduceAction299, Parser) */ -void nit__parser___nit__parser__ReduceAction299___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction345#action for (self: ReduceAction345, Parser) */ +void nit__parser___nit__parser__ReduceAction345___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_tminusnode2 /* var tminusnode2: nullable Object */; -short int var3 /* : Bool */; +val* var3 /* : AImplicitSelfExpr */; +val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */; +val* var_tidnode3 /* var tidnode3: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AUminusExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AUminusExpr */; +val* var5 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var6 /* : AListExprs */; +val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; +val* var7 /* : ACallExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */; 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_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -5201,49 +5609,46 @@ var_nodearraylist2 = var1; var2 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var2; -var_tminusnode2 = var_nodearraylist1; -/* isa nullable TMinus */ -cltype = type_nullable__nit__TMinus.color; -idtype = type_nullable__nit__TMinus.id; -if(var_tminusnode2 == NULL) { -var3 = 1; -} else { -if(cltype >= var_tminusnode2->type->table_size) { -var3 = 0; -} else { -var3 = var_tminusnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var3)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8109); -show_backtrace(1); +var3 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); +{ +nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var3); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on */ } -var_pexprnode3 = var_nodearraylist2; -/* isa nullable AExpr */ -cltype5 = type_nullable__nit__AExpr.color; -idtype6 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { +var_pexprnode2 = var3; +var_tidnode3 = var_nodearraylist3; +/* isa nullable TId */ +cltype = type_nullable__nit__TId.color; +idtype = type_nullable__nit__TId.id; +if(var_tidnode3 == NULL) { var4 = 1; } else { -if(cltype5 >= var_pexprnode3->type->table_size) { +if(cltype >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) { var4 = 0; } else { -var4 = var_pexprnode3->type->type_table[cltype5] == idtype6; +var4 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype] == idtype; } } if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8111); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8633); +fatal_exit(1); +} +var5 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ +} +var_listnode5 = var5; +var6 = NEW_nit__AListExprs(&type_nit__AListExprs); +{ +nit__parser_prod___AListExprs___init_alistexprs(var6, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ } -var7 = NEW_nit__AUminusExpr(&type_nit__AUminusExpr); +var_pexprsnode4 = var6; +var7 = NEW_nit__ACallExpr(&type_nit__ACallExpr); { -nit__parser_prod___AUminusExpr___init_auminusexpr(var7, var_tminusnode2, var_pexprnode3); /* Direct call parser_prod#AUminusExpr#init_auminusexpr on */ +nit__parser_prod___ACallExpr___init_acallexpr(var7, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ } var_pexprnode1 = var7; var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var9 = nit___nit__Parser___go_to(var_p, var8); } @@ -5252,87 +5657,93 @@ nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work } RET_LABEL:; } -/* method parser#ReduceAction300#action for (self: ReduceAction300, Parser) */ -void nit__parser___nit__parser__ReduceAction300___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction349#action for (self: ReduceAction349, Parser) */ +void nit__parser___nit__parser__ReduceAction349___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_tkwoncenode2 /* var tkwoncenode2: nullable Object */; -short int var4 /* : Bool */; +val* var_pqualifiednode2 /* var pqualifiednode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var5 /* : Bool */; -int cltype6; -int idtype7; -val* var8 /* : AOnceExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AOnceExpr */; +val* var_tkwsupernode3 /* var tkwsupernode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var7 /* : AListExprs */; +val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; +val* var8 /* : ASuperExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ASuperExpr */; long var9 /* : Int */; long var10 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var1; +var_node_list = ((val*)NULL); { -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; -var_tkwoncenode2 = var_nodearraylist1; -/* isa nullable TKwonce */ -cltype = type_nullable__nit__TKwonce.color; -idtype = type_nullable__nit__TKwonce.id; -if(var_tkwoncenode2 == NULL) { -var4 = 1; +var_nodearraylist1 = var1; +var_pqualifiednode2 = var_nodearraylist1; +/* isa nullable AQualified */ +cltype = type_nullable__nit__AQualified.color; +idtype = type_nullable__nit__AQualified.id; +if(var_pqualifiednode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_tkwoncenode2->type->table_size) { -var4 = 0; +if(cltype >= (((long)var_pqualifiednode2&3)?type_info[((long)var_pqualifiednode2&3)]:var_pqualifiednode2->type)->table_size) { +var2 = 0; } else { -var4 = var_tkwoncenode2->type->type_table[cltype] == idtype; +var2 = (((long)var_pqualifiednode2&3)?type_info[((long)var_pqualifiednode2&3)]:var_pqualifiednode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var4)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8129); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8655); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist3; -/* isa nullable AExpr */ -cltype6 = type_nullable__nit__AExpr.color; -idtype7 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var5 = 1; +var_tkwsupernode3 = var_nodearraylist2; +/* isa nullable TKwsuper */ +cltype4 = type_nullable__nit__TKwsuper.color; +idtype5 = type_nullable__nit__TKwsuper.id; +if(var_tkwsupernode3 == NULL) { +var3 = 1; } else { -if(cltype6 >= var_pexprnode3->type->table_size) { -var5 = 0; +if(cltype4 >= (((long)var_tkwsupernode3&3)?type_info[((long)var_tkwsupernode3&3)]:var_tkwsupernode3->type)->table_size) { +var3 = 0; } else { -var5 = var_pexprnode3->type->type_table[cltype6] == idtype7; +var3 = (((long)var_tkwsupernode3&3)?type_info[((long)var_tkwsupernode3&3)]:var_tkwsupernode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var5)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8131); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8657); +fatal_exit(1); +} +var6 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ +} +var_listnode5 = var6; +var7 = NEW_nit__AListExprs(&type_nit__AListExprs); +{ +nit__parser_prod___AListExprs___init_alistexprs(var7, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ } -var8 = NEW_nit__AOnceExpr(&type_nit__AOnceExpr); +var_pexprsnode4 = var7; +var8 = NEW_nit__ASuperExpr(&type_nit__ASuperExpr); { -nit__parser_prod___AOnceExpr___init_aonceexpr(var8, var_tkwoncenode2, var_pexprnode3); /* Direct call parser_prod#AOnceExpr#init_aonceexpr on */ +nit__parser_prod___ASuperExpr___init_asuperexpr(var8, var_pqualifiednode2, var_tkwsupernode3, var_pexprsnode4); /* Direct call parser_prod#ASuperExpr#init_asuperexpr on */ } var_pexprnode1 = var8; var_node_list = var_pexprnode1; -var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var10 = nit___nit__Parser___go_to(var_p, var9); } @@ -5341,235 +5752,274 @@ nit___nit__Parser___push(var_p, var10, var_node_list); /* Direct call parser_wor } RET_LABEL:; } -/* method parser#ReduceAction302#action for (self: ReduceAction302, Parser) */ -void nit__parser___nit__parser__ReduceAction302___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction351#action for (self: ReduceAction351, Parser) */ +void nit__parser___nit__parser__ReduceAction351___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_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; -short int var5 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var_pexprsnode5 /* var pexprsnode5: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : ANewExpr */; -val* var13 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; -long var14 /* : Int */; -long var15 /* : Int */; +val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var8 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var9 /* : AListExprs */; +val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; +val* var10 /* : AInitExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */; +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_nodearraylist4 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = 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 >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var4 = 0; +} else { +var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist1 = var4; -var_tkwnewnode2 = var_nodearraylist1; -/* isa nullable TKwnew */ -cltype = type_nullable__nit__TKwnew.color; -idtype = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode2 == NULL) { +} +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8681); +fatal_exit(1); +} +var_tkwinitnode3 = var_nodearraylist4; +/* isa nullable TKwinit */ +cltype6 = type_nullable__nit__TKwinit.color; +idtype7 = type_nullable__nit__TKwinit.id; +if(var_tkwinitnode3 == NULL) { var5 = 1; } else { -if(cltype >= var_tkwnewnode2->type->table_size) { +if(cltype6 >= (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->table_size) { var5 = 0; } else { -var5 = var_tkwnewnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->type_table[cltype6] == idtype7; } } if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8150); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8683); +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; -} else { -var6 = var_ptypenode3->type->type_table[cltype7] == idtype8; +var8 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var8); /* Direct call array#Array#init on */ } +var_listnode5 = var8; +var9 = NEW_nit__AListExprs(&type_nit__AListExprs); +{ +nit__parser_prod___AListExprs___init_alistexprs(var9, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ } -if (unlikely(!var6)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8152); -show_backtrace(1); +var_pexprsnode4 = var9; +var10 = NEW_nit__AInitExpr(&type_nit__AInitExpr); +{ +nit__parser_prod___AInitExpr___init_ainitexpr(var10, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod#AInitExpr#init_ainitexpr on */ } -var_pexprsnode5 = var_nodearraylist4; -/* isa nullable AExprs */ -cltype10 = type_nullable__nit__AExprs.color; -idtype11 = type_nullable__nit__AExprs.id; -if(var_pexprsnode5 == NULL) { -var9 = 1; +var_pexprnode1 = var10; +var_node_list = var_pexprnode1; +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#ReduceAction353#action for (self: ReduceAction353, Parser) */ +void nit__parser___nit__parser__ReduceAction353___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 /* : AImplicitSelfExpr */; +val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */; +val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var3 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var4 /* : AListExprs */; +val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; +val* var5 /* : AInitExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */; +long var6 /* : Int */; +long var7 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var; +var1 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); +{ +nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var1); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on */ +} +var_pexprnode2 = var1; +var_tkwinitnode3 = var_nodearraylist1; +/* isa nullable TKwinit */ +cltype = type_nullable__nit__TKwinit.color; +idtype = type_nullable__nit__TKwinit.id; +if(var_tkwinitnode3 == NULL) { +var2 = 1; } else { -if(cltype10 >= var_pexprsnode5->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->table_size) { +var2 = 0; } else { -var9 = var_pexprsnode5->type->type_table[cltype10] == idtype11; +var2 = (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->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, 8154); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8705); +fatal_exit(1); } -var12 = NEW_nit__ANewExpr(&type_nit__ANewExpr); -var13 = NULL; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { -nit__parser_prod___ANewExpr___init_anewexpr(var12, var_tkwnewnode2, var_ptypenode3, var13, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_pexprnode1 = var12; +var_listnode5 = var3; +var4 = NEW_nit__AListExprs(&type_nit__AListExprs); +{ +nit__parser_prod___AListExprs___init_alistexprs(var4, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +} +var_pexprsnode4 = var4; +var5 = NEW_nit__AInitExpr(&type_nit__AInitExpr); +{ +nit__parser_prod___AInitExpr___init_ainitexpr(var5, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod#AInitExpr#init_ainitexpr on */ +} +var_pexprnode1 = var5; var_node_list = var_pexprnode1; -var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var6 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var15 = nit___nit__Parser___go_to(var_p, var14); +var7 = nit___nit__Parser___go_to(var_p, var6); } { -nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var7, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction303#action for (self: ReduceAction303, Parser) */ -void nit__parser___nit__parser__ReduceAction303___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction354#action for (self: ReduceAction354, Parser) */ +void nit__parser___nit__parser__ReduceAction354___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_tkwnewnode2 /* var tkwnewnode2: nullable Object */; -short int var4 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var5 /* : Bool */; -int cltype6; -int idtype7; -val* var8 /* : Array[Object] */; -val* var_listnode6 /* var listnode6: Array[Object] */; -val* var9 /* : AListExprs */; -val* var_pexprsnode5 /* var pexprsnode5: nullable AListExprs */; -val* var10 /* : ANewExpr */; -val* var11 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; -long var12 /* : Int */; -long var13 /* : Int */; +val* var_pexprsnode3 /* var pexprsnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : ABraExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABraExpr */; +long var7 /* : Int */; +long var8 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var1; +var_node_list = ((val*)NULL); { -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; -var_tkwnewnode2 = var_nodearraylist1; -/* isa nullable TKwnew */ -cltype = type_nullable__nit__TKwnew.color; -idtype = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode2 == NULL) { -var4 = 1; +var_nodearraylist1 = 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_tkwnewnode2->type->table_size) { -var4 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var2 = 0; } else { -var4 = var_tkwnewnode2->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(!var4)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8174); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8727); +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; +var_pexprsnode3 = var_nodearraylist2; +/* isa nullable AExprs */ +cltype4 = type_nullable__nit__AExprs.color; +idtype5 = type_nullable__nit__AExprs.id; +if(var_pexprsnode3 == NULL) { +var3 = 1; } else { -if(cltype6 >= var_ptypenode3->type->table_size) { -var5 = 0; +if(cltype4 >= (((long)var_pexprsnode3&3)?type_info[((long)var_pexprsnode3&3)]:var_pexprsnode3->type)->table_size) { +var3 = 0; } else { -var5 = var_ptypenode3->type->type_table[cltype6] == idtype7; +var3 = (((long)var_pexprsnode3&3)?type_info[((long)var_pexprsnode3&3)]:var_pexprsnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var5)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8176); -show_backtrace(1); -} -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; -var9 = NEW_nit__AListExprs(&type_nit__AListExprs); -{ -nit__parser_prod___AListExprs___init_alistexprs(var9, var_listnode6); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8729); +fatal_exit(1); } -var_pexprsnode5 = var9; -var10 = NEW_nit__ANewExpr(&type_nit__ANewExpr); -var11 = NULL; +var6 = NEW_nit__ABraExpr(&type_nit__ABraExpr); { -nit__parser_prod___ANewExpr___init_anewexpr(var10, var_tkwnewnode2, var_ptypenode3, var11, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ +nit__parser_prod___ABraExpr___init_abraexpr(var6, var_pexprnode2, var_pexprsnode3); /* Direct call parser_prod#ABraExpr#init_abraexpr on */ } -var_pexprnode1 = var10; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var13 = nit___nit__Parser___go_to(var_p, var12); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var13, 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#ReduceAction304#action for (self: ReduceAction304, Parser) */ -void nit__parser___nit__parser__ReduceAction304___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction355#action for (self: ReduceAction355, Parser) */ +void nit__parser___nit__parser__ReduceAction355___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 */; @@ -5582,25 +6032,32 @@ val* var5 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var6 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwissetnode2 /* var tkwissetnode2: nullable Object */; +val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; short int var7 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; short int var8 /* : Bool */; int cltype9; int idtype10; -val* var_tattridnode4 /* var tattridnode4: nullable Object */; +val* var_tidnode4 /* var tidnode4: nullable Object */; short int var11 /* : Bool */; int cltype12; int idtype13; -val* var14 /* : AIssetAttrExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AIssetAttrExpr */; -long var15 /* : Int */; -long var16 /* : Int */; +val* var_pexprsnode5 /* var pexprsnode5: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var17 /* : ANewExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; +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); } @@ -5625,178 +6082,99 @@ var_nodearraylist2 = var5; var6 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var6; -var_tkwissetnode2 = var_nodearraylist1; -/* isa nullable TKwisset */ -cltype = type_nullable__nit__TKwisset.color; -idtype = type_nullable__nit__TKwisset.id; -if(var_tkwissetnode2 == NULL) { +var_tkwnewnode2 = var_nodearraylist1; +/* isa nullable TKwnew */ +cltype = type_nullable__nit__TKwnew.color; +idtype = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode2 == NULL) { var7 = 1; } else { -if(cltype >= var_tkwissetnode2->type->table_size) { +if(cltype >= (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->table_size) { var7 = 0; } else { -var7 = var_tkwissetnode2->type->type_table[cltype] == idtype; +var7 = (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8203); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8751); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist2; -/* isa nullable AExpr */ -cltype9 = type_nullable__nit__AExpr.color; -idtype10 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { +var_ptypenode3 = var_nodearraylist3; +/* isa nullable AType */ +cltype9 = type_nullable__nit__AType.color; +idtype10 = type_nullable__nit__AType.id; +if(var_ptypenode3 == NULL) { var8 = 1; } else { -if(cltype9 >= var_pexprnode3->type->table_size) { +if(cltype9 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { var8 = 0; } else { -var8 = var_pexprnode3->type->type_table[cltype9] == idtype10; +var8 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype9] == idtype10; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8205); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8753); +fatal_exit(1); } -var_tattridnode4 = var_nodearraylist6; -/* isa nullable TAttrid */ -cltype12 = type_nullable__nit__TAttrid.color; -idtype13 = type_nullable__nit__TAttrid.id; -if(var_tattridnode4 == NULL) { +var_tidnode4 = var_nodearraylist6; +/* isa nullable TId */ +cltype12 = type_nullable__nit__TId.color; +idtype13 = type_nullable__nit__TId.id; +if(var_tidnode4 == NULL) { var11 = 1; } else { -if(cltype12 >= var_tattridnode4->type->table_size) { +if(cltype12 >= (((long)var_tidnode4&3)?type_info[((long)var_tidnode4&3)]:var_tidnode4->type)->table_size) { var11 = 0; } else { -var11 = var_tattridnode4->type->type_table[cltype12] == idtype13; +var11 = (((long)var_tidnode4&3)?type_info[((long)var_tidnode4&3)]:var_tidnode4->type)->type_table[cltype12] == idtype13; } } if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8207); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8755); +fatal_exit(1); } -var14 = NEW_nit__AIssetAttrExpr(&type_nit__AIssetAttrExpr); -{ -nit__parser_prod___AIssetAttrExpr___init_aissetattrexpr(var14, var_tkwissetnode2, var_pexprnode3, var_tattridnode4); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr 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#ReduceAction305#action for (self: ReduceAction305, Parser) */ -void nit__parser___nit__parser__ReduceAction305___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_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwissetnode2 /* var tkwissetnode2: nullable Object */; -short int var4 /* : Bool */; -int cltype; -int idtype; -val* var5 /* : AImplicitSelfExpr */; -val* var_pexprnode3 /* var pexprnode3: nullable AImplicitSelfExpr */; -val* var_tattridnode4 /* var tattridnode4: nullable Object */; -short int var7 /* : Bool */; -int cltype8; -int idtype9; -val* var10 /* : AIssetAttrExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AIssetAttrExpr */; -long var11 /* : Int */; -long var12 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var3; -var_tkwissetnode2 = var_nodearraylist1; -/* isa nullable TKwisset */ -cltype = type_nullable__nit__TKwisset.color; -idtype = type_nullable__nit__TKwisset.id; -if(var_tkwissetnode2 == NULL) { -var4 = 1; -} else { -if(cltype >= var_tkwissetnode2->type->table_size) { -var4 = 0; -} else { -var4 = var_tkwissetnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var4)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8226); -show_backtrace(1); -} -var5 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); -{ -{ /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var5) on */ -RET_LABEL6:(void)0; -} -} -var_pexprnode3 = var5; -var_tattridnode4 = var_nodearraylist3; -/* isa nullable TAttrid */ -cltype8 = type_nullable__nit__TAttrid.color; -idtype9 = type_nullable__nit__TAttrid.id; -if(var_tattridnode4 == NULL) { -var7 = 1; +var_pexprsnode5 = var_nodearraylist7; +/* isa nullable AExprs */ +cltype15 = type_nullable__nit__AExprs.color; +idtype16 = type_nullable__nit__AExprs.id; +if(var_pexprsnode5 == NULL) { +var14 = 1; } else { -if(cltype8 >= var_tattridnode4->type->table_size) { -var7 = 0; +if(cltype15 >= (((long)var_pexprsnode5&3)?type_info[((long)var_pexprsnode5&3)]:var_pexprsnode5->type)->table_size) { +var14 = 0; } else { -var7 = var_tattridnode4->type->type_table[cltype8] == idtype9; +var14 = (((long)var_pexprsnode5&3)?type_info[((long)var_pexprsnode5&3)]:var_pexprsnode5->type)->type_table[cltype15] == idtype16; } } -if (unlikely(!var7)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8229); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8757); +fatal_exit(1); } -var10 = NEW_nit__AIssetAttrExpr(&type_nit__AIssetAttrExpr); +var17 = NEW_nit__ANewExpr(&type_nit__ANewExpr); { -nit__parser_prod___AIssetAttrExpr___init_aissetattrexpr(var10, var_tkwissetnode2, var_pexprnode3, var_tattridnode4); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on */ +nit__parser_prod___ANewExpr___init_anewexpr(var17, var_tkwnewnode2, var_ptypenode3, var_tidnode4, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ } -var_pexprnode1 = var10; +var_pexprnode1 = var17; var_node_list = var_pexprnode1; -var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var18 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var12 = nit___nit__Parser___go_to(var_p, var11); +var19 = nit___nit__Parser___go_to(var_p, var18); } { -nit___nit__Parser___push(var_p, var12, 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#ReduceAction307#action for (self: ReduceAction307, Parser) */ -void nit__parser___nit__parser__ReduceAction307___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction356#action for (self: ReduceAction356, Parser) */ +void nit__parser___nit__parser__ReduceAction356___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_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var2 /* : nullable Object */; @@ -5807,21 +6185,32 @@ val* var4 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var5 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode2 /* var pexprnode2: nullable Object */; +val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; short int var6 /* : Bool */; int cltype; int idtype; -val* var_tattridnode3 /* var tattridnode3: nullable Object */; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; short int var7 /* : Bool */; int cltype8; int idtype9; -val* var10 /* : AAttrExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AAttrExpr */; -long var11 /* : Int */; -long var12 /* : Int */; +val* var_tidnode4 /* var tidnode4: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var13 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: Array[Object] */; +val* var14 /* : AListExprs */; +val* var_pexprsnode5 /* var pexprsnode5: nullable AListExprs */; +val* var15 /* : ANewExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; +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_nodearraylist6 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -5842,356 +6231,252 @@ var_nodearraylist2 = var4; var5 = nit___nit__Parser___pop(var_p); } 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) { +var_tkwnewnode2 = var_nodearraylist1; +/* isa nullable TKwnew */ +cltype = type_nullable__nit__TKwnew.color; +idtype = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode2 == NULL) { var6 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { +if(cltype >= (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->table_size) { var6 = 0; } else { -var6 = var_pexprnode2->type->type_table[cltype] == idtype; +var6 = (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8250); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8780); +fatal_exit(1); } -var_tattridnode3 = var_nodearraylist5; -/* isa nullable TAttrid */ -cltype8 = type_nullable__nit__TAttrid.color; -idtype9 = type_nullable__nit__TAttrid.id; -if(var_tattridnode3 == NULL) { +var_ptypenode3 = var_nodearraylist3; +/* isa nullable AType */ +cltype8 = type_nullable__nit__AType.color; +idtype9 = type_nullable__nit__AType.id; +if(var_ptypenode3 == NULL) { var7 = 1; } else { -if(cltype8 >= var_tattridnode3->type->table_size) { +if(cltype8 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { var7 = 0; } else { -var7 = var_tattridnode3->type->type_table[cltype8] == idtype9; +var7 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype8] == idtype9; } } if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8252); -show_backtrace(1); -} -var10 = NEW_nit__AAttrExpr(&type_nit__AAttrExpr); -{ -nit__parser_prod___AAttrExpr___init_aattrexpr(var10, var_pexprnode2, var_tattridnode3); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8782); +fatal_exit(1); } -var_pexprnode1 = var10; -var_node_list = var_pexprnode1; -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 */ +var_tidnode4 = var_nodearraylist6; +/* isa nullable TId */ +cltype11 = type_nullable__nit__TId.color; +idtype12 = type_nullable__nit__TId.id; +if(var_tidnode4 == NULL) { +var10 = 1; +} else { +if(cltype11 >= (((long)var_tidnode4&3)?type_info[((long)var_tidnode4&3)]:var_tidnode4->type)->table_size) { +var10 = 0; +} else { +var10 = (((long)var_tidnode4&3)?type_info[((long)var_tidnode4&3)]:var_tidnode4->type)->type_table[cltype11] == idtype12; } -RET_LABEL:; } -/* method parser#ReduceAction308#action for (self: ReduceAction308, Parser) */ -void nit__parser___nit__parser__ReduceAction308___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* var3 /* : AImplicitSelfExpr */; -val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */; -val* var_tattridnode3 /* var tattridnode3: nullable Object */; -short int var5 /* : Bool */; -int cltype; -int idtype; -val* var6 /* : AAttrExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AAttrExpr */; -long var7 /* : Int */; -long var8 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); +if (unlikely(!var10)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8784); +fatal_exit(1); } -var_nodearraylist2 = var1; +var13 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var2 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var2; -var3 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); +var_listnode6 = var13; +var14 = NEW_nit__AListExprs(&type_nit__AListExprs); { -{ /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on */ -RET_LABEL4:(void)0; -} -} -var_pexprnode2 = var3; -var_tattridnode3 = var_nodearraylist2; -/* isa nullable TAttrid */ -cltype = type_nullable__nit__TAttrid.color; -idtype = type_nullable__nit__TAttrid.id; -if(var_tattridnode3 == NULL) { -var5 = 1; -} else { -if(cltype >= var_tattridnode3->type->table_size) { -var5 = 0; -} else { -var5 = var_tattridnode3->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var5)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8270); -show_backtrace(1); +nit__parser_prod___AListExprs___init_alistexprs(var14, var_listnode6); /* Direct call parser_prod#AListExprs#init_alistexprs on */ } -var6 = NEW_nit__AAttrExpr(&type_nit__AAttrExpr); +var_pexprsnode5 = var14; +var15 = NEW_nit__ANewExpr(&type_nit__ANewExpr); { -nit__parser_prod___AAttrExpr___init_aattrexpr(var6, var_pexprnode2, var_tattridnode3); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on */ +nit__parser_prod___ANewExpr___init_anewexpr(var15, var_tkwnewnode2, var_ptypenode3, var_tidnode4, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ } -var_pexprnode1 = var6; +var_pexprnode1 = var15; var_node_list = var_pexprnode1; -var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var8 = nit___nit__Parser___go_to(var_p, var7); +var17 = nit___nit__Parser___go_to(var_p, var16); } { -nit___nit__Parser___push(var_p, var8, 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#ReduceAction310#action for (self: ReduceAction310, Parser) */ -void nit__parser___nit__parser__ReduceAction310___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction357#action for (self: ReduceAction357, Parser) */ +void nit__parser___nit__parser__ReduceAction357___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_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: 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_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; +short int var8 /* : Bool */; int cltype; int idtype; -val* var_tidnode3 /* var tidnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : Array[Object] */; -val* var_listnode5 /* var listnode5: Array[Object] */; -val* var10 /* : AListExprs */; -val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; -val* var11 /* : ACallExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */; -long var12 /* : Int */; -long var13 /* : Int */; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var_tidnode4 /* var tidnode4: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var_pexprsnode5 /* var pexprsnode5: nullable Object */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var18 /* : ANewExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; +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_nodearraylist8 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var1; +var_nodearraylist7 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist6 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; +var_nodearraylist5 = var3; { var4 = nit___nit__Parser___pop(var_p); } -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(cltype >= var_pexprnode2->type->table_size) { -var5 = 0; -} else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var_nodearraylist4 = var4; +{ +var5 = nit___nit__Parser___pop(var_p); } +var_nodearraylist3 = var5; +{ +var6 = nit___nit__Parser___pop(var_p); } -if (unlikely(!var5)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8289); -show_backtrace(1); +var_nodearraylist2 = var6; +{ +var7 = nit___nit__Parser___pop(var_p); } -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; +var_nodearraylist1 = var7; +var_tkwnewnode2 = var_nodearraylist1; +/* isa nullable TKwnew */ +cltype = type_nullable__nit__TKwnew.color; +idtype = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode2 == NULL) { +var8 = 1; } else { -if(cltype7 >= var_tidnode3->type->table_size) { -var6 = 0; +if(cltype >= (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->table_size) { +var8 = 0; } else { -var6 = var_tidnode3->type->type_table[cltype7] == idtype8; +var8 = (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var6)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8291); -show_backtrace(1); -} -var9 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var9); /* Direct call array#Array#init on */ -} -var_listnode5 = var9; -var10 = NEW_nit__AListExprs(&type_nit__AListExprs); -{ -nit__parser_prod___AListExprs___init_alistexprs(var10, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ -} -var_pexprsnode4 = var10; -var11 = NEW_nit__ACallExpr(&type_nit__ACallExpr); -{ -nit__parser_prod___ACallExpr___init_acallexpr(var11, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ -} -var_pexprnode1 = var11; -var_node_list = var_pexprnode1; -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#ReduceAction312#action for (self: ReduceAction312, Parser) */ -void nit__parser___nit__parser__ReduceAction312___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_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var6 /* : Bool */; -int cltype; -int idtype; -val* var_tidnode3 /* var tidnode3: nullable Object */; -short int var7 /* : Bool */; -int cltype8; -int idtype9; -val* var10 /* : Array[Object] */; -val* var_listnode5 /* var listnode5: Array[Object] */; -val* var11 /* : AListExprs */; -val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; -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; -{ -var1 = nit___nit__Parser___pop(var_p); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8813); +fatal_exit(1); } -var_nodearraylist5 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); +var_ptypenode3 = var_nodearraylist3; +/* isa nullable AType */ +cltype10 = type_nullable__nit__AType.color; +idtype11 = type_nullable__nit__AType.id; +if(var_ptypenode3 == NULL) { +var9 = 1; +} else { +if(cltype10 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { +var9 = 0; +} else { +var9 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype10] == idtype11; } -var_nodearraylist3 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); +if (unlikely(!var9)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8815); +fatal_exit(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; +var_tidnode4 = var_nodearraylist7; +/* isa nullable TId */ +cltype13 = type_nullable__nit__TId.color; +idtype14 = type_nullable__nit__TId.id; +if(var_tidnode4 == NULL) { +var12 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var6 = 0; +if(cltype13 >= (((long)var_tidnode4&3)?type_info[((long)var_tidnode4&3)]:var_tidnode4->type)->table_size) { +var12 = 0; } else { -var6 = var_pexprnode2->type->type_table[cltype] == idtype; +var12 = (((long)var_tidnode4&3)?type_info[((long)var_tidnode4&3)]:var_tidnode4->type)->type_table[cltype13] == idtype14; } } -if (unlikely(!var6)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8316); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8817); +fatal_exit(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; +var_pexprsnode5 = var_nodearraylist8; +/* isa nullable AExprs */ +cltype16 = type_nullable__nit__AExprs.color; +idtype17 = type_nullable__nit__AExprs.id; +if(var_pexprsnode5 == NULL) { +var15 = 1; } else { -if(cltype8 >= var_tidnode3->type->table_size) { -var7 = 0; +if(cltype16 >= (((long)var_pexprsnode5&3)?type_info[((long)var_pexprsnode5&3)]:var_pexprsnode5->type)->table_size) { +var15 = 0; } else { -var7 = var_tidnode3->type->type_table[cltype8] == idtype9; +var15 = (((long)var_pexprsnode5&3)?type_info[((long)var_pexprsnode5&3)]:var_pexprsnode5->type)->type_table[cltype16] == idtype17; } } -if (unlikely(!var7)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8318); -show_backtrace(1); -} -var10 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var10); /* Direct call array#Array#init on */ -} -var_listnode5 = var10; -var11 = NEW_nit__AListExprs(&type_nit__AListExprs); -{ -nit__parser_prod___AListExprs___init_alistexprs(var11, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8819); +fatal_exit(1); } -var_pexprsnode4 = var11; -var12 = NEW_nit__ACallExpr(&type_nit__ACallExpr); +var18 = NEW_nit__ANewExpr(&type_nit__ANewExpr); { -nit__parser_prod___ACallExpr___init_acallexpr(var12, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ +nit__parser_prod___ANewExpr___init_anewexpr(var18, var_tkwnewnode2, var_ptypenode3, var_tidnode4, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ } -var_pexprnode1 = var12; +var_pexprnode1 = var18; var_node_list = var_pexprnode1; -var13 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var14 = nit___nit__Parser___go_to(var_p, var13); +var20 = nit___nit__Parser___go_to(var_p, var19); } { -nit___nit__Parser___push(var_p, var14, 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#ReduceAction314#action for (self: ReduceAction314, Parser) */ -void nit__parser___nit__parser__ReduceAction314___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction358#action for (self: ReduceAction358, Parser) */ +void nit__parser___nit__parser__ReduceAction358___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 */; @@ -6204,25 +6489,32 @@ val* var5 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var6 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode2 /* var pexprnode2: nullable Object */; +val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; short int var7 /* : Bool */; int cltype; int idtype; -val* var_tidnode3 /* var tidnode3: nullable Object */; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; short int var8 /* : Bool */; int cltype9; int idtype10; -val* var11 /* : Array[Object] */; -val* var_listnode5 /* var listnode5: Array[Object] */; -val* var12 /* : AListExprs */; -val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; -val* var13 /* : ACallExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */; -long var14 /* : Int */; -long var15 /* : Int */; +val* var_tidnode4 /* var tidnode4: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var14 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: Array[Object] */; +val* var15 /* : AListExprs */; +val* var_pexprsnode5 /* var pexprsnode5: nullable AListExprs */; +val* var16 /* : ANewExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; +long var17 /* : Int */; +long var18 /* : 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); } @@ -6247,691 +6539,835 @@ var_nodearraylist2 = var5; var6 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var6; -var_pexprnode2 = var_nodearraylist1; -/* isa nullable AExpr */ -cltype = type_nullable__nit__AExpr.color; -idtype = type_nullable__nit__AExpr.id; -if(var_pexprnode2 == NULL) { +var_tkwnewnode2 = var_nodearraylist1; +/* isa nullable TKwnew */ +cltype = type_nullable__nit__TKwnew.color; +idtype = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode2 == NULL) { var7 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { +if(cltype >= (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->table_size) { var7 = 0; } else { -var7 = var_pexprnode2->type->type_table[cltype] == idtype; +var7 = (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8344); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8843); +fatal_exit(1); } -var_tidnode3 = var_nodearraylist6; -/* isa nullable TId */ -cltype9 = type_nullable__nit__TId.color; -idtype10 = type_nullable__nit__TId.id; -if(var_tidnode3 == NULL) { +var_ptypenode3 = var_nodearraylist3; +/* isa nullable AType */ +cltype9 = type_nullable__nit__AType.color; +idtype10 = type_nullable__nit__AType.id; +if(var_ptypenode3 == NULL) { var8 = 1; } else { -if(cltype9 >= var_tidnode3->type->table_size) { +if(cltype9 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { var8 = 0; } else { -var8 = var_tidnode3->type->type_table[cltype9] == idtype10; +var8 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype9] == idtype10; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8346); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8845); +fatal_exit(1); +} +var_tidnode4 = var_nodearraylist7; +/* isa nullable TId */ +cltype12 = type_nullable__nit__TId.color; +idtype13 = type_nullable__nit__TId.id; +if(var_tidnode4 == NULL) { +var11 = 1; +} else { +if(cltype12 >= (((long)var_tidnode4&3)?type_info[((long)var_tidnode4&3)]:var_tidnode4->type)->table_size) { +var11 = 0; +} else { +var11 = (((long)var_tidnode4&3)?type_info[((long)var_tidnode4&3)]:var_tidnode4->type)->type_table[cltype12] == idtype13; +} +} +if (unlikely(!var11)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8847); +fatal_exit(1); } -var11 = NEW_standard__Array(&type_standard__Array__standard__Object); +var14 = NEW_standard__Array(&type_standard__Array__standard__Object); { -standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ } -var_listnode5 = var11; -var12 = NEW_nit__AListExprs(&type_nit__AListExprs); +var_listnode6 = var14; +var15 = NEW_nit__AListExprs(&type_nit__AListExprs); { -nit__parser_prod___AListExprs___init_alistexprs(var12, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +nit__parser_prod___AListExprs___init_alistexprs(var15, var_listnode6); /* Direct call parser_prod#AListExprs#init_alistexprs on */ } -var_pexprsnode4 = var12; -var13 = NEW_nit__ACallExpr(&type_nit__ACallExpr); +var_pexprsnode5 = var15; +var16 = NEW_nit__ANewExpr(&type_nit__ANewExpr); { -nit__parser_prod___ACallExpr___init_acallexpr(var13, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ +nit__parser_prod___ANewExpr___init_anewexpr(var16, var_tkwnewnode2, var_ptypenode3, var_tidnode4, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ } -var_pexprnode1 = var13; +var_pexprnode1 = var16; var_node_list = var_pexprnode1; -var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var17 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var15 = nit___nit__Parser___go_to(var_p, var14); +var18 = nit___nit__Parser___go_to(var_p, var17); } { -nit___nit__Parser___push(var_p, var15, 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#ReduceAction318#action for (self: ReduceAction318, Parser) */ -void nit__parser___nit__parser__ReduceAction318___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction359#action for (self: ReduceAction359, Parser) */ +void nit__parser___nit__parser__ReduceAction359___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* var2 /* : AImplicitSelfExpr */; -val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */; -val* var_tidnode3 /* var tidnode3: nullable Object */; -short int var4 /* : Bool */; +val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; +short int var9 /* : Bool */; int cltype; int idtype; -val* var5 /* : Array[Object] */; -val* var_listnode5 /* var listnode5: Array[Object] */; -val* var6 /* : AListExprs */; -val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; -val* var7 /* : ACallExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */; -long var8 /* : Int */; -long var9 /* : Int */; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_tidnode4 /* var tidnode4: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_pexprsnode5 /* var pexprsnode5: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var19 /* : ANewExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; +long var20 /* : Int */; +long var21 /* : 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; -var2 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); +var_nodearraylist9 = var; { -{ /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var2) on */ -RET_LABEL3:(void)0; -} -} -var_pexprnode2 = var2; -var_tidnode3 = var_nodearraylist1; -/* isa nullable TId */ -cltype = type_nullable__nit__TId.color; -idtype = type_nullable__nit__TId.id; -if(var_tidnode3 == NULL) { -var4 = 1; -} else { -if(cltype >= var_tidnode3->type->table_size) { -var4 = 0; -} else { -var4 = var_tidnode3->type->type_table[cltype] == idtype; +var1 = nit___nit__Parser___pop(var_p); } +var_nodearraylist8 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); } -if (unlikely(!var4)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8368); -show_backtrace(1); +var_nodearraylist7 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); } -var5 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist6 = var3; { -standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ +var4 = nit___nit__Parser___pop(var_p); } -var_listnode5 = var5; -var6 = NEW_nit__AListExprs(&type_nit__AListExprs); +var_nodearraylist5 = var4; { -nit__parser_prod___AListExprs___init_alistexprs(var6, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +var5 = nit___nit__Parser___pop(var_p); } -var_pexprsnode4 = var6; -var7 = NEW_nit__ACallExpr(&type_nit__ACallExpr); +var_nodearraylist4 = var5; { -nit__parser_prod___ACallExpr___init_acallexpr(var7, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ +var6 = nit___nit__Parser___pop(var_p); } -var_pexprnode1 = var7; -var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist3 = var6; { -var9 = nit___nit__Parser___go_to(var_p, var8); +var7 = nit___nit__Parser___pop(var_p); } +var_nodearraylist2 = var7; { -nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ +var8 = nit___nit__Parser___pop(var_p); } -RET_LABEL:; +var_nodearraylist1 = var8; +var_tkwnewnode2 = var_nodearraylist1; +/* isa nullable TKwnew */ +cltype = type_nullable__nit__TKwnew.color; +idtype = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode2 == NULL) { +var9 = 1; +} else { +if(cltype >= (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->table_size) { +var9 = 0; +} else { +var9 = (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->type_table[cltype] == idtype; } -/* method parser#ReduceAction320#action for (self: ReduceAction320, Parser) */ -void nit__parser___nit__parser__ReduceAction320___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* var3 /* : AImplicitSelfExpr */; -val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */; -val* var_tidnode3 /* var tidnode3: nullable Object */; -short int var5 /* : Bool */; -int cltype; -int idtype; -val* var6 /* : Array[Object] */; -val* var_listnode5 /* var listnode5: Array[Object] */; -val* var7 /* : AListExprs */; -val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; -val* var8 /* : ACallExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */; -long var9 /* : Int */; -long var10 /* : 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, 8877); +fatal_exit(1); } -var_nodearraylist1 = var2; -var3 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); -{ -{ /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var3) on */ -RET_LABEL4:(void)0; +var_ptypenode3 = var_nodearraylist3; +/* isa nullable AType */ +cltype11 = type_nullable__nit__AType.color; +idtype12 = type_nullable__nit__AType.id; +if(var_ptypenode3 == NULL) { +var10 = 1; +} else { +if(cltype11 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { +var10 = 0; +} else { +var10 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype11] == idtype12; } } -var_pexprnode2 = var3; -var_tidnode3 = var_nodearraylist2; -/* isa nullable TId */ -cltype = type_nullable__nit__TId.color; -idtype = type_nullable__nit__TId.id; -if(var_tidnode3 == NULL) { -var5 = 1; +if (unlikely(!var10)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8879); +fatal_exit(1); +} +var_tidnode4 = var_nodearraylist8; +/* isa nullable TId */ +cltype14 = type_nullable__nit__TId.color; +idtype15 = type_nullable__nit__TId.id; +if(var_tidnode4 == NULL) { +var13 = 1; } else { -if(cltype >= var_tidnode3->type->table_size) { -var5 = 0; +if(cltype14 >= (((long)var_tidnode4&3)?type_info[((long)var_tidnode4&3)]:var_tidnode4->type)->table_size) { +var13 = 0; } else { -var5 = var_tidnode3->type->type_table[cltype] == idtype; +var13 = (((long)var_tidnode4&3)?type_info[((long)var_tidnode4&3)]:var_tidnode4->type)->type_table[cltype14] == idtype15; } } -if (unlikely(!var5)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8391); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8881); +fatal_exit(1); } -var6 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ +var_pexprsnode5 = var_nodearraylist9; +/* isa nullable AExprs */ +cltype17 = type_nullable__nit__AExprs.color; +idtype18 = type_nullable__nit__AExprs.id; +if(var_pexprsnode5 == NULL) { +var16 = 1; +} else { +if(cltype17 >= (((long)var_pexprsnode5&3)?type_info[((long)var_pexprsnode5&3)]:var_pexprsnode5->type)->table_size) { +var16 = 0; +} else { +var16 = (((long)var_pexprsnode5&3)?type_info[((long)var_pexprsnode5&3)]:var_pexprsnode5->type)->type_table[cltype17] == idtype18; } -var_listnode5 = var6; -var7 = NEW_nit__AListExprs(&type_nit__AListExprs); -{ -nit__parser_prod___AListExprs___init_alistexprs(var7, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ } -var_pexprsnode4 = var7; -var8 = NEW_nit__ACallExpr(&type_nit__ACallExpr); +if (unlikely(!var16)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8883); +fatal_exit(1); +} +var19 = NEW_nit__ANewExpr(&type_nit__ANewExpr); { -nit__parser_prod___ACallExpr___init_acallexpr(var8, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ +nit__parser_prod___ANewExpr___init_anewexpr(var19, var_tkwnewnode2, var_ptypenode3, var_tidnode4, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ } -var_pexprnode1 = var8; +var_pexprnode1 = var19; var_node_list = var_pexprnode1; -var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var10 = nit___nit__Parser___go_to(var_p, var9); +var21 = nit___nit__Parser___go_to(var_p, var20); } { -nit___nit__Parser___push(var_p, var10, 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#ReduceAction322#action for (self: ReduceAction322, Parser) */ -void nit__parser___nit__parser__ReduceAction322___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction360#action for (self: ReduceAction360, Parser) */ +void nit__parser___nit__parser__ReduceAction360___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_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: 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* var4 /* : AImplicitSelfExpr */; -val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */; -val* var_tidnode3 /* var tidnode3: nullable Object */; -short int var6 /* : Bool */; +val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; +short int var8 /* : Bool */; int cltype; int idtype; -val* var7 /* : Array[Object] */; -val* var_listnode5 /* var listnode5: Array[Object] */; -val* var8 /* : AListExprs */; -val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; -val* var9 /* : ACallExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var_tidnode4 /* var tidnode4: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var15 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: Array[Object] */; +val* var16 /* : AListExprs */; +val* var_pexprsnode5 /* var pexprsnode5: nullable AListExprs */; +val* var17 /* : ANewExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; +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_nodearraylist8 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist7 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist6 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var3; -var4 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); +var_nodearraylist5 = var3; +{ +var4 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist4 = var4; { -{ /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var4) on */ -RET_LABEL5:(void)0; +var5 = nit___nit__Parser___pop(var_p); } +var_nodearraylist3 = var5; +{ +var6 = nit___nit__Parser___pop(var_p); } -var_pexprnode2 = var4; -var_tidnode3 = var_nodearraylist3; -/* isa nullable TId */ -cltype = type_nullable__nit__TId.color; -idtype = type_nullable__nit__TId.id; -if(var_tidnode3 == NULL) { -var6 = 1; +var_nodearraylist2 = var6; +{ +var7 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var7; +var_tkwnewnode2 = var_nodearraylist1; +/* isa nullable TKwnew */ +cltype = type_nullable__nit__TKwnew.color; +idtype = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode2 == NULL) { +var8 = 1; } else { -if(cltype >= var_tidnode3->type->table_size) { -var6 = 0; +if(cltype >= (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->table_size) { +var8 = 0; } else { -var6 = var_tidnode3->type->type_table[cltype] == idtype; +var8 = (((long)var_tkwnewnode2&3)?type_info[((long)var_tkwnewnode2&3)]:var_tkwnewnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var6)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8415); -show_backtrace(1); -} -var7 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8908); +fatal_exit(1); } -var_listnode5 = var7; -var8 = NEW_nit__AListExprs(&type_nit__AListExprs); -{ -nit__parser_prod___AListExprs___init_alistexprs(var8, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ -} -var_pexprsnode4 = var8; -var9 = NEW_nit__ACallExpr(&type_nit__ACallExpr); -{ -nit__parser_prod___ACallExpr___init_acallexpr(var9, var_pexprnode2, var_tidnode3, var_pexprsnode4); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ -} -var_pexprnode1 = var9; -var_node_list = var_pexprnode1; -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 */ -} -RET_LABEL:; -} -/* method parser#ReduceAction326#action for (self: ReduceAction326, Parser) */ -void nit__parser___nit__parser__ReduceAction326___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_pqualifiednode2 /* var pqualifiednode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_tkwsupernode3 /* var tkwsupernode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : Array[Object] */; -val* var_listnode5 /* var listnode5: Array[Object] */; -val* var8 /* : AListExprs */; -val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; -val* var9 /* : ASuperExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ASuperExpr */; -long var10 /* : Int */; -long var11 /* : 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); -} -var_nodearraylist1 = var2; -var_pqualifiednode2 = var_nodearraylist1; -/* isa nullable AQualified */ -cltype = type_nullable__nit__AQualified.color; -idtype = type_nullable__nit__AQualified.id; -if(var_pqualifiednode2 == NULL) { -var3 = 1; +var_ptypenode3 = var_nodearraylist3; +/* isa nullable AType */ +cltype10 = type_nullable__nit__AType.color; +idtype11 = type_nullable__nit__AType.id; +if(var_ptypenode3 == NULL) { +var9 = 1; } else { -if(cltype >= var_pqualifiednode2->type->table_size) { -var3 = 0; +if(cltype10 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { +var9 = 0; } else { -var3 = var_pqualifiednode2->type->type_table[cltype] == idtype; +var9 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype10] == idtype11; } } -if (unlikely(!var3)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8437); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8910); +fatal_exit(1); } -var_tkwsupernode3 = var_nodearraylist2; -/* isa nullable TKwsuper */ -cltype5 = type_nullable__nit__TKwsuper.color; -idtype6 = type_nullable__nit__TKwsuper.id; -if(var_tkwsupernode3 == NULL) { -var4 = 1; +var_tidnode4 = var_nodearraylist8; +/* isa nullable TId */ +cltype13 = type_nullable__nit__TId.color; +idtype14 = type_nullable__nit__TId.id; +if(var_tidnode4 == NULL) { +var12 = 1; } else { -if(cltype5 >= var_tkwsupernode3->type->table_size) { -var4 = 0; +if(cltype13 >= (((long)var_tidnode4&3)?type_info[((long)var_tidnode4&3)]:var_tidnode4->type)->table_size) { +var12 = 0; } else { -var4 = var_tkwsupernode3->type->type_table[cltype5] == idtype6; +var12 = (((long)var_tidnode4&3)?type_info[((long)var_tidnode4&3)]:var_tidnode4->type)->type_table[cltype13] == idtype14; } } -if (unlikely(!var4)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8439); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8912); +fatal_exit(1); } -var7 = NEW_standard__Array(&type_standard__Array__standard__Object); +var15 = NEW_standard__Array(&type_standard__Array__standard__Object); { -standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on */ } -var_listnode5 = var7; -var8 = NEW_nit__AListExprs(&type_nit__AListExprs); +var_listnode6 = var15; +var16 = NEW_nit__AListExprs(&type_nit__AListExprs); { -nit__parser_prod___AListExprs___init_alistexprs(var8, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +nit__parser_prod___AListExprs___init_alistexprs(var16, var_listnode6); /* Direct call parser_prod#AListExprs#init_alistexprs on */ } -var_pexprsnode4 = var8; -var9 = NEW_nit__ASuperExpr(&type_nit__ASuperExpr); +var_pexprsnode5 = var16; +var17 = NEW_nit__ANewExpr(&type_nit__ANewExpr); { -nit__parser_prod___ASuperExpr___init_asuperexpr(var9, var_pqualifiednode2, var_tkwsupernode3, var_pexprsnode4); /* Direct call parser_prod#ASuperExpr#init_asuperexpr on */ +nit__parser_prod___ANewExpr___init_anewexpr(var17, var_tkwnewnode2, var_ptypenode3, var_tidnode4, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ } -var_pexprnode1 = var9; +var_pexprnode1 = var17; var_node_list = var_pexprnode1; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var18 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var11 = nit___nit__Parser___go_to(var_p, var10); +var19 = nit___nit__Parser___go_to(var_p, var18); } { -nit___nit__Parser___push(var_p, var11, 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#ReduceAction328#action for (self: ReduceAction328, Parser) */ -void nit__parser___nit__parser__ReduceAction328___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction363#action for (self: ReduceAction363, Parser) */ +void nit__parser___nit__parser__ReduceAction363___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_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: 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_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var5 /* : Bool */; +short int var10 /* : Bool */; int cltype; int idtype; -val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : Array[Object] */; -val* var_listnode5 /* var listnode5: Array[Object] */; -val* var10 /* : AListExprs */; -val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; -val* var11 /* : AInitExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */; -long var12 /* : Int */; -long var13 /* : Int */; +val* var_tkwasnode3 /* var tkwasnode3: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_toparnode4 /* var toparnode4: 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* var_tcparnode6 /* var tcparnode6: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var23 /* : AAsCastExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AAsCastExpr */; +long var24 /* : Int */; +long var25 /* : 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_nodearraylist4 = var1; +var_nodearraylist9 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var2; +var_nodearraylist8 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var3; +var_nodearraylist7 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var4; +var_nodearraylist6 = 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_pexprnode2 = var_nodearraylist1; /* isa nullable AExpr */ cltype = type_nullable__nit__AExpr.color; idtype = type_nullable__nit__AExpr.id; if(var_pexprnode2 == NULL) { -var5 = 1; +var10 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var10 = 0; } else { -var5 = var_pexprnode2->type->type_table[cltype] == idtype; +var10 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var5)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8463); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8943); +fatal_exit(1); } -var_tkwinitnode3 = var_nodearraylist4; -/* isa nullable TKwinit */ -cltype7 = type_nullable__nit__TKwinit.color; -idtype8 = type_nullable__nit__TKwinit.id; -if(var_tkwinitnode3 == NULL) { -var6 = 1; +var_tkwasnode3 = var_nodearraylist4; +/* isa nullable TKwas */ +cltype12 = type_nullable__nit__TKwas.color; +idtype13 = type_nullable__nit__TKwas.id; +if(var_tkwasnode3 == NULL) { +var11 = 1; } else { -if(cltype7 >= var_tkwinitnode3->type->table_size) { -var6 = 0; +if(cltype12 >= (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->table_size) { +var11 = 0; } else { -var6 = var_tkwinitnode3->type->type_table[cltype7] == idtype8; +var11 = (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var6)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8465); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8945); +fatal_exit(1); } -var9 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var9); /* Direct call array#Array#init on */ +var_toparnode4 = var_nodearraylist6; +/* isa nullable TOpar */ +cltype15 = type_nullable__nit__TOpar.color; +idtype16 = type_nullable__nit__TOpar.id; +if(var_toparnode4 == NULL) { +var14 = 1; +} else { +if(cltype15 >= (((long)var_toparnode4&3)?type_info[((long)var_toparnode4&3)]:var_toparnode4->type)->table_size) { +var14 = 0; +} else { +var14 = (((long)var_toparnode4&3)?type_info[((long)var_toparnode4&3)]:var_toparnode4->type)->type_table[cltype15] == idtype16; } -var_listnode5 = var9; -var10 = NEW_nit__AListExprs(&type_nit__AListExprs); -{ -nit__parser_prod___AListExprs___init_alistexprs(var10, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ } -var_pexprsnode4 = var10; -var11 = NEW_nit__AInitExpr(&type_nit__AInitExpr); +if (unlikely(!var14)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8947); +fatal_exit(1); +} +var_ptypenode5 = var_nodearraylist8; +/* isa nullable AType */ +cltype18 = type_nullable__nit__AType.color; +idtype19 = type_nullable__nit__AType.id; +if(var_ptypenode5 == NULL) { +var17 = 1; +} else { +if(cltype18 >= (((long)var_ptypenode5&3)?type_info[((long)var_ptypenode5&3)]:var_ptypenode5->type)->table_size) { +var17 = 0; +} else { +var17 = (((long)var_ptypenode5&3)?type_info[((long)var_ptypenode5&3)]:var_ptypenode5->type)->type_table[cltype18] == idtype19; +} +} +if (unlikely(!var17)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8949); +fatal_exit(1); +} +var_tcparnode6 = var_nodearraylist10; +/* isa nullable TCpar */ +cltype21 = type_nullable__nit__TCpar.color; +idtype22 = type_nullable__nit__TCpar.id; +if(var_tcparnode6 == NULL) { +var20 = 1; +} else { +if(cltype21 >= (((long)var_tcparnode6&3)?type_info[((long)var_tcparnode6&3)]:var_tcparnode6->type)->table_size) { +var20 = 0; +} else { +var20 = (((long)var_tcparnode6&3)?type_info[((long)var_tcparnode6&3)]:var_tcparnode6->type)->type_table[cltype21] == idtype22; +} +} +if (unlikely(!var20)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8951); +fatal_exit(1); +} +var23 = NEW_nit__AAsCastExpr(&type_nit__AAsCastExpr); { -nit__parser_prod___AInitExpr___init_ainitexpr(var11, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod#AInitExpr#init_ainitexpr on */ +nit__parser_prod___AAsCastExpr___init_aascastexpr(var23, var_pexprnode2, var_tkwasnode3, var_toparnode4, var_ptypenode5, var_tcparnode6); /* Direct call parser_prod#AAsCastExpr#init_aascastexpr on */ } -var_pexprnode1 = var11; +var_pexprnode1 = var23; var_node_list = var_pexprnode1; -var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var24 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var13 = nit___nit__Parser___go_to(var_p, var12); +var25 = nit___nit__Parser___go_to(var_p, var24); } { -nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var25, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction330#action for (self: ReduceAction330, Parser) */ -void nit__parser___nit__parser__ReduceAction330___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction364#action for (self: ReduceAction364, Parser) */ +void nit__parser___nit__parser__ReduceAction364___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_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var2 /* : AImplicitSelfExpr */; -val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */; -val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype; -int idtype; -val* var5 /* : Array[Object] */; -val* var_listnode5 /* var listnode5: Array[Object] */; -val* var6 /* : AListExprs */; -val* var_pexprsnode4 /* var pexprsnode4: nullable AListExprs */; -val* var7 /* : AInitExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */; -long var8 /* : Int */; -long var9 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var9 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var10 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var11 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var12 /* : Bool */; +int cltype; +int idtype; +val* var_tkwasnode3 /* var tkwasnode3: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_toparnode4 /* var toparnode4: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_tkwnotnode5 /* var tkwnotnode5: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_tkwnullnode6 /* var tkwnullnode6: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var_tcparnode7 /* var tcparnode7: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var28 /* : AAsNotnullExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AAsNotnullExpr */; +long var29 /* : Int */; +long var30 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var2 = NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr); +var_nodearraylist12 = var; { -{ /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var2) on */ -RET_LABEL3:(void)0; -} -} -var_pexprnode2 = var2; -var_tkwinitnode3 = var_nodearraylist1; -/* isa nullable TKwinit */ -cltype = type_nullable__nit__TKwinit.color; -idtype = type_nullable__nit__TKwinit.id; -if(var_tkwinitnode3 == NULL) { -var4 = 1; -} else { -if(cltype >= var_tkwinitnode3->type->table_size) { -var4 = 0; -} else { -var4 = var_tkwinitnode3->type->type_table[cltype] == idtype; +var1 = nit___nit__Parser___pop(var_p); } +var_nodearraylist11 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); } -if (unlikely(!var4)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8487); -show_backtrace(1); +var_nodearraylist10 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); } -var5 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist9 = var3; { -standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ +var4 = nit___nit__Parser___pop(var_p); } -var_listnode5 = var5; -var6 = NEW_nit__AListExprs(&type_nit__AListExprs); +var_nodearraylist8 = var4; { -nit__parser_prod___AListExprs___init_alistexprs(var6, var_listnode5); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +var5 = nit___nit__Parser___pop(var_p); } -var_pexprsnode4 = var6; -var7 = NEW_nit__AInitExpr(&type_nit__AInitExpr); +var_nodearraylist7 = var5; { -nit__parser_prod___AInitExpr___init_ainitexpr(var7, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod#AInitExpr#init_ainitexpr on */ +var6 = nit___nit__Parser___pop(var_p); } -var_pexprnode1 = var7; -var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist6 = var6; { -var9 = nit___nit__Parser___go_to(var_p, var8); +var7 = nit___nit__Parser___pop(var_p); } +var_nodearraylist5 = var7; { -nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ +var8 = nit___nit__Parser___pop(var_p); } -RET_LABEL:; +var_nodearraylist4 = var8; +{ +var9 = nit___nit__Parser___pop(var_p); } -/* method parser#ReduceAction331#action for (self: ReduceAction331, Parser) */ -void nit__parser___nit__parser__ReduceAction331___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_pexprnode2 /* var pexprnode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_pexprsnode3 /* var pexprsnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : ABraExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ABraExpr */; -long var8 /* : Int */; -long var9 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +var_nodearraylist3 = var9; { -var1 = nit___nit__Parser___pop(var_p); +var10 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist2 = var10; { -var2 = nit___nit__Parser___pop(var_p); +var11 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; +var_nodearraylist1 = var11; 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; +var12 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var12 = 0; } else { -var3 = var_pexprnode2->type->type_table[cltype] == idtype; +var12 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var3)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8509); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8981); +fatal_exit(1); } -var_pexprsnode3 = var_nodearraylist2; -/* isa nullable AExprs */ -cltype5 = type_nullable__nit__AExprs.color; -idtype6 = type_nullable__nit__AExprs.id; -if(var_pexprsnode3 == NULL) { -var4 = 1; +var_tkwasnode3 = var_nodearraylist4; +/* isa nullable TKwas */ +cltype14 = type_nullable__nit__TKwas.color; +idtype15 = type_nullable__nit__TKwas.id; +if(var_tkwasnode3 == NULL) { +var13 = 1; } else { -if(cltype5 >= var_pexprsnode3->type->table_size) { -var4 = 0; +if(cltype14 >= (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->table_size) { +var13 = 0; } else { -var4 = var_pexprsnode3->type->type_table[cltype5] == idtype6; +var13 = (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->type_table[cltype14] == idtype15; } } -if (unlikely(!var4)) { +if (unlikely(!var13)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8983); +fatal_exit(1); +} +var_toparnode4 = var_nodearraylist6; +/* isa nullable TOpar */ +cltype17 = type_nullable__nit__TOpar.color; +idtype18 = type_nullable__nit__TOpar.id; +if(var_toparnode4 == NULL) { +var16 = 1; +} else { +if(cltype17 >= (((long)var_toparnode4&3)?type_info[((long)var_toparnode4&3)]:var_toparnode4->type)->table_size) { +var16 = 0; +} else { +var16 = (((long)var_toparnode4&3)?type_info[((long)var_toparnode4&3)]:var_toparnode4->type)->type_table[cltype17] == idtype18; +} +} +if (unlikely(!var16)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8985); +fatal_exit(1); +} +var_tkwnotnode5 = var_nodearraylist8; +/* isa nullable TKwnot */ +cltype20 = type_nullable__nit__TKwnot.color; +idtype21 = type_nullable__nit__TKwnot.id; +if(var_tkwnotnode5 == NULL) { +var19 = 1; +} else { +if(cltype20 >= (((long)var_tkwnotnode5&3)?type_info[((long)var_tkwnotnode5&3)]:var_tkwnotnode5->type)->table_size) { +var19 = 0; +} else { +var19 = (((long)var_tkwnotnode5&3)?type_info[((long)var_tkwnotnode5&3)]:var_tkwnotnode5->type)->type_table[cltype20] == idtype21; +} +} +if (unlikely(!var19)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8987); +fatal_exit(1); +} +var_tkwnullnode6 = var_nodearraylist10; +/* isa nullable TKwnull */ +cltype23 = type_nullable__nit__TKwnull.color; +idtype24 = type_nullable__nit__TKwnull.id; +if(var_tkwnullnode6 == NULL) { +var22 = 1; +} else { +if(cltype23 >= (((long)var_tkwnullnode6&3)?type_info[((long)var_tkwnullnode6&3)]:var_tkwnullnode6->type)->table_size) { +var22 = 0; +} else { +var22 = (((long)var_tkwnullnode6&3)?type_info[((long)var_tkwnullnode6&3)]:var_tkwnullnode6->type)->type_table[cltype23] == idtype24; +} +} +if (unlikely(!var22)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8989); +fatal_exit(1); +} +var_tcparnode7 = var_nodearraylist12; +/* isa nullable TCpar */ +cltype26 = type_nullable__nit__TCpar.color; +idtype27 = type_nullable__nit__TCpar.id; +if(var_tcparnode7 == NULL) { +var25 = 1; +} else { +if(cltype26 >= (((long)var_tcparnode7&3)?type_info[((long)var_tcparnode7&3)]:var_tcparnode7->type)->table_size) { +var25 = 0; +} else { +var25 = (((long)var_tcparnode7&3)?type_info[((long)var_tcparnode7&3)]:var_tcparnode7->type)->type_table[cltype26] == idtype27; +} +} +if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8511); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8991); +fatal_exit(1); } -var7 = NEW_nit__ABraExpr(&type_nit__ABraExpr); +var28 = NEW_nit__AAsNotnullExpr(&type_nit__AAsNotnullExpr); { -nit__parser_prod___ABraExpr___init_abraexpr(var7, var_pexprnode2, var_pexprsnode3); /* Direct call parser_prod#ABraExpr#init_abraexpr on */ +nit__parser_prod___AAsNotnullExpr___init_aasnotnullexpr(var28, var_pexprnode2, var_tkwasnode3, var_toparnode4, var_tkwnotnode5, var_tkwnullnode6, var_tcparnode7); /* Direct call parser_prod#AAsNotnullExpr#init_aasnotnullexpr on */ } -var_pexprnode1 = var7; +var_pexprnode1 = var28; var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var29 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var9 = nit___nit__Parser___go_to(var_p, var8); +var30 = nit___nit__Parser___go_to(var_p, var29); } { -nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var30, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction332#action for (self: ReduceAction332, Parser) */ -void nit__parser___nit__parser__ReduceAction332___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction365#action for (self: ReduceAction365, Parser) */ +void nit__parser___nit__parser__ReduceAction365___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_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var2 /* : nullable Object */; @@ -6946,29 +7382,32 @@ val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; short int var8 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; +val* var_tkwasnode3 /* var tkwasnode3: nullable Object */; short int var9 /* : Bool */; int cltype10; int idtype11; -val* var_tidnode4 /* var tidnode4: nullable Object */; +val* var_tkwnotnode5 /* var tkwnotnode5: nullable Object */; short int var12 /* : Bool */; int cltype13; int idtype14; -val* var_pexprsnode5 /* var pexprsnode5: nullable Object */; +val* var_tkwnullnode6 /* var tkwnullnode6: nullable Object */; short int var15 /* : Bool */; int cltype16; int idtype17; -val* var18 /* : ANewExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; +val* var18 /* : AAsNotnullExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AAsNotnullExpr */; 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_nodearraylist8 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -6997,85 +7436,85 @@ var_nodearraylist2 = var6; var7 = nit___nit__Parser___pop(var_p); } var_nodearraylist1 = var7; -var_tkwnewnode2 = var_nodearraylist1; -/* isa nullable TKwnew */ -cltype = type_nullable__nit__TKwnew.color; -idtype = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode2 == NULL) { +var_pexprnode2 = var_nodearraylist1; +/* isa nullable AExpr */ +cltype = type_nullable__nit__AExpr.color; +idtype = type_nullable__nit__AExpr.id; +if(var_pexprnode2 == NULL) { var8 = 1; } else { -if(cltype >= var_tkwnewnode2->type->table_size) { +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { var8 = 0; } else { -var8 = var_tkwnewnode2->type->type_table[cltype] == idtype; +var8 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8533); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9018); +fatal_exit(1); } -var_ptypenode3 = var_nodearraylist3; -/* isa nullable AType */ -cltype10 = type_nullable__nit__AType.color; -idtype11 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { +var_tkwasnode3 = var_nodearraylist4; +/* isa nullable TKwas */ +cltype10 = type_nullable__nit__TKwas.color; +idtype11 = type_nullable__nit__TKwas.id; +if(var_tkwasnode3 == NULL) { var9 = 1; } else { -if(cltype10 >= var_ptypenode3->type->table_size) { +if(cltype10 >= (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->table_size) { var9 = 0; } else { -var9 = var_ptypenode3->type->type_table[cltype10] == idtype11; +var9 = (((long)var_tkwasnode3&3)?type_info[((long)var_tkwasnode3&3)]:var_tkwasnode3->type)->type_table[cltype10] == idtype11; } } if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8535); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9020); +fatal_exit(1); } -var_tidnode4 = var_nodearraylist6; -/* isa nullable TId */ -cltype13 = type_nullable__nit__TId.color; -idtype14 = type_nullable__nit__TId.id; -if(var_tidnode4 == NULL) { +var_tkwnotnode5 = var_nodearraylist6; +/* isa nullable TKwnot */ +cltype13 = type_nullable__nit__TKwnot.color; +idtype14 = type_nullable__nit__TKwnot.id; +if(var_tkwnotnode5 == NULL) { var12 = 1; } else { -if(cltype13 >= var_tidnode4->type->table_size) { +if(cltype13 >= (((long)var_tkwnotnode5&3)?type_info[((long)var_tkwnotnode5&3)]:var_tkwnotnode5->type)->table_size) { var12 = 0; } else { -var12 = var_tidnode4->type->type_table[cltype13] == idtype14; +var12 = (((long)var_tkwnotnode5&3)?type_info[((long)var_tkwnotnode5&3)]:var_tkwnotnode5->type)->type_table[cltype13] == idtype14; } } if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8537); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9022); +fatal_exit(1); } -var_pexprsnode5 = var_nodearraylist7; -/* isa nullable AExprs */ -cltype16 = type_nullable__nit__AExprs.color; -idtype17 = type_nullable__nit__AExprs.id; -if(var_pexprsnode5 == NULL) { +var_tkwnullnode6 = var_nodearraylist8; +/* isa nullable TKwnull */ +cltype16 = type_nullable__nit__TKwnull.color; +idtype17 = type_nullable__nit__TKwnull.id; +if(var_tkwnullnode6 == NULL) { var15 = 1; } else { -if(cltype16 >= var_pexprsnode5->type->table_size) { +if(cltype16 >= (((long)var_tkwnullnode6&3)?type_info[((long)var_tkwnullnode6&3)]:var_tkwnullnode6->type)->table_size) { var15 = 0; } else { -var15 = var_pexprsnode5->type->type_table[cltype16] == idtype17; +var15 = (((long)var_tkwnullnode6&3)?type_info[((long)var_tkwnullnode6&3)]:var_tkwnullnode6->type)->type_table[cltype16] == idtype17; } } if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8539); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9024); +fatal_exit(1); } -var18 = NEW_nit__ANewExpr(&type_nit__ANewExpr); +var18 = NEW_nit__AAsNotnullExpr(&type_nit__AAsNotnullExpr); { -nit__parser_prod___ANewExpr___init_anewexpr(var18, var_tkwnewnode2, var_ptypenode3, var_tidnode4, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ +nit__parser_prod___AAsNotnullExpr___init_aasnotnullexpr(var18, var_pexprnode2, var_tkwasnode3, ((val*)NULL), var_tkwnotnode5, var_tkwnullnode6, ((val*)NULL)); /* Direct call parser_prod#AAsNotnullExpr#init_aasnotnullexpr on */ } var_pexprnode1 = var18; var_node_list = var_pexprnode1; -var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { var20 = nit___nit__Parser___go_to(var_p, var19); } @@ -7084,2786 +7523,2467 @@ nit___nit__Parser___push(var_p, var20, var_node_list); /* Direct call parser_wor } RET_LABEL:; } -/* method parser#ReduceAction333#action for (self: ReduceAction333, Parser) */ -void nit__parser___nit__parser__ReduceAction333___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction367#action for (self: ReduceAction367, Parser) */ +void nit__parser___nit__parser__ReduceAction367___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_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_tkwnewnode2 /* var tkwnewnode2: nullable Object */; -short int var7 /* : Bool */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var_tidnode4 /* var tidnode4: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var14 /* : Array[Object] */; -val* var_listnode6 /* var listnode6: Array[Object] */; -val* var15 /* : AListExprs */; -val* var_pexprsnode5 /* var pexprsnode5: nullable AListExprs */; -val* var16 /* : ANewExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; -long var17 /* : Int */; -long var18 /* : Int */; +val* var_tdotdotdotnode3 /* var tdotdotdotnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AVarargExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AVarargExpr */; +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_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 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var5; +var_nodearraylist2 = var; { -var6 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var6; -var_tkwnewnode2 = var_nodearraylist1; -/* isa nullable TKwnew */ -cltype = type_nullable__nit__TKwnew.color; -idtype = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode2 == NULL) { -var7 = 1; -} else { -if(cltype >= var_tkwnewnode2->type->table_size) { -var7 = 0; -} else { -var7 = var_tkwnewnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var7)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8562); -show_backtrace(1); +var1 = nit___nit__Parser___pop(var_p); } -var_ptypenode3 = var_nodearraylist3; -/* isa nullable AType */ -cltype9 = type_nullable__nit__AType.color; -idtype10 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { -var8 = 1; +var_nodearraylist1 = 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(cltype9 >= var_ptypenode3->type->table_size) { -var8 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var2 = 0; } else { -var8 = var_ptypenode3->type->type_table[cltype9] == idtype10; +var2 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var8)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8564); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9045); +fatal_exit(1); } -var_tidnode4 = var_nodearraylist6; -/* isa nullable TId */ -cltype12 = type_nullable__nit__TId.color; -idtype13 = type_nullable__nit__TId.id; -if(var_tidnode4 == NULL) { -var11 = 1; +var_tdotdotdotnode3 = var_nodearraylist2; +/* isa nullable TDotdotdot */ +cltype4 = type_nullable__nit__TDotdotdot.color; +idtype5 = type_nullable__nit__TDotdotdot.id; +if(var_tdotdotdotnode3 == NULL) { +var3 = 1; } else { -if(cltype12 >= var_tidnode4->type->table_size) { -var11 = 0; +if(cltype4 >= (((long)var_tdotdotdotnode3&3)?type_info[((long)var_tdotdotdotnode3&3)]:var_tdotdotdotnode3->type)->table_size) { +var3 = 0; } else { -var11 = var_tidnode4->type->type_table[cltype12] == idtype13; +var3 = (((long)var_tdotdotdotnode3&3)?type_info[((long)var_tdotdotdotnode3&3)]:var_tdotdotdotnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var11)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8566); -show_backtrace(1); -} -var14 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9047); +fatal_exit(1); } -var_listnode6 = var14; -var15 = NEW_nit__AListExprs(&type_nit__AListExprs); -{ -nit__parser_prod___AListExprs___init_alistexprs(var15, var_listnode6); /* Direct call parser_prod#AListExprs#init_alistexprs on */ -} -var_pexprsnode5 = var15; -var16 = NEW_nit__ANewExpr(&type_nit__ANewExpr); +var6 = NEW_nit__AVarargExpr(&type_nit__AVarargExpr); { -nit__parser_prod___ANewExpr___init_anewexpr(var16, var_tkwnewnode2, var_ptypenode3, var_tidnode4, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ +nit__parser_prod___AVarargExpr___init_avarargexpr(var6, var_pexprnode2, var_tdotdotdotnode3); /* Direct call parser_prod#AVarargExpr#init_avarargexpr on */ } -var_pexprnode1 = var16; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var17 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var18 = nit___nit__Parser___go_to(var_p, var17); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var18, 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#ReduceAction334#action for (self: ReduceAction334, Parser) */ -void nit__parser___nit__parser__ReduceAction334___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction368#action for (self: ReduceAction368, Parser) */ +void nit__parser___nit__parser__ReduceAction368___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_tkwnewnode2 /* var tkwnewnode2: nullable Object */; -short int var9 /* : Bool */; +val* var_tidnode2 /* var tidnode2: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var_tidnode4 /* var tidnode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_pexprsnode5 /* var pexprsnode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : ANewExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; -long var20 /* : Int */; -long var21 /* : Int */; +val* var_tassignnode3 /* var tassignnode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var_pexprnode4 /* var pexprnode4: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var10 /* : ANamedargExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ANamedargExpr */; +long var11 /* : Int */; +long var12 /* : 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; +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); -} -var_nodearraylist1 = var8; -var_tkwnewnode2 = var_nodearraylist1; -/* isa nullable TKwnew */ -cltype = type_nullable__nit__TKwnew.color; -idtype = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode2 == NULL) { -var9 = 1; -} else { -if(cltype >= var_tkwnewnode2->type->table_size) { -var9 = 0; -} else { -var9 = var_tkwnewnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var9)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8595); -show_backtrace(1); +var2 = nit___nit__Parser___pop(var_p); } -var_ptypenode3 = var_nodearraylist3; -/* isa nullable AType */ -cltype11 = type_nullable__nit__AType.color; -idtype12 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { -var10 = 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(cltype11 >= var_ptypenode3->type->table_size) { -var10 = 0; +if(cltype >= (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->type)->table_size) { +var3 = 0; } else { -var10 = var_ptypenode3->type->type_table[cltype11] == idtype12; +var3 = (((long)var_tidnode2&3)?type_info[((long)var_tidnode2&3)]:var_tidnode2->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, 8597); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9065); +fatal_exit(1); } -var_tidnode4 = var_nodearraylist7; -/* isa nullable TId */ -cltype14 = type_nullable__nit__TId.color; -idtype15 = type_nullable__nit__TId.id; -if(var_tidnode4 == NULL) { -var13 = 1; +var_tassignnode3 = var_nodearraylist2; +/* isa nullable TAssign */ +cltype5 = type_nullable__nit__TAssign.color; +idtype6 = type_nullable__nit__TAssign.id; +if(var_tassignnode3 == NULL) { +var4 = 1; } else { -if(cltype14 >= var_tidnode4->type->table_size) { -var13 = 0; +if(cltype5 >= (((long)var_tassignnode3&3)?type_info[((long)var_tassignnode3&3)]:var_tassignnode3->type)->table_size) { +var4 = 0; } else { -var13 = var_tidnode4->type->type_table[cltype14] == idtype15; +var4 = (((long)var_tassignnode3&3)?type_info[((long)var_tassignnode3&3)]:var_tassignnode3->type)->type_table[cltype5] == idtype6; } } -if (unlikely(!var13)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8599); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9067); +fatal_exit(1); } -var_pexprsnode5 = var_nodearraylist8; -/* isa nullable AExprs */ -cltype17 = type_nullable__nit__AExprs.color; -idtype18 = type_nullable__nit__AExprs.id; -if(var_pexprsnode5 == NULL) { -var16 = 1; +var_pexprnode4 = var_nodearraylist3; +/* isa nullable AExpr */ +cltype8 = type_nullable__nit__AExpr.color; +idtype9 = type_nullable__nit__AExpr.id; +if(var_pexprnode4 == NULL) { +var7 = 1; } else { -if(cltype17 >= var_pexprsnode5->type->table_size) { -var16 = 0; +if(cltype8 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) { +var7 = 0; } else { -var16 = var_pexprsnode5->type->type_table[cltype17] == idtype18; +var7 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var16)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8601); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9069); +fatal_exit(1); } -var19 = NEW_nit__ANewExpr(&type_nit__ANewExpr); +var10 = NEW_nit__ANamedargExpr(&type_nit__ANamedargExpr); { -nit__parser_prod___ANewExpr___init_anewexpr(var19, var_tkwnewnode2, var_ptypenode3, var_tidnode4, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ +nit__parser_prod___ANamedargExpr___init_anamedargexpr(var10, var_tidnode2, var_tassignnode3, var_pexprnode4); /* Direct call parser_prod#ANamedargExpr#init_anamedargexpr on */ } -var_pexprnode1 = var19; +var_pexprnode1 = var10; var_node_list = var_pexprnode1; -var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var21 = nit___nit__Parser___go_to(var_p, var20); +var12 = nit___nit__Parser___go_to(var_p, var11); } { -nit___nit__Parser___push(var_p, var21, 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#ReduceAction335#action for (self: ReduceAction335, Parser) */ -void nit__parser___nit__parser__ReduceAction335___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction369#action for (self: ReduceAction369, Parser) */ +void nit__parser___nit__parser__ReduceAction369___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 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var7 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; -short int var8 /* : Bool */; +val* var_tkwselfnode2 /* var tkwselfnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var_tidnode4 /* var tidnode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var15 /* : Array[Object] */; -val* var_listnode6 /* var listnode6: Array[Object] */; -val* var16 /* : AListExprs */; -val* var_pexprsnode5 /* var pexprsnode5: nullable AListExprs */; -val* var17 /* : ANewExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; -long var18 /* : Int */; -long var19 /* : Int */; +val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : ASelfExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ASelfExpr */; +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_nodearraylist7 = var1; +var_nodearraylist2 = var; { -var2 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = var1; +var_tkwselfnode2 = var_nodearraylist1; +/* isa nullable TKwself */ +cltype = type_nullable__nit__TKwself.color; +idtype = type_nullable__nit__TKwself.id; +if(var_tkwselfnode2 == NULL) { +var2 = 1; +} else { +if(cltype >= (((long)var_tkwselfnode2&3)?type_info[((long)var_tkwselfnode2&3)]:var_tkwselfnode2->type)->table_size) { +var2 = 0; +} else { +var2 = (((long)var_tkwselfnode2&3)?type_info[((long)var_tkwselfnode2&3)]:var_tkwselfnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist5 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var4; +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9087); +fatal_exit(1); +} +var_pannotationsnode3 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode3 == NULL) { +var3 = 1; +} else { +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->type_table[cltype4] == idtype5; +} +} +if (unlikely(!var3)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9089); +fatal_exit(1); +} +var6 = NEW_nit__ASelfExpr(&type_nit__ASelfExpr); { -var5 = nit___nit__Parser___pop(var_p); +nit__parser_prod___ASelfExpr___init_aselfexpr(var6, var_tkwselfnode2, var_pannotationsnode3); /* Direct call parser_prod#ASelfExpr#init_aselfexpr on */ } -var_nodearraylist3 = var5; +var_pexprnode1 = var6; +var_node_list = var_pexprnode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var6 = nit___nit__Parser___pop(var_p); +var8 = nit___nit__Parser___go_to(var_p, var7); } -var_nodearraylist2 = var6; { -var7 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist1 = var7; -var_tkwnewnode2 = var_nodearraylist1; -/* isa nullable TKwnew */ -cltype = type_nullable__nit__TKwnew.color; -idtype = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode2 == NULL) { -var8 = 1; -} else { -if(cltype >= var_tkwnewnode2->type->table_size) { -var8 = 0; -} else { -var8 = var_tkwnewnode2->type->type_table[cltype] == idtype; +RET_LABEL:; } +/* method parser#ReduceAction370#action for (self: ReduceAction370, Parser) */ +void nit__parser___nit__parser__ReduceAction370___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_tkwtruenode2 /* var tkwtruenode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : ATrueExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ATrueExpr */; +long var7 /* : Int */; +long var8 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -if (unlikely(!var8)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8625); -show_backtrace(1); +var_nodearraylist2 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } -var_ptypenode3 = var_nodearraylist3; -/* isa nullable AType */ -cltype10 = type_nullable__nit__AType.color; -idtype11 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { -var9 = 1; +var_nodearraylist1 = var1; +var_tkwtruenode2 = var_nodearraylist1; +/* isa nullable TKwtrue */ +cltype = type_nullable__nit__TKwtrue.color; +idtype = type_nullable__nit__TKwtrue.id; +if(var_tkwtruenode2 == NULL) { +var2 = 1; } else { -if(cltype10 >= var_ptypenode3->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_tkwtruenode2&3)?type_info[((long)var_tkwtruenode2&3)]:var_tkwtruenode2->type)->table_size) { +var2 = 0; } else { -var9 = var_ptypenode3->type->type_table[cltype10] == idtype11; +var2 = (((long)var_tkwtruenode2&3)?type_info[((long)var_tkwtruenode2&3)]:var_tkwtruenode2->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, 8627); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9106); +fatal_exit(1); } -var_tidnode4 = var_nodearraylist7; -/* isa nullable TId */ -cltype13 = type_nullable__nit__TId.color; -idtype14 = type_nullable__nit__TId.id; -if(var_tidnode4 == NULL) { -var12 = 1; +var_pannotationsnode3 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode3 == NULL) { +var3 = 1; } else { -if(cltype13 >= var_tidnode4->type->table_size) { -var12 = 0; +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; } else { -var12 = var_tidnode4->type->type_table[cltype13] == idtype14; +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->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, 8629); -show_backtrace(1); -} -var15 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on */ -} -var_listnode6 = var15; -var16 = NEW_nit__AListExprs(&type_nit__AListExprs); -{ -nit__parser_prod___AListExprs___init_alistexprs(var16, var_listnode6); /* Direct call parser_prod#AListExprs#init_alistexprs on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9108); +fatal_exit(1); } -var_pexprsnode5 = var16; -var17 = NEW_nit__ANewExpr(&type_nit__ANewExpr); +var6 = NEW_nit__ATrueExpr(&type_nit__ATrueExpr); { -nit__parser_prod___ANewExpr___init_anewexpr(var17, var_tkwnewnode2, var_ptypenode3, var_tidnode4, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ +nit__parser_prod___ATrueExpr___init_atrueexpr(var6, var_tkwtruenode2, var_pannotationsnode3); /* Direct call parser_prod#ATrueExpr#init_atrueexpr on */ } -var_pexprnode1 = var17; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var18 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var19 = nit___nit__Parser___go_to(var_p, var18); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var19, 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#ReduceAction336#action for (self: ReduceAction336, Parser) */ -void nit__parser___nit__parser__ReduceAction336___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction371#action for (self: ReduceAction371, Parser) */ +void nit__parser___nit__parser__ReduceAction371___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 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; -short int var10 /* : Bool */; +val* var_tkwfalsenode2 /* var tkwfalsenode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var_tidnode4 /* var tidnode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var_pexprsnode5 /* var pexprsnode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var20 /* : ANewExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; -long var21 /* : Int */; -long var22 /* : Int */; +val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AFalseExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AFalseExpr */; +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_nodearraylist9 = var1; +var_nodearraylist2 = var; { -var2 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = var1; +var_tkwfalsenode2 = var_nodearraylist1; +/* isa nullable TKwfalse */ +cltype = type_nullable__nit__TKwfalse.color; +idtype = type_nullable__nit__TKwfalse.id; +if(var_tkwfalsenode2 == NULL) { +var2 = 1; +} else { +if(cltype >= (((long)var_tkwfalsenode2&3)?type_info[((long)var_tkwfalsenode2&3)]:var_tkwfalsenode2->type)->table_size) { +var2 = 0; +} else { +var2 = (((long)var_tkwfalsenode2&3)?type_info[((long)var_tkwfalsenode2&3)]:var_tkwfalsenode2->type)->type_table[cltype] == idtype; } -var_nodearraylist7 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = 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, 9125); +fatal_exit(1); } -var_nodearraylist5 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); +var_pannotationsnode3 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode3 == NULL) { +var3 = 1; +} else { +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->type_table[cltype4] == idtype5; } -var_nodearraylist4 = var6; +} +if (unlikely(!var3)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9127); +fatal_exit(1); +} +var6 = NEW_nit__AFalseExpr(&type_nit__AFalseExpr); { -var7 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AFalseExpr___init_afalseexpr(var6, var_tkwfalsenode2, var_pannotationsnode3); /* Direct call parser_prod#AFalseExpr#init_afalseexpr on */ } -var_nodearraylist3 = var7; +var_pexprnode1 = var6; +var_node_list = var_pexprnode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var8 = nit___nit__Parser___pop(var_p); +var8 = nit___nit__Parser___go_to(var_p, var7); } -var_nodearraylist2 = var8; { -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var9; -var_tkwnewnode2 = var_nodearraylist1; -/* isa nullable TKwnew */ -cltype = type_nullable__nit__TKwnew.color; -idtype = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode2 == NULL) { -var10 = 1; -} else { -if(cltype >= var_tkwnewnode2->type->table_size) { -var10 = 0; -} else { -var10 = var_tkwnewnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var10)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8659); -show_backtrace(1); -} -var_ptypenode3 = var_nodearraylist3; -/* isa nullable AType */ -cltype12 = type_nullable__nit__AType.color; -idtype13 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { -var11 = 1; -} else { -if(cltype12 >= var_ptypenode3->type->table_size) { -var11 = 0; -} else { -var11 = var_ptypenode3->type->type_table[cltype12] == idtype13; -} -} -if (unlikely(!var11)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8661); -show_backtrace(1); -} -var_tidnode4 = var_nodearraylist8; -/* isa nullable TId */ -cltype15 = type_nullable__nit__TId.color; -idtype16 = type_nullable__nit__TId.id; -if(var_tidnode4 == NULL) { -var14 = 1; -} else { -if(cltype15 >= var_tidnode4->type->table_size) { -var14 = 0; -} else { -var14 = var_tidnode4->type->type_table[cltype15] == idtype16; -} -} -if (unlikely(!var14)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8663); -show_backtrace(1); -} -var_pexprsnode5 = var_nodearraylist9; -/* isa nullable AExprs */ -cltype18 = type_nullable__nit__AExprs.color; -idtype19 = type_nullable__nit__AExprs.id; -if(var_pexprsnode5 == NULL) { -var17 = 1; -} else { -if(cltype18 >= var_pexprsnode5->type->table_size) { -var17 = 0; -} else { -var17 = var_pexprsnode5->type->type_table[cltype18] == idtype19; -} -} -if (unlikely(!var17)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8665); -show_backtrace(1); -} -var20 = NEW_nit__ANewExpr(&type_nit__ANewExpr); -{ -nit__parser_prod___ANewExpr___init_anewexpr(var20, var_tkwnewnode2, var_ptypenode3, var_tidnode4, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ -} -var_pexprnode1 = var20; -var_node_list = var_pexprnode1; -var21 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var22 = nit___nit__Parser___go_to(var_p, var21); -} -{ -nit___nit__Parser___push(var_p, var22, 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#ReduceAction337#action for (self: ReduceAction337, Parser) */ -void nit__parser___nit__parser__ReduceAction337___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction372#action for (self: ReduceAction372, Parser) */ +void nit__parser___nit__parser__ReduceAction372___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 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwnewnode2 /* var tkwnewnode2: nullable Object */; -short int var9 /* : Bool */; +val* var_tkwnullnode2 /* var tkwnullnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var_tidnode4 /* var tidnode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var16 /* : Array[Object] */; -val* var_listnode6 /* var listnode6: Array[Object] */; -val* var17 /* : AListExprs */; -val* var_pexprsnode5 /* var pexprsnode5: nullable AListExprs */; -val* var18 /* : ANewExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ANewExpr */; -long var19 /* : Int */; -long var20 /* : Int */; +val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : ANullExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ANullExpr */; +long var7 /* : Int */; +long var8 /* : 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; +var_node_list = ((val*)NULL); { -var6 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var6; -{ -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); -} -var_nodearraylist1 = var8; -var_tkwnewnode2 = var_nodearraylist1; -/* isa nullable TKwnew */ -cltype = type_nullable__nit__TKwnew.color; -idtype = type_nullable__nit__TKwnew.id; -if(var_tkwnewnode2 == NULL) { -var9 = 1; -} else { -if(cltype >= var_tkwnewnode2->type->table_size) { -var9 = 0; -} else { -var9 = var_tkwnewnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var9)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8690); -show_backtrace(1); +var1 = nit___nit__Parser___pop(var_p); } -var_ptypenode3 = var_nodearraylist3; -/* isa nullable AType */ -cltype11 = type_nullable__nit__AType.color; -idtype12 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { -var10 = 1; +var_nodearraylist1 = var1; +var_tkwnullnode2 = var_nodearraylist1; +/* isa nullable TKwnull */ +cltype = type_nullable__nit__TKwnull.color; +idtype = type_nullable__nit__TKwnull.id; +if(var_tkwnullnode2 == NULL) { +var2 = 1; } else { -if(cltype11 >= var_ptypenode3->type->table_size) { -var10 = 0; +if(cltype >= (((long)var_tkwnullnode2&3)?type_info[((long)var_tkwnullnode2&3)]:var_tkwnullnode2->type)->table_size) { +var2 = 0; } else { -var10 = var_ptypenode3->type->type_table[cltype11] == idtype12; +var2 = (((long)var_tkwnullnode2&3)?type_info[((long)var_tkwnullnode2&3)]:var_tkwnullnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var10)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8692); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9144); +fatal_exit(1); } -var_tidnode4 = var_nodearraylist8; -/* isa nullable TId */ -cltype14 = type_nullable__nit__TId.color; -idtype15 = type_nullable__nit__TId.id; -if(var_tidnode4 == NULL) { -var13 = 1; +var_pannotationsnode3 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode3 == NULL) { +var3 = 1; } else { -if(cltype14 >= var_tidnode4->type->table_size) { -var13 = 0; +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; } else { -var13 = var_tidnode4->type->type_table[cltype14] == idtype15; +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var13)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8694); -show_backtrace(1); -} -var16 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var16); /* Direct call array#Array#init on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9146); +fatal_exit(1); } -var_listnode6 = var16; -var17 = NEW_nit__AListExprs(&type_nit__AListExprs); +var6 = NEW_nit__ANullExpr(&type_nit__ANullExpr); { -nit__parser_prod___AListExprs___init_alistexprs(var17, var_listnode6); /* Direct call parser_prod#AListExprs#init_alistexprs on */ -} -var_pexprsnode5 = var17; -var18 = NEW_nit__ANewExpr(&type_nit__ANewExpr); -{ -nit__parser_prod___ANewExpr___init_anewexpr(var18, var_tkwnewnode2, var_ptypenode3, var_tidnode4, var_pexprsnode5); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ +nit__parser_prod___ANullExpr___init_anullexpr(var6, var_tkwnullnode2, var_pannotationsnode3); /* Direct call parser_prod#ANullExpr#init_anullexpr on */ } -var_pexprnode1 = var18; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var20 = nit___nit__Parser___go_to(var_p, var19); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var20, 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#ReduceAction340#action for (self: ReduceAction340, Parser) */ -void nit__parser___nit__parser__ReduceAction340___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction373#action for (self: ReduceAction373, Parser) */ +void nit__parser___nit__parser__ReduceAction373___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_pexprnode2 /* var pexprnode2: nullable Object */; -short int var11 /* : Bool */; +val* var_tnumbernode2 /* var tnumbernode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_tkwasnode3 /* var tkwasnode3: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_toparnode4 /* var toparnode4: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_ptypenode5 /* var ptypenode5: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_tcparnode6 /* var tcparnode6: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var24 /* : AAsCastExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AAsCastExpr */; -long var25 /* : Int */; -long var26 /* : Int */; +val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : ADecIntExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ADecIntExpr */; +long var7 /* : Int */; +long var8 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist10 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist9 = var2; +var_node_list = ((val*)NULL); { -var3 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist8 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist7 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist6 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist5 = 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 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var9; +var_nodearraylist2 = var; { -var10 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var10; -var_pexprnode2 = var_nodearraylist1; -/* isa nullable AExpr */ -cltype = type_nullable__nit__AExpr.color; -idtype = type_nullable__nit__AExpr.id; -if(var_pexprnode2 == NULL) { -var11 = 1; -} else { -if(cltype >= var_pexprnode2->type->table_size) { -var11 = 0; -} else { -var11 = var_pexprnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var11)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8725); -show_backtrace(1); -} -var_tkwasnode3 = var_nodearraylist4; -/* isa nullable TKwas */ -cltype13 = type_nullable__nit__TKwas.color; -idtype14 = type_nullable__nit__TKwas.id; -if(var_tkwasnode3 == NULL) { -var12 = 1; -} else { -if(cltype13 >= var_tkwasnode3->type->table_size) { -var12 = 0; -} else { -var12 = var_tkwasnode3->type->type_table[cltype13] == idtype14; -} -} -if (unlikely(!var12)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8727); -show_backtrace(1); -} -var_toparnode4 = var_nodearraylist6; -/* isa nullable TOpar */ -cltype16 = type_nullable__nit__TOpar.color; -idtype17 = type_nullable__nit__TOpar.id; -if(var_toparnode4 == NULL) { -var15 = 1; -} else { -if(cltype16 >= var_toparnode4->type->table_size) { -var15 = 0; -} else { -var15 = var_toparnode4->type->type_table[cltype16] == idtype17; -} -} -if (unlikely(!var15)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8729); -show_backtrace(1); +var1 = nit___nit__Parser___pop(var_p); } -var_ptypenode5 = var_nodearraylist8; -/* isa nullable AType */ -cltype19 = type_nullable__nit__AType.color; -idtype20 = type_nullable__nit__AType.id; -if(var_ptypenode5 == NULL) { -var18 = 1; +var_nodearraylist1 = var1; +var_tnumbernode2 = var_nodearraylist1; +/* isa nullable TNumber */ +cltype = type_nullable__nit__TNumber.color; +idtype = type_nullable__nit__TNumber.id; +if(var_tnumbernode2 == NULL) { +var2 = 1; } else { -if(cltype19 >= var_ptypenode5->type->table_size) { -var18 = 0; +if(cltype >= (((long)var_tnumbernode2&3)?type_info[((long)var_tnumbernode2&3)]:var_tnumbernode2->type)->table_size) { +var2 = 0; } else { -var18 = var_ptypenode5->type->type_table[cltype19] == idtype20; +var2 = (((long)var_tnumbernode2&3)?type_info[((long)var_tnumbernode2&3)]:var_tnumbernode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var18)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8731); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9163); +fatal_exit(1); } -var_tcparnode6 = var_nodearraylist10; -/* isa nullable TCpar */ -cltype22 = type_nullable__nit__TCpar.color; -idtype23 = type_nullable__nit__TCpar.id; -if(var_tcparnode6 == NULL) { -var21 = 1; +var_pannotationsnode3 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode3 == NULL) { +var3 = 1; } else { -if(cltype22 >= var_tcparnode6->type->table_size) { -var21 = 0; +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; } else { -var21 = var_tcparnode6->type->type_table[cltype22] == idtype23; +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var21)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8733); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9165); +fatal_exit(1); } -var24 = NEW_nit__AAsCastExpr(&type_nit__AAsCastExpr); +var6 = NEW_nit__ADecIntExpr(&type_nit__ADecIntExpr); { -nit__parser_prod___AAsCastExpr___init_aascastexpr(var24, var_pexprnode2, var_tkwasnode3, var_toparnode4, var_ptypenode5, var_tcparnode6); /* Direct call parser_prod#AAsCastExpr#init_aascastexpr on */ +nit__parser_prod___ADecIntExpr___init_adecintexpr(var6, var_tnumbernode2, var_pannotationsnode3); /* Direct call parser_prod#ADecIntExpr#init_adecintexpr on */ } -var_pexprnode1 = var24; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var25 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var26 = nit___nit__Parser___go_to(var_p, var25); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var26, 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#ReduceAction341#action for (self: ReduceAction341, Parser) */ -void nit__parser___nit__parser__ReduceAction341___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction374#action for (self: ReduceAction374, Parser) */ +void nit__parser___nit__parser__ReduceAction374___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_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var9 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var10 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var11 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var12 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var13 /* : Bool */; +val* var_thexnumbernode2 /* var thexnumbernode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_tkwasnode3 /* var tkwasnode3: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var_toparnode4 /* var toparnode4: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var_tkwnotnode5 /* var tkwnotnode5: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_tkwnullnode6 /* var tkwnullnode6: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_tcparnode7 /* var tcparnode7: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : AAsNotnullExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AAsNotnullExpr */; -long var30 /* : Int */; -long var31 /* : Int */; +val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AHexIntExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AHexIntExpr */; +long var7 /* : Int */; +long var8 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist12 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist11 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist10 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist9 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist8 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist7 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist6 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist5 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var9; -{ -var10 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var10; +var_node_list = ((val*)NULL); { -var11 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var11; +var_nodearraylist2 = var; { -var12 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var12; -var_pexprnode2 = var_nodearraylist1; -/* isa nullable AExpr */ -cltype = type_nullable__nit__AExpr.color; -idtype = type_nullable__nit__AExpr.id; -if(var_pexprnode2 == NULL) { -var13 = 1; +var_nodearraylist1 = var1; +var_thexnumbernode2 = var_nodearraylist1; +/* isa nullable THexNumber */ +cltype = type_nullable__nit__THexNumber.color; +idtype = type_nullable__nit__THexNumber.id; +if(var_thexnumbernode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var13 = 0; +if(cltype >= (((long)var_thexnumbernode2&3)?type_info[((long)var_thexnumbernode2&3)]:var_thexnumbernode2->type)->table_size) { +var2 = 0; } else { -var13 = var_pexprnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_thexnumbernode2&3)?type_info[((long)var_thexnumbernode2&3)]:var_thexnumbernode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var13)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8763); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9182); +fatal_exit(1); } -var_tkwasnode3 = var_nodearraylist4; -/* isa nullable TKwas */ -cltype15 = type_nullable__nit__TKwas.color; -idtype16 = type_nullable__nit__TKwas.id; -if(var_tkwasnode3 == NULL) { -var14 = 1; +var_pannotationsnode3 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode3 == NULL) { +var3 = 1; } else { -if(cltype15 >= var_tkwasnode3->type->table_size) { -var14 = 0; +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; } else { -var14 = var_tkwasnode3->type->type_table[cltype15] == idtype16; +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var14)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8765); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9184); +fatal_exit(1); } -var_toparnode4 = var_nodearraylist6; -/* isa nullable TOpar */ -cltype18 = type_nullable__nit__TOpar.color; -idtype19 = type_nullable__nit__TOpar.id; -if(var_toparnode4 == NULL) { -var17 = 1; -} else { -if(cltype18 >= var_toparnode4->type->table_size) { -var17 = 0; -} else { -var17 = var_toparnode4->type->type_table[cltype18] == idtype19; +var6 = NEW_nit__AHexIntExpr(&type_nit__AHexIntExpr); +{ +nit__parser_prod___AHexIntExpr___init_ahexintexpr(var6, var_thexnumbernode2, var_pannotationsnode3); /* Direct call parser_prod#AHexIntExpr#init_ahexintexpr on */ } +var_pexprnode1 = var6; +var_node_list = var_pexprnode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var8 = nit___nit__Parser___go_to(var_p, var7); } -if (unlikely(!var17)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8767); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_tkwnotnode5 = var_nodearraylist8; -/* isa nullable TKwnot */ -cltype21 = type_nullable__nit__TKwnot.color; -idtype22 = type_nullable__nit__TKwnot.id; -if(var_tkwnotnode5 == NULL) { -var20 = 1; -} else { -if(cltype21 >= var_tkwnotnode5->type->table_size) { -var20 = 0; -} else { -var20 = var_tkwnotnode5->type->type_table[cltype21] == idtype22; +RET_LABEL:; } +/* method parser#ReduceAction375#action for (self: ReduceAction375, Parser) */ +void nit__parser___nit__parser__ReduceAction375___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_tbinnumbernode2 /* var tbinnumbernode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : ABinIntExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABinIntExpr */; +long var7 /* : Int */; +long var8 /* : 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, 8769); -show_backtrace(1); +var_nodearraylist2 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } -var_tkwnullnode6 = var_nodearraylist10; -/* isa nullable TKwnull */ -cltype24 = type_nullable__nit__TKwnull.color; -idtype25 = type_nullable__nit__TKwnull.id; -if(var_tkwnullnode6 == NULL) { -var23 = 1; +var_nodearraylist1 = var1; +var_tbinnumbernode2 = var_nodearraylist1; +/* isa nullable TBinNumber */ +cltype = type_nullable__nit__TBinNumber.color; +idtype = type_nullable__nit__TBinNumber.id; +if(var_tbinnumbernode2 == NULL) { +var2 = 1; } else { -if(cltype24 >= var_tkwnullnode6->type->table_size) { -var23 = 0; +if(cltype >= (((long)var_tbinnumbernode2&3)?type_info[((long)var_tbinnumbernode2&3)]:var_tbinnumbernode2->type)->table_size) { +var2 = 0; } else { -var23 = var_tkwnullnode6->type->type_table[cltype24] == idtype25; +var2 = (((long)var_tbinnumbernode2&3)?type_info[((long)var_tbinnumbernode2&3)]:var_tbinnumbernode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var23)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8771); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9201); +fatal_exit(1); } -var_tcparnode7 = var_nodearraylist12; -/* isa nullable TCpar */ -cltype27 = type_nullable__nit__TCpar.color; -idtype28 = type_nullable__nit__TCpar.id; -if(var_tcparnode7 == NULL) { -var26 = 1; +var_pannotationsnode3 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode3 == NULL) { +var3 = 1; } else { -if(cltype27 >= var_tcparnode7->type->table_size) { -var26 = 0; +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; } else { -var26 = var_tcparnode7->type->type_table[cltype27] == idtype28; +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var26)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8773); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9203); +fatal_exit(1); } -var29 = NEW_nit__AAsNotnullExpr(&type_nit__AAsNotnullExpr); +var6 = NEW_nit__ABinIntExpr(&type_nit__ABinIntExpr); { -nit__parser_prod___AAsNotnullExpr___init_aasnotnullexpr(var29, var_pexprnode2, var_tkwasnode3, var_toparnode4, var_tkwnotnode5, var_tkwnullnode6, var_tcparnode7); /* Direct call parser_prod#AAsNotnullExpr#init_aasnotnullexpr on */ +nit__parser_prod___ABinIntExpr___init_abinintexpr(var6, var_tbinnumbernode2, var_pannotationsnode3); /* Direct call parser_prod#ABinIntExpr#init_abinintexpr on */ } -var_pexprnode1 = var29; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var30 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var31 = nit___nit__Parser___go_to(var_p, var30); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var31, 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#ReduceAction342#action for (self: ReduceAction342, Parser) */ -void nit__parser___nit__parser__ReduceAction342___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction376#action for (self: ReduceAction376, Parser) */ +void nit__parser___nit__parser__ReduceAction376___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 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode2 /* var pexprnode2: nullable Object */; -short int var9 /* : Bool */; +val* var_toctnumbernode2 /* var toctnumbernode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_tkwasnode3 /* var tkwasnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var_tkwnotnode5 /* var tkwnotnode5: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_tkwnullnode6 /* var tkwnullnode6: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : AAsNotnullExpr */; -val* var20 /* : null */; -val* var21 /* : null */; -val* var_pexprnode1 /* var pexprnode1: nullable AAsNotnullExpr */; -long var22 /* : Int */; -long var23 /* : Int */; +val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AOctIntExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AOctIntExpr */; +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_nodearraylist8 = var1; +var_nodearraylist2 = var; { -var2 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var1; +var_toctnumbernode2 = var_nodearraylist1; +/* isa nullable TOctNumber */ +cltype = type_nullable__nit__TOctNumber.color; +idtype = type_nullable__nit__TOctNumber.id; +if(var_toctnumbernode2 == NULL) { +var2 = 1; +} else { +if(cltype >= (((long)var_toctnumbernode2&3)?type_info[((long)var_toctnumbernode2&3)]:var_toctnumbernode2->type)->table_size) { +var2 = 0; +} else { +var2 = (((long)var_toctnumbernode2&3)?type_info[((long)var_toctnumbernode2&3)]:var_toctnumbernode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9220); +fatal_exit(1); +} +var_pannotationsnode3 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode3 == NULL) { +var3 = 1; +} else { +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->type_table[cltype4] == idtype5; +} } -var_nodearraylist7 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); +if (unlikely(!var3)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9222); +fatal_exit(1); } -var_nodearraylist6 = var3; +var6 = NEW_nit__AOctIntExpr(&type_nit__AOctIntExpr); { -var4 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AOctIntExpr___init_aoctintexpr(var6, var_toctnumbernode2, var_pannotationsnode3); /* Direct call parser_prod#AOctIntExpr#init_aoctintexpr on */ } -var_nodearraylist5 = var4; +var_pexprnode1 = var6; +var_node_list = var_pexprnode1; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___pop(var_p); +var8 = nit___nit__Parser___go_to(var_p, var7); } -var_nodearraylist4 = var5; { -var6 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist3 = var6; +RET_LABEL:; +} +/* method parser#ReduceAction377#action for (self: ReduceAction377, Parser) */ +void nit__parser___nit__parser__ReduceAction377___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_tbytenumnode2 /* var tbytenumnode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : ADecByteExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ADecByteExpr */; +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_pexprnode2 = var_nodearraylist1; -/* isa nullable AExpr */ -cltype = type_nullable__nit__AExpr.color; -idtype = type_nullable__nit__AExpr.id; -if(var_pexprnode2 == NULL) { -var9 = 1; +var_nodearraylist1 = var1; +var_tbytenumnode2 = var_nodearraylist1; +/* isa nullable TBytenum */ +cltype = type_nullable__nit__TBytenum.color; +idtype = type_nullable__nit__TBytenum.id; +if(var_tbytenumnode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_tbytenumnode2&3)?type_info[((long)var_tbytenumnode2&3)]:var_tbytenumnode2->type)->table_size) { +var2 = 0; } else { -var9 = var_pexprnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_tbytenumnode2&3)?type_info[((long)var_tbytenumnode2&3)]:var_tbytenumnode2->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, 8800); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9239); +fatal_exit(1); } -var_tkwasnode3 = var_nodearraylist4; -/* isa nullable TKwas */ -cltype11 = type_nullable__nit__TKwas.color; -idtype12 = type_nullable__nit__TKwas.id; -if(var_tkwasnode3 == NULL) { -var10 = 1; +var_pannotationsnode3 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode3 == NULL) { +var3 = 1; } else { -if(cltype11 >= var_tkwasnode3->type->table_size) { -var10 = 0; +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; } else { -var10 = var_tkwasnode3->type->type_table[cltype11] == idtype12; +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->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, 8802); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9241); +fatal_exit(1); } -var_tkwnotnode5 = var_nodearraylist6; -/* isa nullable TKwnot */ -cltype14 = type_nullable__nit__TKwnot.color; -idtype15 = type_nullable__nit__TKwnot.id; -if(var_tkwnotnode5 == NULL) { -var13 = 1; +var6 = NEW_nit__ADecByteExpr(&type_nit__ADecByteExpr); +{ +nit__parser_prod___ADecByteExpr___init_adecbyteexpr(var6, var_tbytenumnode2, var_pannotationsnode3); /* Direct call parser_prod#ADecByteExpr#init_adecbyteexpr on */ +} +var_pexprnode1 = var6; +var_node_list = var_pexprnode1; +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#ReduceAction378#action for (self: ReduceAction378, Parser) */ +void nit__parser___nit__parser__ReduceAction378___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_thexbytenumnode2 /* var thexbytenumnode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AHexByteExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AHexByteExpr */; +long var7 /* : Int */; +long var8 /* : 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_thexbytenumnode2 = var_nodearraylist1; +/* isa nullable THexBytenum */ +cltype = type_nullable__nit__THexBytenum.color; +idtype = type_nullable__nit__THexBytenum.id; +if(var_thexbytenumnode2 == NULL) { +var2 = 1; } else { -if(cltype14 >= var_tkwnotnode5->type->table_size) { -var13 = 0; +if(cltype >= (((long)var_thexbytenumnode2&3)?type_info[((long)var_thexbytenumnode2&3)]:var_thexbytenumnode2->type)->table_size) { +var2 = 0; } else { -var13 = var_tkwnotnode5->type->type_table[cltype14] == idtype15; +var2 = (((long)var_thexbytenumnode2&3)?type_info[((long)var_thexbytenumnode2&3)]:var_thexbytenumnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var13)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8804); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9258); +fatal_exit(1); } -var_tkwnullnode6 = var_nodearraylist8; -/* isa nullable TKwnull */ -cltype17 = type_nullable__nit__TKwnull.color; -idtype18 = type_nullable__nit__TKwnull.id; -if(var_tkwnullnode6 == NULL) { -var16 = 1; +var_pannotationsnode3 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode3 == NULL) { +var3 = 1; } else { -if(cltype17 >= var_tkwnullnode6->type->table_size) { -var16 = 0; +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; } else { -var16 = var_tkwnullnode6->type->type_table[cltype17] == idtype18; +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->type_table[cltype4] == idtype5; } } -if (unlikely(!var16)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8806); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9260); +fatal_exit(1); } -var19 = NEW_nit__AAsNotnullExpr(&type_nit__AAsNotnullExpr); -var20 = NULL; -var21 = NULL; +var6 = NEW_nit__AHexByteExpr(&type_nit__AHexByteExpr); { -nit__parser_prod___AAsNotnullExpr___init_aasnotnullexpr(var19, var_pexprnode2, var_tkwasnode3, var20, var_tkwnotnode5, var_tkwnullnode6, var21); /* Direct call parser_prod#AAsNotnullExpr#init_aasnotnullexpr on */ +nit__parser_prod___AHexByteExpr___init_ahexbyteexpr(var6, var_thexbytenumnode2, var_pannotationsnode3); /* Direct call parser_prod#AHexByteExpr#init_ahexbyteexpr on */ } -var_pexprnode1 = var19; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var22 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var23 = nit___nit__Parser___go_to(var_p, var22); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var23, 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#ReduceAction343#action for (self: ReduceAction343, Parser) */ -void nit__parser___nit__parser__ReduceAction343___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction379#action for (self: ReduceAction379, Parser) */ +void nit__parser___nit__parser__ReduceAction379___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_pexprnode2 /* var pexprnode2: nullable Object */; -short int var3 /* : Bool */; +val* var_tbinbytenumnode2 /* var tbinbytenumnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_tdotdotdotnode3 /* var tdotdotdotnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AVarargExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AVarargExpr */; +val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : ABinByteExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ABinByteExpr */; +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_pexprnode2 = var_nodearraylist1; -/* isa nullable AExpr */ -cltype = type_nullable__nit__AExpr.color; -idtype = type_nullable__nit__AExpr.id; -if(var_pexprnode2 == NULL) { -var3 = 1; +var_nodearraylist1 = var1; +var_tbinbytenumnode2 = var_nodearraylist1; +/* isa nullable TBinBytenum */ +cltype = type_nullable__nit__TBinBytenum.color; +idtype = type_nullable__nit__TBinBytenum.id; +if(var_tbinbytenumnode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_pexprnode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_tbinbytenumnode2&3)?type_info[((long)var_tbinbytenumnode2&3)]:var_tbinbytenumnode2->type)->table_size) { +var2 = 0; } else { -var3 = var_pexprnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_tbinbytenumnode2&3)?type_info[((long)var_tbinbytenumnode2&3)]:var_tbinbytenumnode2->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, 8827); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9277); +fatal_exit(1); } -var_tdotdotdotnode3 = var_nodearraylist2; -/* isa nullable TDotdotdot */ -cltype5 = type_nullable__nit__TDotdotdot.color; -idtype6 = type_nullable__nit__TDotdotdot.id; -if(var_tdotdotdotnode3 == NULL) { -var4 = 1; +var_pannotationsnode3 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode3 == NULL) { +var3 = 1; } else { -if(cltype5 >= var_tdotdotdotnode3->type->table_size) { -var4 = 0; +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; } else { -var4 = var_tdotdotdotnode3->type->type_table[cltype5] == idtype6; +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->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, 8829); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9279); +fatal_exit(1); } -var7 = NEW_nit__AVarargExpr(&type_nit__AVarargExpr); +var6 = NEW_nit__ABinByteExpr(&type_nit__ABinByteExpr); { -nit__parser_prod___AVarargExpr___init_avarargexpr(var7, var_pexprnode2, var_tdotdotdotnode3); /* Direct call parser_prod#AVarargExpr#init_avarargexpr on */ +nit__parser_prod___ABinByteExpr___init_abinbyteexpr(var6, var_tbinbytenumnode2, var_pannotationsnode3); /* Direct call parser_prod#ABinByteExpr#init_abinbyteexpr on */ } -var_pexprnode1 = var7; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +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#ReduceAction344#action for (self: ReduceAction344, Parser) */ -void nit__parser___nit__parser__ReduceAction344___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction380#action for (self: ReduceAction380, Parser) */ +void nit__parser___nit__parser__ReduceAction380___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_tkwselfnode2 /* var tkwselfnode2: nullable Object */; -short int var3 /* : Bool */; +val* var_toctbytenumnode2 /* var toctbytenumnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : ASelfExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ASelfExpr */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AOctByteExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AOctByteExpr */; +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_tkwselfnode2 = var_nodearraylist1; -/* isa nullable TKwself */ -cltype = type_nullable__nit__TKwself.color; -idtype = type_nullable__nit__TKwself.id; -if(var_tkwselfnode2 == NULL) { -var3 = 1; +var_nodearraylist1 = var1; +var_toctbytenumnode2 = var_nodearraylist1; +/* isa nullable TOctBytenum */ +cltype = type_nullable__nit__TOctBytenum.color; +idtype = type_nullable__nit__TOctBytenum.id; +if(var_toctbytenumnode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_tkwselfnode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_toctbytenumnode2&3)?type_info[((long)var_toctbytenumnode2&3)]:var_toctbytenumnode2->type)->table_size) { +var2 = 0; } else { -var3 = var_tkwselfnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_toctbytenumnode2&3)?type_info[((long)var_toctbytenumnode2&3)]:var_toctbytenumnode2->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, 8846); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9296); +fatal_exit(1); } var_pannotationsnode3 = var_nodearraylist2; /* isa nullable AAnnotations */ -cltype5 = type_nullable__nit__AAnnotations.color; -idtype6 = type_nullable__nit__AAnnotations.id; +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; if(var_pannotationsnode3 == NULL) { -var4 = 1; +var3 = 1; } else { -if(cltype5 >= var_pannotationsnode3->type->table_size) { -var4 = 0; +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; } else { -var4 = var_pannotationsnode3->type->type_table[cltype5] == idtype6; +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->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, 8848); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9298); +fatal_exit(1); } -var7 = NEW_nit__ASelfExpr(&type_nit__ASelfExpr); +var6 = NEW_nit__AOctByteExpr(&type_nit__AOctByteExpr); { -nit__parser_prod___ASelfExpr___init_aselfexpr(var7, var_tkwselfnode2, var_pannotationsnode3); /* Direct call parser_prod#ASelfExpr#init_aselfexpr on */ +nit__parser_prod___AOctByteExpr___init_aoctbyteexpr(var6, var_toctbytenumnode2, var_pannotationsnode3); /* Direct call parser_prod#AOctByteExpr#init_aoctbyteexpr on */ } -var_pexprnode1 = var7; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +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#ReduceAction345#action for (self: ReduceAction345, Parser) */ -void nit__parser___nit__parser__ReduceAction345___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction381#action for (self: ReduceAction381, Parser) */ +void nit__parser___nit__parser__ReduceAction381___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_tkwtruenode2 /* var tkwtruenode2: nullable Object */; -short int var3 /* : Bool */; +val* var_tfloatnode2 /* var tfloatnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : ATrueExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ATrueExpr */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AFloatExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AFloatExpr */; +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_tkwtruenode2 = var_nodearraylist1; -/* isa nullable TKwtrue */ -cltype = type_nullable__nit__TKwtrue.color; -idtype = type_nullable__nit__TKwtrue.id; -if(var_tkwtruenode2 == NULL) { -var3 = 1; +var_nodearraylist1 = var1; +var_tfloatnode2 = var_nodearraylist1; +/* isa nullable TFloat */ +cltype = type_nullable__nit__TFloat.color; +idtype = type_nullable__nit__TFloat.id; +if(var_tfloatnode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_tkwtruenode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_tfloatnode2&3)?type_info[((long)var_tfloatnode2&3)]:var_tfloatnode2->type)->table_size) { +var2 = 0; } else { -var3 = var_tkwtruenode2->type->type_table[cltype] == idtype; +var2 = (((long)var_tfloatnode2&3)?type_info[((long)var_tfloatnode2&3)]:var_tfloatnode2->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, 8865); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9315); +fatal_exit(1); } var_pannotationsnode3 = var_nodearraylist2; /* isa nullable AAnnotations */ -cltype5 = type_nullable__nit__AAnnotations.color; -idtype6 = type_nullable__nit__AAnnotations.id; +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; if(var_pannotationsnode3 == NULL) { -var4 = 1; +var3 = 1; } else { -if(cltype5 >= var_pannotationsnode3->type->table_size) { -var4 = 0; +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; } else { -var4 = var_pannotationsnode3->type->type_table[cltype5] == idtype6; +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->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, 8867); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9317); +fatal_exit(1); } -var7 = NEW_nit__ATrueExpr(&type_nit__ATrueExpr); +var6 = NEW_nit__AFloatExpr(&type_nit__AFloatExpr); { -nit__parser_prod___ATrueExpr___init_atrueexpr(var7, var_tkwtruenode2, var_pannotationsnode3); /* Direct call parser_prod#ATrueExpr#init_atrueexpr on */ +nit__parser_prod___AFloatExpr___init_afloatexpr(var6, var_tfloatnode2, var_pannotationsnode3); /* Direct call parser_prod#AFloatExpr#init_afloatexpr on */ } -var_pexprnode1 = var7; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +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#ReduceAction346#action for (self: ReduceAction346, Parser) */ -void nit__parser___nit__parser__ReduceAction346___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction382#action for (self: ReduceAction382, Parser) */ +void nit__parser___nit__parser__ReduceAction382___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_tkwfalsenode2 /* var tkwfalsenode2: nullable Object */; -short int var3 /* : Bool */; +val* var_tcharnode2 /* var tcharnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AFalseExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AFalseExpr */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : ACharExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ACharExpr */; +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_tkwfalsenode2 = var_nodearraylist1; -/* isa nullable TKwfalse */ -cltype = type_nullable__nit__TKwfalse.color; -idtype = type_nullable__nit__TKwfalse.id; -if(var_tkwfalsenode2 == NULL) { -var3 = 1; +var_nodearraylist1 = var1; +var_tcharnode2 = var_nodearraylist1; +/* isa nullable TChar */ +cltype = type_nullable__nit__TChar.color; +idtype = type_nullable__nit__TChar.id; +if(var_tcharnode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_tkwfalsenode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_tcharnode2&3)?type_info[((long)var_tcharnode2&3)]:var_tcharnode2->type)->table_size) { +var2 = 0; } else { -var3 = var_tkwfalsenode2->type->type_table[cltype] == idtype; +var2 = (((long)var_tcharnode2&3)?type_info[((long)var_tcharnode2&3)]:var_tcharnode2->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, 8884); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9334); +fatal_exit(1); } var_pannotationsnode3 = var_nodearraylist2; /* isa nullable AAnnotations */ -cltype5 = type_nullable__nit__AAnnotations.color; -idtype6 = type_nullable__nit__AAnnotations.id; +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; if(var_pannotationsnode3 == NULL) { -var4 = 1; +var3 = 1; } else { -if(cltype5 >= var_pannotationsnode3->type->table_size) { -var4 = 0; +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; } else { -var4 = var_pannotationsnode3->type->type_table[cltype5] == idtype6; +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->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, 8886); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9336); +fatal_exit(1); } -var7 = NEW_nit__AFalseExpr(&type_nit__AFalseExpr); +var6 = NEW_nit__ACharExpr(&type_nit__ACharExpr); { -nit__parser_prod___AFalseExpr___init_afalseexpr(var7, var_tkwfalsenode2, var_pannotationsnode3); /* Direct call parser_prod#AFalseExpr#init_afalseexpr on */ +nit__parser_prod___ACharExpr___init_acharexpr(var6, var_tcharnode2, var_pannotationsnode3); /* Direct call parser_prod#ACharExpr#init_acharexpr on */ } -var_pexprnode1 = var7; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +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#ReduceAction347#action for (self: ReduceAction347, Parser) */ -void nit__parser___nit__parser__ReduceAction347___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction383#action for (self: ReduceAction383, Parser) */ +void nit__parser___nit__parser__ReduceAction383___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_tkwnullnode2 /* var tkwnullnode2: nullable Object */; -short int var3 /* : Bool */; +val* var_tstringnode2 /* var tstringnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : ANullExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ANullExpr */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AStringExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AStringExpr */; +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_tkwnullnode2 = var_nodearraylist1; -/* isa nullable TKwnull */ -cltype = type_nullable__nit__TKwnull.color; -idtype = type_nullable__nit__TKwnull.id; -if(var_tkwnullnode2 == NULL) { -var3 = 1; +var_nodearraylist1 = var1; +var_tstringnode2 = var_nodearraylist1; +/* isa nullable TString */ +cltype = type_nullable__nit__TString.color; +idtype = type_nullable__nit__TString.id; +if(var_tstringnode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_tkwnullnode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_tstringnode2&3)?type_info[((long)var_tstringnode2&3)]:var_tstringnode2->type)->table_size) { +var2 = 0; } else { -var3 = var_tkwnullnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_tstringnode2&3)?type_info[((long)var_tstringnode2&3)]:var_tstringnode2->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, 8903); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9353); +fatal_exit(1); } var_pannotationsnode3 = var_nodearraylist2; /* isa nullable AAnnotations */ -cltype5 = type_nullable__nit__AAnnotations.color; -idtype6 = type_nullable__nit__AAnnotations.id; +cltype4 = type_nullable__nit__AAnnotations.color; +idtype5 = type_nullable__nit__AAnnotations.id; if(var_pannotationsnode3 == NULL) { -var4 = 1; +var3 = 1; } else { -if(cltype5 >= var_pannotationsnode3->type->table_size) { -var4 = 0; +if(cltype4 >= (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->type)->table_size) { +var3 = 0; } else { -var4 = var_pannotationsnode3->type->type_table[cltype5] == idtype6; +var3 = (((long)var_pannotationsnode3&3)?type_info[((long)var_pannotationsnode3&3)]:var_pannotationsnode3->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, 8905); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9355); +fatal_exit(1); } -var7 = NEW_nit__ANullExpr(&type_nit__ANullExpr); +var6 = NEW_nit__AStringExpr(&type_nit__AStringExpr); { -nit__parser_prod___ANullExpr___init_anullexpr(var7, var_tkwnullnode2, var_pannotationsnode3); /* Direct call parser_prod#ANullExpr#init_anullexpr on */ +nit__parser_prod___AStringExpr___init_astringexpr(var6, var_tstringnode2, var_pannotationsnode3); /* Direct call parser_prod#AStringExpr#init_astringexpr on */ } -var_pexprnode1 = var7; +var_pexprnode1 = var6; var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +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#ReduceAction348#action for (self: ReduceAction348, Parser) */ -void nit__parser___nit__parser__ReduceAction348___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction386#action for (self: ReduceAction386, Parser) */ +void nit__parser___nit__parser__ReduceAction386___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_nodearraylist2 /* var nodearraylist2: 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_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tnumbernode2 /* var tnumbernode2: nullable Object */; -short int var3 /* : Bool */; +val* var_tobranode2 /* var tobranode2: nullable Object */; +short int var10 /* : Bool */; int cltype; int idtype; -val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : ADecIntExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ADecIntExpr */; -long var8 /* : Int */; -long var9 /* : Int */; +val* var_pexprnode3 /* var pexprnode3: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_tdotdotnode4 /* var tdotdotnode4: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_pexprnode5 /* var pexprnode5: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_tcbranode6 /* var tcbranode6: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var26 /* : ACrangeExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable ACrangeExpr */; +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_nodearraylist10 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist9 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; -var_tnumbernode2 = var_nodearraylist1; -/* isa nullable TNumber */ -cltype = type_nullable__nit__TNumber.color; -idtype = type_nullable__nit__TNumber.id; -if(var_tnumbernode2 == NULL) { -var3 = 1; +var_nodearraylist8 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist7 = var3; +{ +var4 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist6 = 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_tobranode2 = var_nodearraylist1; +/* isa nullable TObra */ +cltype = type_nullable__nit__TObra.color; +idtype = type_nullable__nit__TObra.id; +if(var_tobranode2 == NULL) { +var10 = 1; } else { -if(cltype >= var_tnumbernode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_tobranode2&3)?type_info[((long)var_tobranode2&3)]:var_tobranode2->type)->table_size) { +var10 = 0; } else { -var3 = var_tnumbernode2->type->type_table[cltype] == idtype; +var10 = (((long)var_tobranode2&3)?type_info[((long)var_tobranode2&3)]:var_tobranode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var3)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8922); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9380); +fatal_exit(1); } -var_pannotationsnode3 = var_nodearraylist2; -/* isa nullable AAnnotations */ -cltype5 = type_nullable__nit__AAnnotations.color; -idtype6 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode3 == NULL) { -var4 = 1; +var_pexprnode3 = var_nodearraylist3; +/* isa nullable AExpr */ +cltype12 = type_nullable__nit__AExpr.color; +idtype13 = type_nullable__nit__AExpr.id; +if(var_pexprnode3 == NULL) { +var11 = 1; } else { -if(cltype5 >= var_pannotationsnode3->type->table_size) { -var4 = 0; +if(cltype12 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var11 = 0; } else { -var4 = var_pannotationsnode3->type->type_table[cltype5] == idtype6; +var11 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var4)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8924); -show_backtrace(1); -} -var7 = NEW_nit__ADecIntExpr(&type_nit__ADecIntExpr); -{ -nit__parser_prod___ADecIntExpr___init_adecintexpr(var7, var_tnumbernode2, var_pannotationsnode3); /* Direct call parser_prod#ADecIntExpr#init_adecintexpr on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9382); +fatal_exit(1); } -var_pexprnode1 = var7; -var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var9 = nit___nit__Parser___go_to(var_p, var8); +var_tdotdotnode4 = var_nodearraylist5; +/* isa nullable TDotdot */ +cltype15 = type_nullable__nit__TDotdot.color; +idtype16 = type_nullable__nit__TDotdot.id; +if(var_tdotdotnode4 == NULL) { +var14 = 1; +} else { +if(cltype15 >= (((long)var_tdotdotnode4&3)?type_info[((long)var_tdotdotnode4&3)]:var_tdotdotnode4->type)->table_size) { +var14 = 0; +} else { +var14 = (((long)var_tdotdotnode4&3)?type_info[((long)var_tdotdotnode4&3)]:var_tdotdotnode4->type)->type_table[cltype15] == idtype16; } -{ -nit___nit__Parser___push(var_p, var9, 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, 9384); +fatal_exit(1); } -/* method parser#ReduceAction349#action for (self: ReduceAction349, Parser) */ -void nit__parser___nit__parser__ReduceAction349___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_thexnumbernode2 /* var thexnumbernode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AHexIntExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AHexIntExpr */; -long var8 /* : Int */; -long var9 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); +var_pexprnode5 = var_nodearraylist7; +/* isa nullable AExpr */ +cltype18 = type_nullable__nit__AExpr.color; +idtype19 = type_nullable__nit__AExpr.id; +if(var_pexprnode5 == NULL) { +var17 = 1; +} else { +if(cltype18 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) { +var17 = 0; +} else { +var17 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype18] == idtype19; } -var_nodearraylist2 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; -var_thexnumbernode2 = var_nodearraylist1; -/* isa nullable THexNumber */ -cltype = type_nullable__nit__THexNumber.color; -idtype = type_nullable__nit__THexNumber.id; -if(var_thexnumbernode2 == NULL) { -var3 = 1; +if (unlikely(!var17)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9386); +fatal_exit(1); +} +var_tcbranode6 = var_nodearraylist9; +/* isa nullable TCbra */ +cltype21 = type_nullable__nit__TCbra.color; +idtype22 = type_nullable__nit__TCbra.id; +if(var_tcbranode6 == NULL) { +var20 = 1; } else { -if(cltype >= var_thexnumbernode2->type->table_size) { -var3 = 0; +if(cltype21 >= (((long)var_tcbranode6&3)?type_info[((long)var_tcbranode6&3)]:var_tcbranode6->type)->table_size) { +var20 = 0; } else { -var3 = var_thexnumbernode2->type->type_table[cltype] == idtype; +var20 = (((long)var_tcbranode6&3)?type_info[((long)var_tcbranode6&3)]:var_tcbranode6->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var3)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8941); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9388); +fatal_exit(1); } -var_pannotationsnode3 = var_nodearraylist2; -/* isa nullable AAnnotations */ -cltype5 = type_nullable__nit__AAnnotations.color; -idtype6 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode3 == NULL) { -var4 = 1; +var_pannotationsnode7 = var_nodearraylist10; +/* isa nullable AAnnotations */ +cltype24 = type_nullable__nit__AAnnotations.color; +idtype25 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode7 == NULL) { +var23 = 1; } else { -if(cltype5 >= var_pannotationsnode3->type->table_size) { -var4 = 0; +if(cltype24 >= (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->table_size) { +var23 = 0; } else { -var4 = var_pannotationsnode3->type->type_table[cltype5] == idtype6; +var23 = (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->type_table[cltype24] == idtype25; } } -if (unlikely(!var4)) { +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8943); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9390); +fatal_exit(1); } -var7 = NEW_nit__AHexIntExpr(&type_nit__AHexIntExpr); +var26 = NEW_nit__ACrangeExpr(&type_nit__ACrangeExpr); { -nit__parser_prod___AHexIntExpr___init_ahexintexpr(var7, var_thexnumbernode2, var_pannotationsnode3); /* Direct call parser_prod#AHexIntExpr#init_ahexintexpr on */ +nit__parser_prod___ACrangeExpr___init_acrangeexpr(var26, var_tobranode2, var_pexprnode3, var_tdotdotnode4, var_pexprnode5, var_tcbranode6, var_pannotationsnode7); /* Direct call parser_prod#ACrangeExpr#init_acrangeexpr on */ } -var_pexprnode1 = var7; +var_pexprnode1 = var26; var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var9 = nit___nit__Parser___go_to(var_p, var8); +var28 = nit___nit__Parser___go_to(var_p, var27); } { -nit___nit__Parser___push(var_p, var9, 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#ReduceAction350#action for (self: ReduceAction350, Parser) */ -void nit__parser___nit__parser__ReduceAction350___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction387#action for (self: ReduceAction387, Parser) */ +void nit__parser___nit__parser__ReduceAction387___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_nodearraylist2 /* var nodearraylist2: 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_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tfloatnode2 /* var tfloatnode2: nullable Object */; -short int var3 /* : Bool */; +val* var_tobranode2 /* var tobranode2: nullable Object */; +short int var10 /* : Bool */; int cltype; int idtype; -val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AFloatExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AFloatExpr */; -long var8 /* : Int */; -long var9 /* : Int */; +val* var_pexprnode3 /* var pexprnode3: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_tdotdotnode4 /* var tdotdotnode4: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_pexprnode5 /* var pexprnode5: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_tobranode6 /* var tobranode6: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var26 /* : AOrangeExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AOrangeExpr */; +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_nodearraylist10 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist9 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; -var_tfloatnode2 = var_nodearraylist1; -/* isa nullable TFloat */ -cltype = type_nullable__nit__TFloat.color; -idtype = type_nullable__nit__TFloat.id; -if(var_tfloatnode2 == NULL) { -var3 = 1; -} else { -if(cltype >= var_tfloatnode2->type->table_size) { -var3 = 0; -} else { -var3 = var_tfloatnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var3)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8960); -show_backtrace(1); -} -var_pannotationsnode3 = var_nodearraylist2; -/* isa nullable AAnnotations */ -cltype5 = type_nullable__nit__AAnnotations.color; -idtype6 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode3 == NULL) { -var4 = 1; -} else { -if(cltype5 >= var_pannotationsnode3->type->table_size) { -var4 = 0; -} else { -var4 = var_pannotationsnode3->type->type_table[cltype5] == idtype6; -} -} -if (unlikely(!var4)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8962); -show_backtrace(1); +var_nodearraylist8 = var2; +{ +var3 = nit___nit__Parser___pop(var_p); } -var7 = NEW_nit__AFloatExpr(&type_nit__AFloatExpr); +var_nodearraylist7 = var3; { -nit__parser_prod___AFloatExpr___init_afloatexpr(var7, var_tfloatnode2, var_pannotationsnode3); /* Direct call parser_prod#AFloatExpr#init_afloatexpr on */ +var4 = nit___nit__Parser___pop(var_p); } -var_pexprnode1 = var7; -var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist6 = var4; { -var9 = nit___nit__Parser___go_to(var_p, var8); +var5 = nit___nit__Parser___pop(var_p); } +var_nodearraylist5 = var5; { -nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ +var6 = nit___nit__Parser___pop(var_p); } -RET_LABEL:; +var_nodearraylist4 = var6; +{ +var7 = nit___nit__Parser___pop(var_p); } -/* method parser#ReduceAction351#action for (self: ReduceAction351, Parser) */ -void nit__parser___nit__parser__ReduceAction351___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_tcharnode2 /* var tcharnode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : ACharExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ACharExpr */; -long var8 /* : Int */; -long var9 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +var_nodearraylist3 = var7; { -var1 = nit___nit__Parser___pop(var_p); +var8 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist2 = var8; { -var2 = nit___nit__Parser___pop(var_p); +var9 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; -var_tcharnode2 = var_nodearraylist1; -/* isa nullable TChar */ -cltype = type_nullable__nit__TChar.color; -idtype = type_nullable__nit__TChar.id; -if(var_tcharnode2 == NULL) { -var3 = 1; +var_nodearraylist1 = var9; +var_tobranode2 = var_nodearraylist1; +/* isa nullable TObra */ +cltype = type_nullable__nit__TObra.color; +idtype = type_nullable__nit__TObra.id; +if(var_tobranode2 == NULL) { +var10 = 1; } else { -if(cltype >= var_tcharnode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_tobranode2&3)?type_info[((long)var_tobranode2&3)]:var_tobranode2->type)->table_size) { +var10 = 0; } else { -var3 = var_tcharnode2->type->type_table[cltype] == idtype; +var10 = (((long)var_tobranode2&3)?type_info[((long)var_tobranode2&3)]:var_tobranode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var3)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8979); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9419); +fatal_exit(1); } -var_pannotationsnode3 = var_nodearraylist2; -/* isa nullable AAnnotations */ -cltype5 = type_nullable__nit__AAnnotations.color; -idtype6 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode3 == NULL) { -var4 = 1; +var_pexprnode3 = var_nodearraylist3; +/* isa nullable AExpr */ +cltype12 = type_nullable__nit__AExpr.color; +idtype13 = type_nullable__nit__AExpr.id; +if(var_pexprnode3 == NULL) { +var11 = 1; } else { -if(cltype5 >= var_pannotationsnode3->type->table_size) { -var4 = 0; +if(cltype12 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var11 = 0; } else { -var4 = var_pannotationsnode3->type->type_table[cltype5] == idtype6; +var11 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var4)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8981); -show_backtrace(1); -} -var7 = NEW_nit__ACharExpr(&type_nit__ACharExpr); -{ -nit__parser_prod___ACharExpr___init_acharexpr(var7, var_tcharnode2, var_pannotationsnode3); /* Direct call parser_prod#ACharExpr#init_acharexpr on */ -} -var_pexprnode1 = var7; -var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var9 = nit___nit__Parser___go_to(var_p, var8); -} -{ -nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9421); +fatal_exit(1); } -RET_LABEL:; +var_tdotdotnode4 = var_nodearraylist5; +/* isa nullable TDotdot */ +cltype15 = type_nullable__nit__TDotdot.color; +idtype16 = type_nullable__nit__TDotdot.id; +if(var_tdotdotnode4 == NULL) { +var14 = 1; +} else { +if(cltype15 >= (((long)var_tdotdotnode4&3)?type_info[((long)var_tdotdotnode4&3)]:var_tdotdotnode4->type)->table_size) { +var14 = 0; +} else { +var14 = (((long)var_tdotdotnode4&3)?type_info[((long)var_tdotdotnode4&3)]:var_tdotdotnode4->type)->type_table[cltype15] == idtype16; } -/* method parser#ReduceAction352#action for (self: ReduceAction352, Parser) */ -void nit__parser___nit__parser__ReduceAction352___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_tstringnode2 /* var tstringnode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_pannotationsnode3 /* var pannotationsnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AStringExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AStringExpr */; -long var8 /* : Int */; -long var9 /* : 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(!var14)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9423); +fatal_exit(1); } -var_nodearraylist1 = var2; -var_tstringnode2 = var_nodearraylist1; -/* isa nullable TString */ -cltype = type_nullable__nit__TString.color; -idtype = type_nullable__nit__TString.id; -if(var_tstringnode2 == NULL) { -var3 = 1; +var_pexprnode5 = var_nodearraylist7; +/* isa nullable AExpr */ +cltype18 = type_nullable__nit__AExpr.color; +idtype19 = type_nullable__nit__AExpr.id; +if(var_pexprnode5 == NULL) { +var17 = 1; +} else { +if(cltype18 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) { +var17 = 0; +} else { +var17 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype18] == idtype19; +} +} +if (unlikely(!var17)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9425); +fatal_exit(1); +} +var_tobranode6 = var_nodearraylist9; +/* isa nullable TObra */ +cltype21 = type_nullable__nit__TObra.color; +idtype22 = type_nullable__nit__TObra.id; +if(var_tobranode6 == NULL) { +var20 = 1; } else { -if(cltype >= var_tstringnode2->type->table_size) { -var3 = 0; +if(cltype21 >= (((long)var_tobranode6&3)?type_info[((long)var_tobranode6&3)]:var_tobranode6->type)->table_size) { +var20 = 0; } else { -var3 = var_tstringnode2->type->type_table[cltype] == idtype; +var20 = (((long)var_tobranode6&3)?type_info[((long)var_tobranode6&3)]:var_tobranode6->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var3)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 8998); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9427); +fatal_exit(1); } -var_pannotationsnode3 = var_nodearraylist2; -/* isa nullable AAnnotations */ -cltype5 = type_nullable__nit__AAnnotations.color; -idtype6 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode3 == NULL) { -var4 = 1; +var_pannotationsnode7 = var_nodearraylist10; +/* isa nullable AAnnotations */ +cltype24 = type_nullable__nit__AAnnotations.color; +idtype25 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode7 == NULL) { +var23 = 1; } else { -if(cltype5 >= var_pannotationsnode3->type->table_size) { -var4 = 0; +if(cltype24 >= (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->table_size) { +var23 = 0; } else { -var4 = var_pannotationsnode3->type->type_table[cltype5] == idtype6; +var23 = (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->type_table[cltype24] == idtype25; } } -if (unlikely(!var4)) { +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9000); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9429); +fatal_exit(1); } -var7 = NEW_nit__AStringExpr(&type_nit__AStringExpr); +var26 = NEW_nit__AOrangeExpr(&type_nit__AOrangeExpr); { -nit__parser_prod___AStringExpr___init_astringexpr(var7, var_tstringnode2, var_pannotationsnode3); /* Direct call parser_prod#AStringExpr#init_astringexpr on */ +nit__parser_prod___AOrangeExpr___init_aorangeexpr(var26, var_tobranode2, var_pexprnode3, var_tdotdotnode4, var_pexprnode5, var_tobranode6, var_pannotationsnode7); /* Direct call parser_prod#AOrangeExpr#init_aorangeexpr on */ } -var_pexprnode1 = var7; +var_pexprnode1 = var26; var_node_list = var_pexprnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var9 = nit___nit__Parser___go_to(var_p, var8); +var28 = nit___nit__Parser___go_to(var_p, var27); } { -nit___nit__Parser___push(var_p, var9, 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#ReduceAction355#action for (self: ReduceAction355, Parser) */ -void nit__parser___nit__parser__ReduceAction355___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction388#action for (self: ReduceAction388, Parser) */ +void nit__parser___nit__parser__ReduceAction388___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 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var6 /* : Array[Object] */; +val* var_listnode4 /* var listnode4: Array[Object] */; val* var_tobranode2 /* var tobranode2: nullable Object */; -short int var11 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; +val* var_listnode3 /* var listnode3: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : Array[Object] */; +val* var_ptypenode5 /* var ptypenode5: nullable Object */; short int var12 /* : Bool */; int cltype13; int idtype14; -val* var_pexprnode4 /* var pexprnode4: nullable Object */; +val* var_tcbranode6 /* var tcbranode6: nullable Object */; short int var15 /* : Bool */; int cltype16; int idtype17; -val* var_tcbranode5 /* var tcbranode5: nullable Object */; +val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */; short int var18 /* : Bool */; int cltype19; int idtype20; -val* var_pannotationsnode6 /* var pannotationsnode6: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var24 /* : ACrangeExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable ACrangeExpr */; -long var25 /* : Int */; -long var26 /* : Int */; +val* var21 /* : AArrayExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AArrayExpr */; +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_nodearraylist6 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var1; +var_nodearraylist5 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist4 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var3; +var_nodearraylist3 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var4; +var_nodearraylist2 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist5 = 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; +var_nodearraylist1 = var5; +var6 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var10 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var10; +var_listnode4 = var6; var_tobranode2 = var_nodearraylist1; /* isa nullable TObra */ cltype = type_nullable__nit__TObra.color; idtype = type_nullable__nit__TObra.id; if(var_tobranode2 == NULL) { -var11 = 1; +var7 = 1; } else { -if(cltype >= var_tobranode2->type->table_size) { -var11 = 0; +if(cltype >= (((long)var_tobranode2&3)?type_info[((long)var_tobranode2&3)]:var_tobranode2->type)->table_size) { +var7 = 0; } else { -var11 = var_tobranode2->type->type_table[cltype] == idtype; +var7 = (((long)var_tobranode2&3)?type_info[((long)var_tobranode2&3)]:var_tobranode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var11)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9025); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9455); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist3; -/* isa nullable AExpr */ -cltype13 = type_nullable__nit__AExpr.color; -idtype14 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { +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(cltype9 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { +var8 = 0; +} else { +var8 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype9] == idtype10; +} +} +if (unlikely(!var8)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9457); +fatal_exit(1); +} +{ +var11 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +} +var_listnode4 = var11; +var_ptypenode5 = var_nodearraylist4; +/* isa nullable AType */ +cltype13 = type_nullable__nit__AType.color; +idtype14 = type_nullable__nit__AType.id; +if(var_ptypenode5 == NULL) { var12 = 1; } else { -if(cltype13 >= var_pexprnode3->type->table_size) { +if(cltype13 >= (((long)var_ptypenode5&3)?type_info[((long)var_ptypenode5&3)]:var_ptypenode5->type)->table_size) { var12 = 0; } else { -var12 = var_pexprnode3->type->type_table[cltype13] == idtype14; +var12 = (((long)var_ptypenode5&3)?type_info[((long)var_ptypenode5&3)]:var_ptypenode5->type)->type_table[cltype13] == idtype14; } } if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9027); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9460); +fatal_exit(1); } -var_pexprnode4 = var_nodearraylist7; -/* isa nullable AExpr */ -cltype16 = type_nullable__nit__AExpr.color; -idtype17 = type_nullable__nit__AExpr.id; -if(var_pexprnode4 == NULL) { +var_tcbranode6 = var_nodearraylist5; +/* isa nullable TCbra */ +cltype16 = type_nullable__nit__TCbra.color; +idtype17 = type_nullable__nit__TCbra.id; +if(var_tcbranode6 == NULL) { var15 = 1; } else { -if(cltype16 >= var_pexprnode4->type->table_size) { +if(cltype16 >= (((long)var_tcbranode6&3)?type_info[((long)var_tcbranode6&3)]:var_tcbranode6->type)->table_size) { var15 = 0; } else { -var15 = var_pexprnode4->type->type_table[cltype16] == idtype17; +var15 = (((long)var_tcbranode6&3)?type_info[((long)var_tcbranode6&3)]:var_tcbranode6->type)->type_table[cltype16] == idtype17; } } if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9029); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9462); +fatal_exit(1); } -var_tcbranode5 = var_nodearraylist9; -/* isa nullable TCbra */ -cltype19 = type_nullable__nit__TCbra.color; -idtype20 = type_nullable__nit__TCbra.id; -if(var_tcbranode5 == NULL) { +var_pannotationsnode7 = var_nodearraylist6; +/* isa nullable AAnnotations */ +cltype19 = type_nullable__nit__AAnnotations.color; +idtype20 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode7 == NULL) { var18 = 1; } else { -if(cltype19 >= var_tcbranode5->type->table_size) { +if(cltype19 >= (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->table_size) { var18 = 0; } else { -var18 = var_tcbranode5->type->type_table[cltype19] == idtype20; +var18 = (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->type_table[cltype19] == idtype20; } } if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9031); -show_backtrace(1); -} -var_pannotationsnode6 = var_nodearraylist10; -/* isa nullable AAnnotations */ -cltype22 = type_nullable__nit__AAnnotations.color; -idtype23 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode6 == NULL) { -var21 = 1; -} else { -if(cltype22 >= var_pannotationsnode6->type->table_size) { -var21 = 0; -} else { -var21 = var_pannotationsnode6->type->type_table[cltype22] == idtype23; -} -} -if (unlikely(!var21)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9033); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9464); +fatal_exit(1); } -var24 = NEW_nit__ACrangeExpr(&type_nit__ACrangeExpr); +var21 = NEW_nit__AArrayExpr(&type_nit__AArrayExpr); { -nit__parser_prod___ACrangeExpr___init_acrangeexpr(var24, var_tobranode2, var_pexprnode3, var_pexprnode4, var_tcbranode5, var_pannotationsnode6); /* Direct call parser_prod#ACrangeExpr#init_acrangeexpr on */ +nit__parser_prod___AArrayExpr___init_aarrayexpr(var21, var_tobranode2, var_listnode4, var_ptypenode5, var_tcbranode6, var_pannotationsnode7); /* Direct call parser_prod#AArrayExpr#init_aarrayexpr on */ } -var_pexprnode1 = var24; +var_pexprnode1 = var21; var_node_list = var_pexprnode1; -var25 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var22 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var26 = nit___nit__Parser___go_to(var_p, var25); +var23 = nit___nit__Parser___go_to(var_p, var22); } { -nit___nit__Parser___push(var_p, var26, 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#ReduceAction356#action for (self: ReduceAction356, Parser) */ -void nit__parser___nit__parser__ReduceAction356___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction389#action for (self: ReduceAction389, Parser) */ +void nit__parser___nit__parser__ReduceAction389___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 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tobranode2 /* var tobranode2: nullable Object */; -short int var11 /* : Bool */; +val* var_toparnode2 /* var toparnode2: nullable Object */; +short int var6 /* : Bool */; int cltype; int idtype; val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_pexprnode4 /* var pexprnode4: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_tobranode5 /* var tobranode5: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_pannotationsnode6 /* var pannotationsnode6: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var24 /* : AOrangeExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AOrangeExpr */; -long var25 /* : Int */; -long var26 /* : Int */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var_tcparnode4 /* var tcparnode4: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var16 /* : AParExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AParExpr */; +long var17 /* : Int */; +long var18 /* : 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_nodearraylist10 = var1; +var_nodearraylist5 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist4 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var3; +var_nodearraylist3 = var3; +{ +var4 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var4; +{ +var5 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = 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; +} +} +if (unlikely(!var6)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9488); +fatal_exit(1); +} +var_pexprnode3 = var_nodearraylist3; +/* isa nullable AExpr */ +cltype8 = type_nullable__nit__AExpr.color; +idtype9 = type_nullable__nit__AExpr.id; +if(var_pexprnode3 == NULL) { +var7 = 1; +} else { +if(cltype8 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var7 = 0; +} else { +var7 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype8] == idtype9; +} +} +if (unlikely(!var7)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9490); +fatal_exit(1); +} +var_tcparnode4 = var_nodearraylist5; +/* isa nullable TCpar */ +cltype11 = type_nullable__nit__TCpar.color; +idtype12 = type_nullable__nit__TCpar.id; +if(var_tcparnode4 == NULL) { +var10 = 1; +} else { +if(cltype11 >= (((long)var_tcparnode4&3)?type_info[((long)var_tcparnode4&3)]:var_tcparnode4->type)->table_size) { +var10 = 0; +} else { +var10 = (((long)var_tcparnode4&3)?type_info[((long)var_tcparnode4&3)]:var_tcparnode4->type)->type_table[cltype11] == idtype12; +} +} +if (unlikely(!var10)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9492); +fatal_exit(1); +} +var_pannotationsnode5 = var_nodearraylist6; +/* isa nullable AAnnotations */ +cltype14 = type_nullable__nit__AAnnotations.color; +idtype15 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode5 == NULL) { +var13 = 1; +} else { +if(cltype14 >= (((long)var_pannotationsnode5&3)?type_info[((long)var_pannotationsnode5&3)]:var_pannotationsnode5->type)->table_size) { +var13 = 0; +} else { +var13 = (((long)var_pannotationsnode5&3)?type_info[((long)var_pannotationsnode5&3)]:var_pannotationsnode5->type)->type_table[cltype14] == idtype15; +} +} +if (unlikely(!var13)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9494); +fatal_exit(1); +} +var16 = NEW_nit__AParExpr(&type_nit__AParExpr); { -var4 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AParExpr___init_aparexpr(var16, var_toparnode2, var_pexprnode3, var_tcparnode4, var_pannotationsnode5); /* Direct call parser_prod#AParExpr#init_aparexpr on */ } -var_nodearraylist7 = var4; +var_pexprnode1 = var16; +var_node_list = var_pexprnode1; +var17 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___pop(var_p); +var18 = nit___nit__Parser___go_to(var_p, var17); } -var_nodearraylist6 = var5; { -var6 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var18, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_nodearraylist5 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); +RET_LABEL:; } -var_nodearraylist4 = var7; +/* method parser#ReduceAction391#action for (self: ReduceAction391, Parser) */ +void nit__parser___nit__parser__ReduceAction391___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_listnode4 /* var listnode4: Array[Object] */; +val* var_pexprnode2 /* var pexprnode2: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var_listnode3 /* var listnode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +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 /* : AManyExpr */; +val* var_pexprnode1 /* var pexprnode1: nullable AManyExpr */; +long var14 /* : Int */; +long var15 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var8 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var8; +var_nodearraylist2 = var; { -var9 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var9; +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var10 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var10; -var_tobranode2 = var_nodearraylist1; -/* isa nullable TObra */ -cltype = type_nullable__nit__TObra.color; -idtype = type_nullable__nit__TObra.id; -if(var_tobranode2 == NULL) { -var11 = 1; +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_tobranode2->type->table_size) { -var11 = 0; +if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) { +var3 = 0; } else { -var11 = var_tobranode2->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(!var11)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9061); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9514); +fatal_exit(1); } -var_pexprnode3 = var_nodearraylist3; -/* isa nullable AExpr */ -cltype13 = type_nullable__nit__AExpr.color; -idtype14 = type_nullable__nit__AExpr.id; -if(var_pexprnode3 == NULL) { -var12 = 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(cltype13 >= var_pexprnode3->type->table_size) { -var12 = 0; +if(cltype5 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { +var4 = 0; } else { -var12 = var_pexprnode3->type->type_table[cltype13] == idtype14; +var4 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype5] == idtype6; } } -if (unlikely(!var12)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9063); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9516); +fatal_exit(1); } -var_pexprnode4 = var_nodearraylist7; -/* isa nullable AExpr */ -cltype16 = type_nullable__nit__AExpr.color; -idtype17 = type_nullable__nit__AExpr.id; -if(var_pexprnode4 == NULL) { -var15 = 1; +if (var_pexprnode2 == NULL) { +var7 = 0; /* is null */ } else { -if(cltype16 >= var_pexprnode4->type->table_size) { -var15 = 0; -} else { -var15 = var_pexprnode4->type->type_table[cltype16] == idtype17; +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 */ } -if (unlikely(!var15)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9065); -show_backtrace(1); -} -var_tobranode5 = var_nodearraylist9; -/* isa nullable TObra */ -cltype19 = type_nullable__nit__TObra.color; -idtype20 = type_nullable__nit__TObra.id; -if(var_tobranode5 == NULL) { -var18 = 1; -} else { -if(cltype19 >= var_tobranode5->type->table_size) { -var18 = 0; -} else { -var18 = var_tobranode5->type->type_table[cltype19] == idtype20; +var11 = !var10; +var8 = var11; +goto RET_LABEL9; +RET_LABEL9:(void)0; } +var7 = var8; } -if (unlikely(!var18)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9067); -show_backtrace(1); +if (var7){ +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4, var_pexprnode2); /* Direct call array#Array#add on */ } -var_pannotationsnode6 = var_nodearraylist10; -/* isa nullable AAnnotations */ -cltype22 = type_nullable__nit__AAnnotations.color; -idtype23 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode6 == NULL) { -var21 = 1; } else { -if(cltype22 >= var_pannotationsnode6->type->table_size) { -var21 = 0; -} else { -var21 = var_pannotationsnode6->type->type_table[cltype22] == idtype23; } +{ +var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } -if (unlikely(!var21)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9069); -show_backtrace(1); -} -var24 = NEW_nit__AOrangeExpr(&type_nit__AOrangeExpr); +var_listnode4 = var12; +var13 = NEW_nit__AManyExpr(&type_nit__AManyExpr); { -nit__parser_prod___AOrangeExpr___init_aorangeexpr(var24, var_tobranode2, var_pexprnode3, var_pexprnode4, var_tobranode5, var_pannotationsnode6); /* Direct call parser_prod#AOrangeExpr#init_aorangeexpr on */ +nit__parser_prod___AManyExpr___init_amanyexpr(var13, var_listnode4); /* Direct call parser_prod#AManyExpr#init_amanyexpr on */ } -var_pexprnode1 = var24; +var_pexprnode1 = var13; var_node_list = var_pexprnode1; -var25 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var26 = nit___nit__Parser___go_to(var_p, var25); +var15 = nit___nit__Parser___go_to(var_p, var14); } { -nit___nit__Parser___push(var_p, var26, 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#ReduceAction357#action for (self: ReduceAction357, Parser) */ -void nit__parser___nit__parser__ReduceAction357___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction392#action for (self: ReduceAction392, Parser) */ +void nit__parser___nit__parser__ReduceAction392___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_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 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var5 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var6 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var7 /* : Array[Object] */; -val* var_listnode4 /* var listnode4: Array[Object] */; -val* var_tobranode2 /* var tobranode2: nullable Object */; -short int var8 /* : Bool */; -int cltype; -int idtype; -val* var_listnode3 /* var listnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : Array[Object] */; -val* var_ptypenode5 /* var ptypenode5: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_tcbranode6 /* var tcbranode6: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var22 /* : AArrayExpr */; -val* var_pexprnode1 /* var pexprnode1: nullable AArrayExpr */; -long var23 /* : Int */; -long var24 /* : Int */; +val* var_pexprnode1 /* var pexprnode1: 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_nodearraylist6 = var1; +var_nodearraylist2 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var2; +var_nodearraylist1 = var2; +var_pexprnode1 = var_nodearraylist3; +var_node_list = var_pexprnode1; +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_nodearraylist4 = 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_nodearraylist3 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); +RET_LABEL:; } -var_nodearraylist2 = var5; +/* method parser#ReduceAction393#action for (self: ReduceAction393, Parser) */ +void nit__parser___nit__parser__ReduceAction393___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_listnode2 /* var listnode2: Array[Object] */; +val* var_pexprnode1 /* var pexprnode1: nullable Object */; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +long var4 /* : Int */; +long var5 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var6 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var6; -var7 = 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(var7); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ } -var_listnode4 = var7; -var_tobranode2 = var_nodearraylist1; -/* isa nullable TObra */ -cltype = type_nullable__nit__TObra.color; -idtype = type_nullable__nit__TObra.id; -if(var_tobranode2 == NULL) { -var8 = 1; +var_listnode2 = var1; +var_pexprnode1 = var_nodearraylist1; +if (var_pexprnode1 == NULL) { +var2 = 0; /* is null */ } else { -if(cltype >= var_tobranode2->type->table_size) { -var8 = 0; -} else { -var8 = var_tobranode2->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_pexprnode1&3)?class_info[((long)var_pexprnode1&3)]:var_pexprnode1->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pexprnode1, ((val*)NULL)); /* != on */ +var2 = var3; } -if (unlikely(!var8)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9094); -show_backtrace(1); +if (var2){ +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2, var_pexprnode1); /* Direct call array#Array#add on */ } -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; -} else { -if(cltype10 >= var_listnode3->type->table_size) { -var9 = 0; } else { -var9 = var_listnode3->type->type_table[cltype10] == idtype11; -} } -if (unlikely(!var9)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9096); -show_backtrace(1); +var_node_list = var_listnode2; +var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var5 = nit___nit__Parser___go_to(var_p, var4); } { -var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_listnode4 = var12; -var_ptypenode5 = var_nodearraylist4; -/* isa nullable AType */ -cltype14 = type_nullable__nit__AType.color; -idtype15 = type_nullable__nit__AType.id; -if(var_ptypenode5 == NULL) { -var13 = 1; -} else { -if(cltype14 >= var_ptypenode5->type->table_size) { -var13 = 0; -} else { -var13 = var_ptypenode5->type->type_table[cltype14] == idtype15; +RET_LABEL:; +} +/* method parser#ReduceAction394#action for (self: ReduceAction394, Parser) */ +void nit__parser___nit__parser__ReduceAction394___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_pexprnode1 /* var pexprnode1: 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_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } +var_nodearraylist2 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } -if (unlikely(!var13)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9099); -show_backtrace(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_tcbranode6 = var_nodearraylist5; -/* isa nullable TCbra */ -cltype17 = type_nullable__nit__TCbra.color; -idtype18 = type_nullable__nit__TCbra.id; -if(var_tcbranode6 == NULL) { -var16 = 1; +var_listnode3 = var2; +var_pexprnode1 = 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(cltype17 >= var_tcbranode6->type->table_size) { -var16 = 0; +if(cltype >= (((long)var_listnode2&3)?type_info[((long)var_listnode2&3)]:var_listnode2->type)->table_size) { +var3 = 0; } else { -var16 = var_tcbranode6->type->type_table[cltype17] == idtype18; +var3 = (((long)var_listnode2&3)?type_info[((long)var_listnode2&3)]:var_listnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var16)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9101); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9566); +fatal_exit(1); } -var_pannotationsnode7 = var_nodearraylist6; -/* isa nullable AAnnotations */ -cltype20 = type_nullable__nit__AAnnotations.color; -idtype21 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode7 == NULL) { -var19 = 1; -} else { -if(cltype20 >= var_pannotationsnode7->type->table_size) { -var19 = 0; +if (var_pexprnode1 == NULL) { +var4 = 0; /* is null */ } else { -var19 = var_pannotationsnode7->type->type_table[cltype20] == idtype21; +var4 = 1; /* arg is null and recv is not */ } +if (0) { +var5 = ((short int(*)(val* self, val* p0))((((long)var_pexprnode1&3)?class_info[((long)var_pexprnode1&3)]:var_pexprnode1->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pexprnode1, ((val*)NULL)); /* != on */ +var4 = var5; } -if (unlikely(!var19)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9103); -show_backtrace(1); +if (var4){ +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pexprnode1); /* Direct call array#Array#add on */ +} +} else { } -var22 = NEW_nit__AArrayExpr(&type_nit__AArrayExpr); { -nit__parser_prod___AArrayExpr___init_aarrayexpr(var22, var_tobranode2, var_listnode4, var_ptypenode5, var_tcbranode6, var_pannotationsnode7); /* Direct call parser_prod#AArrayExpr#init_aarrayexpr on */ +var6 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode3, var_listnode2); } -var_pexprnode1 = var22; -var_node_list = var_pexprnode1; -var23 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_listnode3 = var6; +var_node_list = var_listnode3; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var24 = nit___nit__Parser___go_to(var_p, var23); +var8 = nit___nit__Parser___go_to(var_p, var7); } { -nit___nit__Parser___push(var_p, var24, 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:; }