X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__parser.sep.2.c b/c_src/nit__parser.sep.2.c index d24752d..c15e36b 100644 --- a/c_src/nit__parser.sep.2.c +++ b/c_src/nit__parser.sep.2.c @@ -2,3285 +2,3198 @@ /* method parser#ReduceAction0#action for (self: ReduceAction0, Parser) */ void nit__parser___nit__parser__ReduceAction0___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var2 /* : Array[Object] */; +val* var1 /* : Array[Object] */; val* var_listnode3 /* var listnode3: Array[Object] */; -val* var3 /* : Array[Object] */; +val* var2 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var4 /* : Array[Object] */; +val* var3 /* : Array[Object] */; val* var_listnode6 /* var listnode6: Array[Object] */; val* var_pclassdefnode5 /* var pclassdefnode5: nullable Object */; -short int var5 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var6 /* : null */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; -val* var12 /* : AModule */; -val* var13 /* : null */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var14 /* : Int */; -long var15 /* : Int */; +long var11 /* : Int */; +long var12 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; +var_nodearraylist1 = var; +var1 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ +} +var_listnode3 = var1; var2 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } -var_listnode3 = var2; +var_listnode4 = var2; var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_listnode4 = var3; -var4 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ -} -var_listnode6 = var4; +var_listnode6 = var3; var_pclassdefnode5 = var_nodearraylist1; /* isa nullable AClassdef */ cltype = type_nullable__nit__AClassdef.color; idtype = type_nullable__nit__AClassdef.id; if(var_pclassdefnode5 == NULL) { -var5 = 1; +var4 = 1; } else { -if(cltype >= var_pclassdefnode5->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_pclassdefnode5&3)?type_info[((long)var_pclassdefnode5&3)]:var_pclassdefnode5->type)->table_size) { +var4 = 0; } else { -var5 = var_pclassdefnode5->type->type_table[cltype] == idtype; +var4 = (((long)var_pclassdefnode5&3)?type_info[((long)var_pclassdefnode5&3)]:var_pclassdefnode5->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, 1043); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1143); +fatal_exit(1); } -var6 = NULL; if (var_pclassdefnode5 == NULL) { -var7 = 0; /* is null */ +var5 = 0; /* is null */ } else { -var7 = 1; /* arg is null and recv is not */ +var5 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode5,var6) on */ -var_other = var6; +{ /* Inline kernel#Object#!= (var_pclassdefnode5,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var10 = ((short int (*)(val* self, val* p0))(var_pclassdefnode5->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode5, var_other) /* == on */; +var8 = ((short int(*)(val* self, val* p0))(var_pclassdefnode5->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode5, var_other); /* == on */ } -var11 = !var10; -var8 = var11; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var9 = !var8; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } -var7 = var8; +var5 = var6; } -if (var7){ +if (var5){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode6, var_pclassdefnode5); /* Direct call array#Array#add on */ } } else { } -var12 = NEW_nit__AModule(&type_nit__AModule); -var13 = NULL; +var10 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var12, var13, var_listnode3, var_listnode4, var_listnode6); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var10, ((val*)NULL), var_listnode3, var_listnode4, var_listnode6); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var12; +var_pmodulenode1 = var10; var_node_list = var_pmodulenode1; -var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var15 = nit___nit__Parser___go_to(var_p, var14); +var12 = nit___nit__Parser___go_to(var_p, var11); } { -nit___nit__Parser___push(var_p, var15, 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#ReduceAction1#action for (self: ReduceAction1, Parser) */ void nit__parser___nit__parser__ReduceAction1___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* var3 /* : Array[Object] */; +val* var2 /* : Array[Object] */; val* var_listnode3 /* var listnode3: Array[Object] */; -val* var4 /* : Array[Object] */; +val* var3 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode6 /* var listnode6: Array[Object] */; val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */; -short int var6 /* : Bool */; +short int var5 /* : Bool */; int cltype; int idtype; val* var_pclassdefnode5 /* var pclassdefnode5: nullable Object */; -short int var7 /* : Bool */; -int cltype8; -int idtype9; -val* var10 /* : null */; -short int var11 /* : Bool */; -short int var12 /* : Bool */; +short int var6 /* : Bool */; +int cltype7; +int idtype8; +short int var9 /* : Bool */; +short int var10 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -val* var16 /* : AModule */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +val* var14 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var17 /* : Int */; -long var18 /* : Int */; +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_nodearraylist2 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var2 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var2; +var_listnode3 = var2; var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_listnode3 = var3; +var_listnode4 = var3; var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_listnode4 = var4; -var5 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ -} -var_listnode6 = var5; +var_listnode6 = var4; var_pmoduledeclnode2 = var_nodearraylist1; /* isa nullable AModuledecl */ cltype = type_nullable__nit__AModuledecl.color; idtype = type_nullable__nit__AModuledecl.id; if(var_pmoduledeclnode2 == NULL) { -var6 = 1; +var5 = 1; } else { -if(cltype >= var_pmoduledeclnode2->type->table_size) { -var6 = 0; +if(cltype >= (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->table_size) { +var5 = 0; } else { -var6 = var_pmoduledeclnode2->type->type_table[cltype] == idtype; +var5 = (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var6)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1068); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1168); +fatal_exit(1); } var_pclassdefnode5 = var_nodearraylist2; /* isa nullable AClassdef */ -cltype8 = type_nullable__nit__AClassdef.color; -idtype9 = type_nullable__nit__AClassdef.id; +cltype7 = type_nullable__nit__AClassdef.color; +idtype8 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode5 == NULL) { -var7 = 1; +var6 = 1; } else { -if(cltype8 >= var_pclassdefnode5->type->table_size) { -var7 = 0; +if(cltype7 >= (((long)var_pclassdefnode5&3)?type_info[((long)var_pclassdefnode5&3)]:var_pclassdefnode5->type)->table_size) { +var6 = 0; } else { -var7 = var_pclassdefnode5->type->type_table[cltype8] == idtype9; +var6 = (((long)var_pclassdefnode5&3)?type_info[((long)var_pclassdefnode5&3)]:var_pclassdefnode5->type)->type_table[cltype7] == idtype8; } } -if (unlikely(!var7)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1070); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1170); +fatal_exit(1); } -var10 = NULL; if (var_pclassdefnode5 == NULL) { -var11 = 0; /* is null */ +var9 = 0; /* is null */ } else { -var11 = 1; /* arg is null and recv is not */ +var9 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode5,var10) on */ -var_other = var10; +{ /* Inline kernel#Object#!= (var_pclassdefnode5,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var14 = ((short int (*)(val* self, val* p0))(var_pclassdefnode5->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode5, var_other) /* == on */; +var12 = ((short int(*)(val* self, val* p0))(var_pclassdefnode5->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode5, var_other); /* == on */ } -var15 = !var14; -var12 = var15; -goto RET_LABEL13; -RET_LABEL13:(void)0; +var13 = !var12; +var10 = var13; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -var11 = var12; +var9 = var10; } -if (var11){ +if (var9){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode6, var_pclassdefnode5); /* Direct call array#Array#add on */ } } else { } -var16 = NEW_nit__AModule(&type_nit__AModule); +var14 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var16, var_pmoduledeclnode2, var_listnode3, var_listnode4, var_listnode6); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var14, var_pmoduledeclnode2, var_listnode3, var_listnode4, var_listnode6); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var16; +var_pmodulenode1 = var14; var_node_list = var_pmodulenode1; -var17 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var15 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var18 = nit___nit__Parser___go_to(var_p, var17); +var16 = nit___nit__Parser___go_to(var_p, var15); } { -nit___nit__Parser___push(var_p, var18, 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#ReduceAction2#action for (self: ReduceAction2, Parser) */ void nit__parser___nit__parser__ReduceAction2___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* var3 /* : Array[Object] */; +val* var2 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var4 /* : Array[Object] */; +val* var3 /* : Array[Object] */; val* var_listnode5 /* var listnode5: Array[Object] */; -val* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; val* var_listnode3 /* var listnode3: nullable Object */; -short int var6 /* : Bool */; +short int var5 /* : Bool */; int cltype; int idtype; -val* var7 /* : Array[Object] */; +val* var6 /* : Array[Object] */; val* var_pclassdefnode6 /* var pclassdefnode6: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var11 /* : null */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +short int var10 /* : Bool */; +short int var11 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -val* var17 /* : AModule */; -val* var18 /* : null */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +val* var15 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var19 /* : Int */; -long var20 /* : Int */; +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_nodearraylist2 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var2 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var2; +var_listnode4 = var2; var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_listnode4 = var3; +var_listnode5 = var3; var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_listnode5 = var4; -var5 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ -} -var_listnode7 = var5; +var_listnode7 = var4; var_listnode3 = var_nodearraylist1; /* isa Array[Object] */ cltype = type_standard__Array__standard__Object.color; idtype = type_standard__Array__standard__Object.id; if(var_listnode3 == NULL) { -var6 = 0; +var5 = 0; } else { -if(cltype >= var_listnode3->type->table_size) { -var6 = 0; +if(cltype >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { +var5 = 0; } else { -var6 = var_listnode3->type->type_table[cltype] == idtype; +var5 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype] == idtype; } } -if (unlikely(!var6)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1095); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1195); +fatal_exit(1); } { -var7 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +var6 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } -var_listnode4 = var7; +var_listnode4 = var6; var_pclassdefnode6 = var_nodearraylist2; /* isa nullable AClassdef */ -cltype9 = type_nullable__nit__AClassdef.color; -idtype10 = type_nullable__nit__AClassdef.id; +cltype8 = type_nullable__nit__AClassdef.color; +idtype9 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode6 == NULL) { -var8 = 1; +var7 = 1; } else { -if(cltype9 >= var_pclassdefnode6->type->table_size) { -var8 = 0; +if(cltype8 >= (((long)var_pclassdefnode6&3)?type_info[((long)var_pclassdefnode6&3)]:var_pclassdefnode6->type)->table_size) { +var7 = 0; } else { -var8 = var_pclassdefnode6->type->type_table[cltype9] == idtype10; +var7 = (((long)var_pclassdefnode6&3)?type_info[((long)var_pclassdefnode6&3)]:var_pclassdefnode6->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var8)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1098); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1198); +fatal_exit(1); } -var11 = NULL; if (var_pclassdefnode6 == NULL) { -var12 = 0; /* is null */ +var10 = 0; /* is null */ } else { -var12 = 1; /* arg is null and recv is not */ +var10 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode6,var11) on */ -var_other = var11; +{ /* Inline kernel#Object#!= (var_pclassdefnode6,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var15 = ((short int (*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other) /* == on */; +var13 = ((short int(*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other); /* == on */ } -var16 = !var15; -var13 = var16; -goto RET_LABEL14; -RET_LABEL14:(void)0; +var14 = !var13; +var11 = var14; +goto RET_LABEL12; +RET_LABEL12:(void)0; } -var12 = var13; +var10 = var11; } -if (var12){ +if (var10){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode7, var_pclassdefnode6); /* Direct call array#Array#add on */ } } else { } -var17 = NEW_nit__AModule(&type_nit__AModule); -var18 = NULL; +var15 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var17, var18, var_listnode4, var_listnode5, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var15, ((val*)NULL), var_listnode4, var_listnode5, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var17; +var_pmodulenode1 = var15; var_node_list = var_pmodulenode1; -var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var20 = nit___nit__Parser___go_to(var_p, var19); +var17 = nit___nit__Parser___go_to(var_p, var16); } { -nit___nit__Parser___push(var_p, var20, 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#ReduceAction3#action for (self: ReduceAction3, Parser) */ void nit__parser___nit__parser__ReduceAction3___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var4 /* : Array[Object] */; +val* var3 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode5 /* var listnode5: Array[Object] */; -val* var6 /* : Array[Object] */; +val* var5 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */; -short int var7 /* : Bool */; +short int var6 /* : Bool */; int cltype; int idtype; val* var_listnode3 /* var listnode3: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var11 /* : Array[Object] */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var10 /* : Array[Object] */; val* var_pclassdefnode6 /* var pclassdefnode6: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var15 /* : null */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +short int var14 /* : Bool */; +short int var15 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var19 /* : Bool */; -short int var20 /* : Bool */; -val* var21 /* : AModule */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; +val* var19 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var22 /* : Int */; -long var23 /* : 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_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist2 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist1 = var2; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var3 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var3; +var_listnode4 = var3; var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_listnode4 = var4; +var_listnode5 = var4; 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_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ -} -var_listnode7 = var6; +var_listnode7 = var5; var_pmoduledeclnode2 = var_nodearraylist1; /* isa nullable AModuledecl */ cltype = type_nullable__nit__AModuledecl.color; idtype = type_nullable__nit__AModuledecl.id; if(var_pmoduledeclnode2 == NULL) { -var7 = 1; +var6 = 1; } else { -if(cltype >= var_pmoduledeclnode2->type->table_size) { -var7 = 0; +if(cltype >= (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->table_size) { +var6 = 0; } else { -var7 = var_pmoduledeclnode2->type->type_table[cltype] == idtype; +var6 = (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var7)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1124); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1224); +fatal_exit(1); } var_listnode3 = var_nodearraylist2; /* isa Array[Object] */ -cltype9 = type_standard__Array__standard__Object.color; -idtype10 = type_standard__Array__standard__Object.id; +cltype8 = type_standard__Array__standard__Object.color; +idtype9 = type_standard__Array__standard__Object.id; if(var_listnode3 == NULL) { -var8 = 0; +var7 = 0; } else { -if(cltype9 >= var_listnode3->type->table_size) { -var8 = 0; +if(cltype8 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { +var7 = 0; } else { -var8 = var_listnode3->type->type_table[cltype9] == idtype10; +var7 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var8)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1126); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1226); +fatal_exit(1); } { -var11 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +var10 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } -var_listnode4 = var11; +var_listnode4 = var10; var_pclassdefnode6 = var_nodearraylist3; /* isa nullable AClassdef */ -cltype13 = type_nullable__nit__AClassdef.color; -idtype14 = type_nullable__nit__AClassdef.id; +cltype12 = type_nullable__nit__AClassdef.color; +idtype13 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode6 == NULL) { -var12 = 1; +var11 = 1; } else { -if(cltype13 >= var_pclassdefnode6->type->table_size) { -var12 = 0; +if(cltype12 >= (((long)var_pclassdefnode6&3)?type_info[((long)var_pclassdefnode6&3)]:var_pclassdefnode6->type)->table_size) { +var11 = 0; } else { -var12 = var_pclassdefnode6->type->type_table[cltype13] == idtype14; +var11 = (((long)var_pclassdefnode6&3)?type_info[((long)var_pclassdefnode6&3)]:var_pclassdefnode6->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var12)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1129); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1229); +fatal_exit(1); } -var15 = NULL; if (var_pclassdefnode6 == NULL) { -var16 = 0; /* is null */ +var14 = 0; /* is null */ } else { -var16 = 1; /* arg is null and recv is not */ +var14 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode6,var15) on */ -var_other = var15; +{ /* Inline kernel#Object#!= (var_pclassdefnode6,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var19 = ((short int (*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other) /* == on */; +var17 = ((short int(*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other); /* == on */ } -var20 = !var19; -var17 = var20; -goto RET_LABEL18; -RET_LABEL18:(void)0; +var18 = !var17; +var15 = var18; +goto RET_LABEL16; +RET_LABEL16:(void)0; } -var16 = var17; +var14 = var15; } -if (var16){ +if (var14){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode7, var_pclassdefnode6); /* Direct call array#Array#add on */ } } else { } -var21 = NEW_nit__AModule(&type_nit__AModule); +var19 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var21, var_pmoduledeclnode2, var_listnode4, var_listnode5, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var19, var_pmoduledeclnode2, var_listnode4, var_listnode5, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var21; +var_pmodulenode1 = var19; var_node_list = var_pmodulenode1; -var22 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var23 = nit___nit__Parser___go_to(var_p, var22); +var21 = nit___nit__Parser___go_to(var_p, var20); } { -nit___nit__Parser___push(var_p, var23, 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#ReduceAction4#action for (self: ReduceAction4, Parser) */ void nit__parser___nit__parser__ReduceAction4___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* var3 /* : Array[Object] */; +val* var2 /* : Array[Object] */; val* var_listnode3 /* var listnode3: Array[Object] */; -val* var4 /* : Array[Object] */; +val* var3 /* : Array[Object] */; val* var_listnode5 /* var listnode5: Array[Object] */; -val* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; val* var_listnode4 /* var listnode4: nullable Object */; -short int var6 /* : Bool */; +short int var5 /* : Bool */; int cltype; int idtype; -val* var7 /* : Array[Object] */; +val* var6 /* : Array[Object] */; val* var_pclassdefnode6 /* var pclassdefnode6: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var11 /* : null */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +short int var10 /* : Bool */; +short int var11 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -val* var17 /* : AModule */; -val* var18 /* : null */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +val* var15 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var19 /* : Int */; -long var20 /* : Int */; +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_nodearraylist2 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var2 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var2; +var_listnode3 = var2; var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_listnode3 = var3; +var_listnode5 = var3; var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_listnode5 = var4; -var5 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ -} -var_listnode7 = var5; +var_listnode7 = var4; var_listnode4 = var_nodearraylist1; /* isa Array[Object] */ cltype = type_standard__Array__standard__Object.color; idtype = type_standard__Array__standard__Object.id; if(var_listnode4 == NULL) { -var6 = 0; +var5 = 0; } else { -if(cltype >= var_listnode4->type->table_size) { -var6 = 0; +if(cltype >= (((long)var_listnode4&3)?type_info[((long)var_listnode4&3)]:var_listnode4->type)->table_size) { +var5 = 0; } else { -var6 = var_listnode4->type->type_table[cltype] == idtype; +var5 = (((long)var_listnode4&3)?type_info[((long)var_listnode4&3)]:var_listnode4->type)->type_table[cltype] == idtype; } } -if (unlikely(!var6)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1154); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1254); +fatal_exit(1); } { -var7 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4); +var6 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4); } -var_listnode5 = var7; +var_listnode5 = var6; var_pclassdefnode6 = var_nodearraylist2; /* isa nullable AClassdef */ -cltype9 = type_nullable__nit__AClassdef.color; -idtype10 = type_nullable__nit__AClassdef.id; +cltype8 = type_nullable__nit__AClassdef.color; +idtype9 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode6 == NULL) { -var8 = 1; +var7 = 1; } else { -if(cltype9 >= var_pclassdefnode6->type->table_size) { -var8 = 0; +if(cltype8 >= (((long)var_pclassdefnode6&3)?type_info[((long)var_pclassdefnode6&3)]:var_pclassdefnode6->type)->table_size) { +var7 = 0; } else { -var8 = var_pclassdefnode6->type->type_table[cltype9] == idtype10; +var7 = (((long)var_pclassdefnode6&3)?type_info[((long)var_pclassdefnode6&3)]:var_pclassdefnode6->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var8)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1157); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1257); +fatal_exit(1); } -var11 = NULL; if (var_pclassdefnode6 == NULL) { -var12 = 0; /* is null */ +var10 = 0; /* is null */ } else { -var12 = 1; /* arg is null and recv is not */ +var10 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode6,var11) on */ -var_other = var11; +{ /* Inline kernel#Object#!= (var_pclassdefnode6,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var15 = ((short int (*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other) /* == on */; +var13 = ((short int(*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other); /* == on */ } -var16 = !var15; -var13 = var16; -goto RET_LABEL14; -RET_LABEL14:(void)0; +var14 = !var13; +var11 = var14; +goto RET_LABEL12; +RET_LABEL12:(void)0; } -var12 = var13; +var10 = var11; } -if (var12){ +if (var10){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode7, var_pclassdefnode6); /* Direct call array#Array#add on */ } } else { } -var17 = NEW_nit__AModule(&type_nit__AModule); -var18 = NULL; +var15 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var17, var18, var_listnode3, var_listnode5, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var15, ((val*)NULL), var_listnode3, var_listnode5, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var17; +var_pmodulenode1 = var15; var_node_list = var_pmodulenode1; -var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var20 = nit___nit__Parser___go_to(var_p, var19); +var17 = nit___nit__Parser___go_to(var_p, var16); } { -nit___nit__Parser___push(var_p, var20, 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#ReduceAction5#action for (self: ReduceAction5, Parser) */ void nit__parser___nit__parser__ReduceAction5___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var4 /* : Array[Object] */; +val* var3 /* : Array[Object] */; val* var_listnode3 /* var listnode3: Array[Object] */; -val* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode5 /* var listnode5: Array[Object] */; -val* var6 /* : Array[Object] */; +val* var5 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */; -short int var7 /* : Bool */; +short int var6 /* : Bool */; int cltype; int idtype; val* var_listnode4 /* var listnode4: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var11 /* : Array[Object] */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var10 /* : Array[Object] */; val* var_pclassdefnode6 /* var pclassdefnode6: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var15 /* : null */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +short int var14 /* : Bool */; +short int var15 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var19 /* : Bool */; -short int var20 /* : Bool */; -val* var21 /* : AModule */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; +val* var19 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var22 /* : Int */; -long var23 /* : 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_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist2 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist1 = var2; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var3 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var3; +var_listnode3 = var3; var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_listnode3 = var4; +var_listnode5 = var4; 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_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ -} -var_listnode7 = var6; +var_listnode7 = var5; var_pmoduledeclnode2 = var_nodearraylist1; /* isa nullable AModuledecl */ cltype = type_nullable__nit__AModuledecl.color; idtype = type_nullable__nit__AModuledecl.id; if(var_pmoduledeclnode2 == NULL) { -var7 = 1; +var6 = 1; } else { -if(cltype >= var_pmoduledeclnode2->type->table_size) { -var7 = 0; +if(cltype >= (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->table_size) { +var6 = 0; } else { -var7 = var_pmoduledeclnode2->type->type_table[cltype] == idtype; +var6 = (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var7)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1183); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1283); +fatal_exit(1); } var_listnode4 = var_nodearraylist2; /* isa Array[Object] */ -cltype9 = type_standard__Array__standard__Object.color; -idtype10 = type_standard__Array__standard__Object.id; +cltype8 = type_standard__Array__standard__Object.color; +idtype9 = type_standard__Array__standard__Object.id; if(var_listnode4 == NULL) { -var8 = 0; +var7 = 0; } else { -if(cltype9 >= var_listnode4->type->table_size) { -var8 = 0; +if(cltype8 >= (((long)var_listnode4&3)?type_info[((long)var_listnode4&3)]:var_listnode4->type)->table_size) { +var7 = 0; } else { -var8 = var_listnode4->type->type_table[cltype9] == idtype10; +var7 = (((long)var_listnode4&3)?type_info[((long)var_listnode4&3)]:var_listnode4->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var8)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1185); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1285); +fatal_exit(1); } { -var11 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4); +var10 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4); } -var_listnode5 = var11; +var_listnode5 = var10; var_pclassdefnode6 = var_nodearraylist3; /* isa nullable AClassdef */ -cltype13 = type_nullable__nit__AClassdef.color; -idtype14 = type_nullable__nit__AClassdef.id; +cltype12 = type_nullable__nit__AClassdef.color; +idtype13 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode6 == NULL) { -var12 = 1; +var11 = 1; } else { -if(cltype13 >= var_pclassdefnode6->type->table_size) { -var12 = 0; +if(cltype12 >= (((long)var_pclassdefnode6&3)?type_info[((long)var_pclassdefnode6&3)]:var_pclassdefnode6->type)->table_size) { +var11 = 0; } else { -var12 = var_pclassdefnode6->type->type_table[cltype13] == idtype14; +var11 = (((long)var_pclassdefnode6&3)?type_info[((long)var_pclassdefnode6&3)]:var_pclassdefnode6->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var12)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1188); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1288); +fatal_exit(1); } -var15 = NULL; if (var_pclassdefnode6 == NULL) { -var16 = 0; /* is null */ +var14 = 0; /* is null */ } else { -var16 = 1; /* arg is null and recv is not */ +var14 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode6,var15) on */ -var_other = var15; +{ /* Inline kernel#Object#!= (var_pclassdefnode6,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var19 = ((short int (*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other) /* == on */; +var17 = ((short int(*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other); /* == on */ } -var20 = !var19; -var17 = var20; -goto RET_LABEL18; -RET_LABEL18:(void)0; +var18 = !var17; +var15 = var18; +goto RET_LABEL16; +RET_LABEL16:(void)0; } -var16 = var17; +var14 = var15; } -if (var16){ +if (var14){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode7, var_pclassdefnode6); /* Direct call array#Array#add on */ } } else { } -var21 = NEW_nit__AModule(&type_nit__AModule); +var19 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var21, var_pmoduledeclnode2, var_listnode3, var_listnode5, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var19, var_pmoduledeclnode2, var_listnode3, var_listnode5, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var21; +var_pmodulenode1 = var19; var_node_list = var_pmodulenode1; -var22 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var23 = nit___nit__Parser___go_to(var_p, var22); +var21 = nit___nit__Parser___go_to(var_p, var20); } { -nit___nit__Parser___push(var_p, var23, 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#ReduceAction6#action for (self: ReduceAction6, Parser) */ void nit__parser___nit__parser__ReduceAction6___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var4 /* : Array[Object] */; +val* var3 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode6 /* var listnode6: Array[Object] */; -val* var6 /* : Array[Object] */; +val* var5 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; val* var_listnode3 /* var listnode3: nullable Object */; -short int var7 /* : Bool */; +short int var6 /* : Bool */; int cltype; int idtype; -val* var8 /* : Array[Object] */; +val* var7 /* : Array[Object] */; val* var_listnode5 /* var listnode5: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : Array[Object] */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : Array[Object] */; val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +short int var15 /* : Bool */; +short int var16 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -val* var22 /* : AModule */; -val* var23 /* : null */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; +val* var20 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var24 /* : Int */; -long var25 /* : Int */; +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_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist2 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist1 = var2; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var3 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var3; +var_listnode4 = var3; var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_listnode4 = var4; +var_listnode6 = var4; var5 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ } -var_listnode6 = var5; -var6 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ -} -var_listnode8 = var6; +var_listnode8 = var5; var_listnode3 = var_nodearraylist1; /* isa Array[Object] */ cltype = type_standard__Array__standard__Object.color; idtype = type_standard__Array__standard__Object.id; if(var_listnode3 == NULL) { -var7 = 0; +var6 = 0; } else { -if(cltype >= var_listnode3->type->table_size) { -var7 = 0; +if(cltype >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { +var6 = 0; } else { -var7 = var_listnode3->type->type_table[cltype] == idtype; +var6 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype] == idtype; } } -if (unlikely(!var7)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1214); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1314); +fatal_exit(1); } { -var8 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +var7 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } -var_listnode4 = var8; +var_listnode4 = var7; var_listnode5 = var_nodearraylist2; /* isa Array[Object] */ -cltype10 = type_standard__Array__standard__Object.color; -idtype11 = type_standard__Array__standard__Object.id; +cltype9 = type_standard__Array__standard__Object.color; +idtype10 = type_standard__Array__standard__Object.id; if(var_listnode5 == NULL) { -var9 = 0; +var8 = 0; } else { -if(cltype10 >= var_listnode5->type->table_size) { -var9 = 0; +if(cltype9 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) { +var8 = 0; } else { -var9 = var_listnode5->type->type_table[cltype10] == idtype11; +var8 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->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, 1217); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1317); +fatal_exit(1); } { -var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); +var11 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); } -var_listnode6 = var12; +var_listnode6 = var11; var_pclassdefnode7 = var_nodearraylist3; /* isa nullable AClassdef */ -cltype14 = type_nullable__nit__AClassdef.color; -idtype15 = type_nullable__nit__AClassdef.id; +cltype13 = type_nullable__nit__AClassdef.color; +idtype14 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode7 == NULL) { -var13 = 1; +var12 = 1; } else { -if(cltype14 >= var_pclassdefnode7->type->table_size) { -var13 = 0; +if(cltype13 >= (((long)var_pclassdefnode7&3)?type_info[((long)var_pclassdefnode7&3)]:var_pclassdefnode7->type)->table_size) { +var12 = 0; } else { -var13 = var_pclassdefnode7->type->type_table[cltype14] == idtype15; +var12 = (((long)var_pclassdefnode7&3)?type_info[((long)var_pclassdefnode7&3)]:var_pclassdefnode7->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, 1220); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1320); +fatal_exit(1); } -var16 = NULL; if (var_pclassdefnode7 == NULL) { -var17 = 0; /* is null */ +var15 = 0; /* is null */ } else { -var17 = 1; /* arg is null and recv is not */ +var15 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode7,var16) on */ -var_other = var16; +{ /* Inline kernel#Object#!= (var_pclassdefnode7,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var20 = ((short int (*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on */; +var18 = ((short int(*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other); /* == on */ } -var21 = !var20; -var18 = var21; -goto RET_LABEL19; -RET_LABEL19:(void)0; +var19 = !var18; +var16 = var19; +goto RET_LABEL17; +RET_LABEL17:(void)0; } -var17 = var18; +var15 = var16; } -if (var17){ +if (var15){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on */ } } else { } -var22 = NEW_nit__AModule(&type_nit__AModule); -var23 = NULL; +var20 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var22, var23, var_listnode4, var_listnode6, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var20, ((val*)NULL), var_listnode4, var_listnode6, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var22; +var_pmodulenode1 = var20; var_node_list = var_pmodulenode1; -var24 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var21 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var25 = nit___nit__Parser___go_to(var_p, var24); +var22 = nit___nit__Parser___go_to(var_p, var21); } { -nit___nit__Parser___push(var_p, var25, 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#ReduceAction7#action for (self: ReduceAction7, Parser) */ void nit__parser___nit__parser__ReduceAction7___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* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var6 /* : Array[Object] */; +val* var5 /* : Array[Object] */; val* var_listnode6 /* var listnode6: Array[Object] */; -val* var7 /* : Array[Object] */; +val* var6 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */; -short int var8 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; val* var_listnode3 /* var listnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : Array[Object] */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : Array[Object] */; val* var_listnode5 /* var listnode5: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var16 /* : Array[Object] */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var15 /* : Array[Object] */; val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var20 /* : null */; -short int var21 /* : Bool */; -short int var22 /* : Bool */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +short int var19 /* : Bool */; +short int var20 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -val* var26 /* : AModule */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +val* var24 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var27 /* : Int */; -long var28 /* : Int */; +long var25 /* : Int */; +long var26 /* : 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; +var_nodearraylist1 = var3; +var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var4 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var4; +var_listnode4 = var4; var5 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ } -var_listnode4 = var5; +var_listnode6 = var5; var6 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ } -var_listnode6 = var6; -var7 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on */ -} -var_listnode8 = var7; +var_listnode8 = var6; var_pmoduledeclnode2 = var_nodearraylist1; /* isa nullable AModuledecl */ cltype = type_nullable__nit__AModuledecl.color; idtype = type_nullable__nit__AModuledecl.id; if(var_pmoduledeclnode2 == NULL) { -var8 = 1; +var7 = 1; } else { -if(cltype >= var_pmoduledeclnode2->type->table_size) { -var8 = 0; +if(cltype >= (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->table_size) { +var7 = 0; } else { -var8 = var_pmoduledeclnode2->type->type_table[cltype] == idtype; +var7 = (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var8)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1247); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1347); +fatal_exit(1); } var_listnode3 = var_nodearraylist2; /* isa Array[Object] */ -cltype10 = type_standard__Array__standard__Object.color; -idtype11 = type_standard__Array__standard__Object.id; +cltype9 = type_standard__Array__standard__Object.color; +idtype10 = type_standard__Array__standard__Object.id; if(var_listnode3 == NULL) { -var9 = 0; +var8 = 0; } else { -if(cltype10 >= var_listnode3->type->table_size) { -var9 = 0; +if(cltype9 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { +var8 = 0; } else { -var9 = var_listnode3->type->type_table[cltype10] == idtype11; +var8 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->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, 1249); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1349); +fatal_exit(1); } { -var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +var11 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } -var_listnode4 = var12; +var_listnode4 = var11; var_listnode5 = var_nodearraylist3; /* isa Array[Object] */ -cltype14 = type_standard__Array__standard__Object.color; -idtype15 = type_standard__Array__standard__Object.id; +cltype13 = type_standard__Array__standard__Object.color; +idtype14 = type_standard__Array__standard__Object.id; if(var_listnode5 == NULL) { -var13 = 0; +var12 = 0; } else { -if(cltype14 >= var_listnode5->type->table_size) { -var13 = 0; +if(cltype13 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) { +var12 = 0; } else { -var13 = var_listnode5->type->type_table[cltype14] == idtype15; +var12 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype13] == idtype14; } } -if (unlikely(!var13)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1252); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1352); +fatal_exit(1); } { -var16 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); +var15 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); } -var_listnode6 = var16; +var_listnode6 = var15; var_pclassdefnode7 = var_nodearraylist4; /* isa nullable AClassdef */ -cltype18 = type_nullable__nit__AClassdef.color; -idtype19 = type_nullable__nit__AClassdef.id; +cltype17 = type_nullable__nit__AClassdef.color; +idtype18 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode7 == NULL) { -var17 = 1; +var16 = 1; } else { -if(cltype18 >= var_pclassdefnode7->type->table_size) { -var17 = 0; +if(cltype17 >= (((long)var_pclassdefnode7&3)?type_info[((long)var_pclassdefnode7&3)]:var_pclassdefnode7->type)->table_size) { +var16 = 0; } else { -var17 = var_pclassdefnode7->type->type_table[cltype18] == idtype19; +var16 = (((long)var_pclassdefnode7&3)?type_info[((long)var_pclassdefnode7&3)]:var_pclassdefnode7->type)->type_table[cltype17] == idtype18; } } -if (unlikely(!var17)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1255); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1355); +fatal_exit(1); } -var20 = NULL; if (var_pclassdefnode7 == NULL) { -var21 = 0; /* is null */ +var19 = 0; /* is null */ } else { -var21 = 1; /* arg is null and recv is not */ +var19 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode7,var20) on */ -var_other = var20; +{ /* Inline kernel#Object#!= (var_pclassdefnode7,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var24 = ((short int (*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on */; +var22 = ((short int(*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other); /* == on */ } -var25 = !var24; -var22 = var25; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var23 = !var22; +var20 = var23; +goto RET_LABEL21; +RET_LABEL21:(void)0; } -var21 = var22; +var19 = var20; } -if (var21){ +if (var19){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on */ } } else { } -var26 = NEW_nit__AModule(&type_nit__AModule); +var24 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var26, var_pmoduledeclnode2, var_listnode4, var_listnode6, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var24, var_pmoduledeclnode2, var_listnode4, var_listnode6, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var26; +var_pmodulenode1 = var24; var_node_list = var_pmodulenode1; -var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var25 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var28 = nit___nit__Parser___go_to(var_p, var27); +var26 = nit___nit__Parser___go_to(var_p, var25); } { -nit___nit__Parser___push(var_p, var28, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var26, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction8#action for (self: ReduceAction8, Parser) */ void nit__parser___nit__parser__ReduceAction8___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* var3 /* : Array[Object] */; +val* var2 /* : Array[Object] */; val* var_listnode3 /* var listnode3: Array[Object] */; -val* var4 /* : Array[Object] */; +val* var3 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; val* var_listnode5 /* var listnode5: nullable Object */; -short int var6 /* : Bool */; +short int var5 /* : Bool */; int cltype; int idtype; val* var_pclassdefnode6 /* var pclassdefnode6: nullable Object */; -short int var7 /* : Bool */; -int cltype8; -int idtype9; -val* var10 /* : Array[Object] */; -val* var11 /* : null */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; +short int var6 /* : Bool */; +int cltype7; +int idtype8; +val* var9 /* : Array[Object] */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -val* var17 /* : AModule */; -val* var18 /* : null */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +val* var15 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var19 /* : Int */; -long var20 /* : Int */; +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_nodearraylist2 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var2 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var2; +var_listnode3 = var2; var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_listnode3 = var3; +var_listnode4 = var3; var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_listnode4 = var4; -var5 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ -} -var_listnode7 = var5; +var_listnode7 = var4; var_listnode5 = var_nodearraylist1; /* isa Array[Object] */ cltype = type_standard__Array__standard__Object.color; idtype = type_standard__Array__standard__Object.id; if(var_listnode5 == NULL) { -var6 = 0; +var5 = 0; } else { -if(cltype >= var_listnode5->type->table_size) { -var6 = 0; +if(cltype >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) { +var5 = 0; } else { -var6 = var_listnode5->type->type_table[cltype] == idtype; +var5 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype] == idtype; } } -if (unlikely(!var6)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1280); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1380); +fatal_exit(1); } var_pclassdefnode6 = var_nodearraylist2; /* isa nullable AClassdef */ -cltype8 = type_nullable__nit__AClassdef.color; -idtype9 = type_nullable__nit__AClassdef.id; +cltype7 = type_nullable__nit__AClassdef.color; +idtype8 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode6 == NULL) { -var7 = 1; +var6 = 1; } else { -if(cltype8 >= var_pclassdefnode6->type->table_size) { -var7 = 0; +if(cltype7 >= (((long)var_pclassdefnode6&3)?type_info[((long)var_pclassdefnode6&3)]:var_pclassdefnode6->type)->table_size) { +var6 = 0; } else { -var7 = var_pclassdefnode6->type->type_table[cltype8] == idtype9; +var6 = (((long)var_pclassdefnode6&3)?type_info[((long)var_pclassdefnode6&3)]:var_pclassdefnode6->type)->type_table[cltype7] == idtype8; } } -if (unlikely(!var7)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1282); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1382); +fatal_exit(1); } { -var10 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode7, var_listnode5); +var9 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode7, var_listnode5); } -var_listnode7 = var10; -var11 = NULL; +var_listnode7 = var9; if (var_pclassdefnode6 == NULL) { -var12 = 0; /* is null */ +var10 = 0; /* is null */ } else { -var12 = 1; /* arg is null and recv is not */ +var10 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode6,var11) on */ -var_other = var11; +{ /* Inline kernel#Object#!= (var_pclassdefnode6,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var15 = ((short int (*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other) /* == on */; +var13 = ((short int(*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other); /* == on */ } -var16 = !var15; -var13 = var16; -goto RET_LABEL14; -RET_LABEL14:(void)0; +var14 = !var13; +var11 = var14; +goto RET_LABEL12; +RET_LABEL12:(void)0; } -var12 = var13; +var10 = var11; } -if (var12){ +if (var10){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode7, var_pclassdefnode6); /* Direct call array#Array#add on */ } } else { } -var17 = NEW_nit__AModule(&type_nit__AModule); -var18 = NULL; +var15 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var17, var18, var_listnode3, var_listnode4, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var15, ((val*)NULL), var_listnode3, var_listnode4, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var17; +var_pmodulenode1 = var15; var_node_list = var_pmodulenode1; -var19 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var20 = nit___nit__Parser___go_to(var_p, var19); +var17 = nit___nit__Parser___go_to(var_p, var16); } { -nit___nit__Parser___push(var_p, var20, 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#ReduceAction9#action for (self: ReduceAction9, Parser) */ void nit__parser___nit__parser__ReduceAction9___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var4 /* : Array[Object] */; +val* var3 /* : Array[Object] */; val* var_listnode3 /* var listnode3: Array[Object] */; -val* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var6 /* : Array[Object] */; +val* var5 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */; -short int var7 /* : Bool */; +short int var6 /* : Bool */; int cltype; int idtype; val* var_listnode5 /* var listnode5: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; +short int var7 /* : Bool */; +int cltype8; +int idtype9; val* var_pclassdefnode6 /* var pclassdefnode6: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var14 /* : Array[Object] */; -val* var15 /* : null */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var13 /* : Array[Object] */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var19 /* : Bool */; -short int var20 /* : Bool */; -val* var21 /* : AModule */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; +val* var19 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var22 /* : Int */; -long var23 /* : 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_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist2 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist1 = var2; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var3 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var3; +var_listnode3 = var3; var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_listnode3 = var4; +var_listnode4 = var4; var5 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ } -var_listnode4 = var5; -var6 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ -} -var_listnode7 = var6; +var_listnode7 = var5; var_pmoduledeclnode2 = var_nodearraylist1; /* isa nullable AModuledecl */ cltype = type_nullable__nit__AModuledecl.color; idtype = type_nullable__nit__AModuledecl.id; if(var_pmoduledeclnode2 == NULL) { -var7 = 1; +var6 = 1; } else { -if(cltype >= var_pmoduledeclnode2->type->table_size) { -var7 = 0; +if(cltype >= (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->table_size) { +var6 = 0; } else { -var7 = var_pmoduledeclnode2->type->type_table[cltype] == idtype; +var6 = (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var7)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1309); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1409); +fatal_exit(1); } var_listnode5 = var_nodearraylist2; /* isa Array[Object] */ -cltype9 = type_standard__Array__standard__Object.color; -idtype10 = type_standard__Array__standard__Object.id; +cltype8 = type_standard__Array__standard__Object.color; +idtype9 = type_standard__Array__standard__Object.id; if(var_listnode5 == NULL) { -var8 = 0; +var7 = 0; } else { -if(cltype9 >= var_listnode5->type->table_size) { -var8 = 0; +if(cltype8 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) { +var7 = 0; } else { -var8 = var_listnode5->type->type_table[cltype9] == idtype10; +var7 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype8] == idtype9; } } -if (unlikely(!var8)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1311); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1411); +fatal_exit(1); } var_pclassdefnode6 = var_nodearraylist3; /* isa nullable AClassdef */ -cltype12 = type_nullable__nit__AClassdef.color; -idtype13 = type_nullable__nit__AClassdef.id; +cltype11 = type_nullable__nit__AClassdef.color; +idtype12 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode6 == NULL) { -var11 = 1; +var10 = 1; } else { -if(cltype12 >= var_pclassdefnode6->type->table_size) { -var11 = 0; +if(cltype11 >= (((long)var_pclassdefnode6&3)?type_info[((long)var_pclassdefnode6&3)]:var_pclassdefnode6->type)->table_size) { +var10 = 0; } else { -var11 = var_pclassdefnode6->type->type_table[cltype12] == idtype13; +var10 = (((long)var_pclassdefnode6&3)?type_info[((long)var_pclassdefnode6&3)]:var_pclassdefnode6->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, 1313); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1413); +fatal_exit(1); } { -var14 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode7, var_listnode5); +var13 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode7, var_listnode5); } -var_listnode7 = var14; -var15 = NULL; +var_listnode7 = var13; if (var_pclassdefnode6 == NULL) { -var16 = 0; /* is null */ +var14 = 0; /* is null */ } else { -var16 = 1; /* arg is null and recv is not */ +var14 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode6,var15) on */ -var_other = var15; +{ /* Inline kernel#Object#!= (var_pclassdefnode6,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var19 = ((short int (*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other) /* == on */; +var17 = ((short int(*)(val* self, val* p0))(var_pclassdefnode6->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode6, var_other); /* == on */ } -var20 = !var19; -var17 = var20; -goto RET_LABEL18; -RET_LABEL18:(void)0; +var18 = !var17; +var15 = var18; +goto RET_LABEL16; +RET_LABEL16:(void)0; } -var16 = var17; +var14 = var15; } -if (var16){ +if (var14){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode7, var_pclassdefnode6); /* Direct call array#Array#add on */ } } else { } -var21 = NEW_nit__AModule(&type_nit__AModule); +var19 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var21, var_pmoduledeclnode2, var_listnode3, var_listnode4, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var19, var_pmoduledeclnode2, var_listnode3, var_listnode4, var_listnode7); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var21; +var_pmodulenode1 = var19; var_node_list = var_pmodulenode1; -var22 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var23 = nit___nit__Parser___go_to(var_p, var22); +var21 = nit___nit__Parser___go_to(var_p, var20); } { -nit___nit__Parser___push(var_p, var23, 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#ReduceAction10#action for (self: ReduceAction10, Parser) */ void nit__parser___nit__parser__ReduceAction10___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var4 /* : Array[Object] */; +val* var3 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode5 /* var listnode5: Array[Object] */; -val* var6 /* : Array[Object] */; +val* var5 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; val* var_listnode3 /* var listnode3: nullable Object */; -short int var7 /* : Bool */; +short int var6 /* : Bool */; int cltype; int idtype; -val* var8 /* : Array[Object] */; +val* var7 /* : Array[Object] */; val* var_listnode6 /* var listnode6: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; +short int var8 /* : Bool */; +int cltype9; +int idtype10; val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var15 /* : Array[Object] */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var14 /* : Array[Object] */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -val* var22 /* : AModule */; -val* var23 /* : null */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; +val* var20 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var24 /* : Int */; -long var25 /* : Int */; +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_nodearraylist3 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist2 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist1 = var2; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var3 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var3; +var_listnode4 = var3; var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_listnode4 = var4; +var_listnode5 = var4; 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_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ -} -var_listnode8 = var6; +var_listnode8 = var5; var_listnode3 = var_nodearraylist1; /* isa Array[Object] */ cltype = type_standard__Array__standard__Object.color; idtype = type_standard__Array__standard__Object.id; if(var_listnode3 == NULL) { -var7 = 0; +var6 = 0; } else { -if(cltype >= var_listnode3->type->table_size) { -var7 = 0; +if(cltype >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { +var6 = 0; } else { -var7 = var_listnode3->type->type_table[cltype] == idtype; +var6 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype] == idtype; } } -if (unlikely(!var7)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1340); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1440); +fatal_exit(1); } { -var8 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +var7 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } -var_listnode4 = var8; +var_listnode4 = var7; var_listnode6 = var_nodearraylist2; /* isa Array[Object] */ -cltype10 = type_standard__Array__standard__Object.color; -idtype11 = type_standard__Array__standard__Object.id; +cltype9 = type_standard__Array__standard__Object.color; +idtype10 = type_standard__Array__standard__Object.id; if(var_listnode6 == NULL) { -var9 = 0; +var8 = 0; } else { -if(cltype10 >= var_listnode6->type->table_size) { -var9 = 0; +if(cltype9 >= (((long)var_listnode6&3)?type_info[((long)var_listnode6&3)]:var_listnode6->type)->table_size) { +var8 = 0; } else { -var9 = var_listnode6->type->type_table[cltype10] == idtype11; +var8 = (((long)var_listnode6&3)?type_info[((long)var_listnode6&3)]:var_listnode6->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, 1343); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1443); +fatal_exit(1); } var_pclassdefnode7 = var_nodearraylist3; /* isa nullable AClassdef */ -cltype13 = type_nullable__nit__AClassdef.color; -idtype14 = type_nullable__nit__AClassdef.id; +cltype12 = type_nullable__nit__AClassdef.color; +idtype13 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode7 == NULL) { -var12 = 1; +var11 = 1; } else { -if(cltype13 >= var_pclassdefnode7->type->table_size) { -var12 = 0; +if(cltype12 >= (((long)var_pclassdefnode7&3)?type_info[((long)var_pclassdefnode7&3)]:var_pclassdefnode7->type)->table_size) { +var11 = 0; } else { -var12 = var_pclassdefnode7->type->type_table[cltype13] == idtype14; +var11 = (((long)var_pclassdefnode7&3)?type_info[((long)var_pclassdefnode7&3)]:var_pclassdefnode7->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var12)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1345); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1445); +fatal_exit(1); } { -var15 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode6); +var14 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode6); } -var_listnode8 = var15; -var16 = NULL; +var_listnode8 = var14; if (var_pclassdefnode7 == NULL) { -var17 = 0; /* is null */ +var15 = 0; /* is null */ } else { -var17 = 1; /* arg is null and recv is not */ +var15 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode7,var16) on */ -var_other = var16; +{ /* Inline kernel#Object#!= (var_pclassdefnode7,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var20 = ((short int (*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on */; +var18 = ((short int(*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other); /* == on */ } -var21 = !var20; -var18 = var21; -goto RET_LABEL19; -RET_LABEL19:(void)0; +var19 = !var18; +var16 = var19; +goto RET_LABEL17; +RET_LABEL17:(void)0; } -var17 = var18; +var15 = var16; } -if (var17){ +if (var15){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on */ } } else { } -var22 = NEW_nit__AModule(&type_nit__AModule); -var23 = NULL; +var20 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var22, var23, var_listnode4, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var20, ((val*)NULL), var_listnode4, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var22; +var_pmodulenode1 = var20; var_node_list = var_pmodulenode1; -var24 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var21 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var25 = nit___nit__Parser___go_to(var_p, var24); +var22 = nit___nit__Parser___go_to(var_p, var21); } { -nit___nit__Parser___push(var_p, var25, 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#ReduceAction11#action for (self: ReduceAction11, Parser) */ void nit__parser___nit__parser__ReduceAction11___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* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var6 /* : Array[Object] */; +val* var5 /* : Array[Object] */; val* var_listnode5 /* var listnode5: Array[Object] */; -val* var7 /* : Array[Object] */; +val* var6 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */; -short int var8 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; val* var_listnode3 /* var listnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : Array[Object] */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : Array[Object] */; val* var_listnode6 /* var listnode6: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var12 /* : Bool */; +int cltype13; +int idtype14; val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : Array[Object] */; -val* var20 /* : null */; -short int var21 /* : Bool */; -short int var22 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var18 /* : Array[Object] */; +short int var19 /* : Bool */; +short int var20 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -val* var26 /* : AModule */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +val* var24 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var27 /* : Int */; -long var28 /* : Int */; +long var25 /* : Int */; +long var26 /* : 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; +var_nodearraylist1 = var3; +var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var4 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var4; +var_listnode4 = var4; var5 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ } -var_listnode4 = var5; +var_listnode5 = var5; 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_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on */ -} -var_listnode8 = var7; +var_listnode8 = var6; var_pmoduledeclnode2 = var_nodearraylist1; /* isa nullable AModuledecl */ cltype = type_nullable__nit__AModuledecl.color; idtype = type_nullable__nit__AModuledecl.id; if(var_pmoduledeclnode2 == NULL) { -var8 = 1; +var7 = 1; } else { -if(cltype >= var_pmoduledeclnode2->type->table_size) { -var8 = 0; +if(cltype >= (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->table_size) { +var7 = 0; } else { -var8 = var_pmoduledeclnode2->type->type_table[cltype] == idtype; +var7 = (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var8)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1373); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1473); +fatal_exit(1); } var_listnode3 = var_nodearraylist2; /* isa Array[Object] */ -cltype10 = type_standard__Array__standard__Object.color; -idtype11 = type_standard__Array__standard__Object.id; +cltype9 = type_standard__Array__standard__Object.color; +idtype10 = type_standard__Array__standard__Object.id; if(var_listnode3 == NULL) { -var9 = 0; +var8 = 0; } else { -if(cltype10 >= var_listnode3->type->table_size) { -var9 = 0; +if(cltype9 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { +var8 = 0; } else { -var9 = var_listnode3->type->type_table[cltype10] == idtype11; +var8 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->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, 1375); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1475); +fatal_exit(1); } { -var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +var11 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } -var_listnode4 = var12; +var_listnode4 = var11; var_listnode6 = var_nodearraylist3; /* isa Array[Object] */ -cltype14 = type_standard__Array__standard__Object.color; -idtype15 = type_standard__Array__standard__Object.id; +cltype13 = type_standard__Array__standard__Object.color; +idtype14 = type_standard__Array__standard__Object.id; if(var_listnode6 == NULL) { -var13 = 0; +var12 = 0; } else { -if(cltype14 >= var_listnode6->type->table_size) { -var13 = 0; +if(cltype13 >= (((long)var_listnode6&3)?type_info[((long)var_listnode6&3)]:var_listnode6->type)->table_size) { +var12 = 0; } else { -var13 = var_listnode6->type->type_table[cltype14] == idtype15; +var12 = (((long)var_listnode6&3)?type_info[((long)var_listnode6&3)]:var_listnode6->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, 1378); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1478); +fatal_exit(1); } var_pclassdefnode7 = var_nodearraylist4; /* isa nullable AClassdef */ -cltype17 = type_nullable__nit__AClassdef.color; -idtype18 = type_nullable__nit__AClassdef.id; +cltype16 = type_nullable__nit__AClassdef.color; +idtype17 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode7 == NULL) { -var16 = 1; +var15 = 1; } else { -if(cltype17 >= var_pclassdefnode7->type->table_size) { -var16 = 0; +if(cltype16 >= (((long)var_pclassdefnode7&3)?type_info[((long)var_pclassdefnode7&3)]:var_pclassdefnode7->type)->table_size) { +var15 = 0; } else { -var16 = var_pclassdefnode7->type->type_table[cltype17] == idtype18; +var15 = (((long)var_pclassdefnode7&3)?type_info[((long)var_pclassdefnode7&3)]:var_pclassdefnode7->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, 1380); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1480); +fatal_exit(1); } { -var19 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode6); +var18 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode6); } -var_listnode8 = var19; -var20 = NULL; +var_listnode8 = var18; if (var_pclassdefnode7 == NULL) { -var21 = 0; /* is null */ +var19 = 0; /* is null */ } else { -var21 = 1; /* arg is null and recv is not */ +var19 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode7,var20) on */ -var_other = var20; +{ /* Inline kernel#Object#!= (var_pclassdefnode7,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var24 = ((short int (*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on */; +var22 = ((short int(*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other); /* == on */ } -var25 = !var24; -var22 = var25; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var23 = !var22; +var20 = var23; +goto RET_LABEL21; +RET_LABEL21:(void)0; } -var21 = var22; +var19 = var20; } -if (var21){ +if (var19){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on */ } } else { } -var26 = NEW_nit__AModule(&type_nit__AModule); +var24 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var26, var_pmoduledeclnode2, var_listnode4, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var24, var_pmoduledeclnode2, var_listnode4, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var26; +var_pmodulenode1 = var24; var_node_list = var_pmodulenode1; -var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var25 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var28 = nit___nit__Parser___go_to(var_p, var27); +var26 = nit___nit__Parser___go_to(var_p, var25); } { -nit___nit__Parser___push(var_p, var28, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var26, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction12#action for (self: ReduceAction12, Parser) */ void nit__parser___nit__parser__ReduceAction12___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var4 /* : Array[Object] */; +val* var3 /* : Array[Object] */; val* var_listnode3 /* var listnode3: Array[Object] */; -val* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode5 /* var listnode5: Array[Object] */; -val* var6 /* : Array[Object] */; +val* var5 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; val* var_listnode4 /* var listnode4: nullable Object */; -short int var7 /* : Bool */; +short int var6 /* : Bool */; int cltype; int idtype; -val* var8 /* : Array[Object] */; +val* var7 /* : Array[Object] */; val* var_listnode6 /* var listnode6: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; +short int var8 /* : Bool */; +int cltype9; +int idtype10; val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var15 /* : Array[Object] */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var14 /* : Array[Object] */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -val* var22 /* : AModule */; -val* var23 /* : null */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; +val* var20 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var24 /* : Int */; -long var25 /* : Int */; +long var21 /* : Int */; +long var22 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist3 = var; { -var2 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist2 = var1; { -var3 = nit___nit__Parser___pop(var_p); +var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var3; +var_nodearraylist1 = var2; +var3 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ +} +var_listnode3 = var3; var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_listnode3 = var4; +var_listnode5 = var4; 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_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ -} -var_listnode8 = var6; +var_listnode8 = var5; var_listnode4 = var_nodearraylist1; /* isa Array[Object] */ cltype = type_standard__Array__standard__Object.color; idtype = type_standard__Array__standard__Object.id; if(var_listnode4 == NULL) { -var7 = 0; +var6 = 0; } else { -if(cltype >= var_listnode4->type->table_size) { -var7 = 0; +if(cltype >= (((long)var_listnode4&3)?type_info[((long)var_listnode4&3)]:var_listnode4->type)->table_size) { +var6 = 0; } else { -var7 = var_listnode4->type->type_table[cltype] == idtype; +var6 = (((long)var_listnode4&3)?type_info[((long)var_listnode4&3)]:var_listnode4->type)->type_table[cltype] == idtype; } } -if (unlikely(!var7)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1407); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1507); +fatal_exit(1); } { -var8 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4); +var7 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4); } -var_listnode5 = var8; +var_listnode5 = var7; var_listnode6 = var_nodearraylist2; /* isa Array[Object] */ -cltype10 = type_standard__Array__standard__Object.color; -idtype11 = type_standard__Array__standard__Object.id; +cltype9 = type_standard__Array__standard__Object.color; +idtype10 = type_standard__Array__standard__Object.id; if(var_listnode6 == NULL) { -var9 = 0; +var8 = 0; } else { -if(cltype10 >= var_listnode6->type->table_size) { -var9 = 0; +if(cltype9 >= (((long)var_listnode6&3)?type_info[((long)var_listnode6&3)]:var_listnode6->type)->table_size) { +var8 = 0; } else { -var9 = var_listnode6->type->type_table[cltype10] == idtype11; +var8 = (((long)var_listnode6&3)?type_info[((long)var_listnode6&3)]:var_listnode6->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, 1410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1510); +fatal_exit(1); } var_pclassdefnode7 = var_nodearraylist3; /* isa nullable AClassdef */ -cltype13 = type_nullable__nit__AClassdef.color; -idtype14 = type_nullable__nit__AClassdef.id; +cltype12 = type_nullable__nit__AClassdef.color; +idtype13 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode7 == NULL) { -var12 = 1; +var11 = 1; } else { -if(cltype13 >= var_pclassdefnode7->type->table_size) { -var12 = 0; +if(cltype12 >= (((long)var_pclassdefnode7&3)?type_info[((long)var_pclassdefnode7&3)]:var_pclassdefnode7->type)->table_size) { +var11 = 0; } else { -var12 = var_pclassdefnode7->type->type_table[cltype13] == idtype14; +var11 = (((long)var_pclassdefnode7&3)?type_info[((long)var_pclassdefnode7&3)]:var_pclassdefnode7->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var12)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1412); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1512); +fatal_exit(1); } { -var15 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode6); +var14 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode6); } -var_listnode8 = var15; -var16 = NULL; +var_listnode8 = var14; if (var_pclassdefnode7 == NULL) { -var17 = 0; /* is null */ +var15 = 0; /* is null */ } else { -var17 = 1; /* arg is null and recv is not */ +var15 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode7,var16) on */ -var_other = var16; +{ /* Inline kernel#Object#!= (var_pclassdefnode7,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var20 = ((short int (*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on */; +var18 = ((short int(*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other); /* == on */ } -var21 = !var20; -var18 = var21; -goto RET_LABEL19; -RET_LABEL19:(void)0; +var19 = !var18; +var16 = var19; +goto RET_LABEL17; +RET_LABEL17:(void)0; } -var17 = var18; +var15 = var16; } -if (var17){ +if (var15){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on */ } } else { } -var22 = NEW_nit__AModule(&type_nit__AModule); -var23 = NULL; +var20 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var22, var23, var_listnode3, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var20, ((val*)NULL), var_listnode3, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var22; +var_pmodulenode1 = var20; var_node_list = var_pmodulenode1; -var24 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var21 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var25 = nit___nit__Parser___go_to(var_p, var24); +var22 = nit___nit__Parser___go_to(var_p, var21); } { -nit___nit__Parser___push(var_p, var25, 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#ReduceAction13#action for (self: ReduceAction13, Parser) */ void nit__parser___nit__parser__ReduceAction13___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* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode3 /* var listnode3: Array[Object] */; -val* var6 /* : Array[Object] */; +val* var5 /* : Array[Object] */; val* var_listnode5 /* var listnode5: Array[Object] */; -val* var7 /* : Array[Object] */; +val* var6 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */; -short int var8 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; val* var_listnode4 /* var listnode4: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : Array[Object] */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : Array[Object] */; val* var_listnode6 /* var listnode6: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var12 /* : Bool */; +int cltype13; +int idtype14; val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : Array[Object] */; -val* var20 /* : null */; -short int var21 /* : Bool */; -short int var22 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var18 /* : Array[Object] */; +short int var19 /* : Bool */; +short int var20 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -val* var26 /* : AModule */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +val* var24 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var27 /* : Int */; -long var28 /* : Int */; +long var25 /* : Int */; +long var26 /* : 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; +var_nodearraylist1 = var3; +var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var4 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var4; +var_listnode3 = var4; var5 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ } -var_listnode3 = var5; +var_listnode5 = var5; 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_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on */ -} -var_listnode8 = var7; +var_listnode8 = var6; var_pmoduledeclnode2 = var_nodearraylist1; /* isa nullable AModuledecl */ cltype = type_nullable__nit__AModuledecl.color; idtype = type_nullable__nit__AModuledecl.id; if(var_pmoduledeclnode2 == NULL) { -var8 = 1; +var7 = 1; } else { -if(cltype >= var_pmoduledeclnode2->type->table_size) { -var8 = 0; +if(cltype >= (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->table_size) { +var7 = 0; } else { -var8 = var_pmoduledeclnode2->type->type_table[cltype] == idtype; +var7 = (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var8)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1440); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1540); +fatal_exit(1); } var_listnode4 = var_nodearraylist2; /* isa Array[Object] */ -cltype10 = type_standard__Array__standard__Object.color; -idtype11 = type_standard__Array__standard__Object.id; +cltype9 = type_standard__Array__standard__Object.color; +idtype10 = type_standard__Array__standard__Object.id; if(var_listnode4 == NULL) { -var9 = 0; +var8 = 0; } else { -if(cltype10 >= var_listnode4->type->table_size) { -var9 = 0; +if(cltype9 >= (((long)var_listnode4&3)?type_info[((long)var_listnode4&3)]:var_listnode4->type)->table_size) { +var8 = 0; } else { -var9 = var_listnode4->type->type_table[cltype10] == idtype11; +var8 = (((long)var_listnode4&3)?type_info[((long)var_listnode4&3)]:var_listnode4->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, 1442); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1542); +fatal_exit(1); } { -var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4); +var11 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4); } -var_listnode5 = var12; +var_listnode5 = var11; var_listnode6 = var_nodearraylist3; /* isa Array[Object] */ -cltype14 = type_standard__Array__standard__Object.color; -idtype15 = type_standard__Array__standard__Object.id; +cltype13 = type_standard__Array__standard__Object.color; +idtype14 = type_standard__Array__standard__Object.id; if(var_listnode6 == NULL) { -var13 = 0; +var12 = 0; } else { -if(cltype14 >= var_listnode6->type->table_size) { -var13 = 0; +if(cltype13 >= (((long)var_listnode6&3)?type_info[((long)var_listnode6&3)]:var_listnode6->type)->table_size) { +var12 = 0; } else { -var13 = var_listnode6->type->type_table[cltype14] == idtype15; +var12 = (((long)var_listnode6&3)?type_info[((long)var_listnode6&3)]:var_listnode6->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, 1445); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1545); +fatal_exit(1); } var_pclassdefnode7 = var_nodearraylist4; /* isa nullable AClassdef */ -cltype17 = type_nullable__nit__AClassdef.color; -idtype18 = type_nullable__nit__AClassdef.id; +cltype16 = type_nullable__nit__AClassdef.color; +idtype17 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode7 == NULL) { -var16 = 1; +var15 = 1; } else { -if(cltype17 >= var_pclassdefnode7->type->table_size) { -var16 = 0; +if(cltype16 >= (((long)var_pclassdefnode7&3)?type_info[((long)var_pclassdefnode7&3)]:var_pclassdefnode7->type)->table_size) { +var15 = 0; } else { -var16 = var_pclassdefnode7->type->type_table[cltype17] == idtype18; +var15 = (((long)var_pclassdefnode7&3)?type_info[((long)var_pclassdefnode7&3)]:var_pclassdefnode7->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, 1447); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1547); +fatal_exit(1); } { -var19 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode6); +var18 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode6); } -var_listnode8 = var19; -var20 = NULL; +var_listnode8 = var18; if (var_pclassdefnode7 == NULL) { -var21 = 0; /* is null */ +var19 = 0; /* is null */ } else { -var21 = 1; /* arg is null and recv is not */ +var19 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode7,var20) on */ -var_other = var20; +{ /* Inline kernel#Object#!= (var_pclassdefnode7,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var24 = ((short int (*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on */; +var22 = ((short int(*)(val* self, val* p0))(var_pclassdefnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode7, var_other); /* == on */ } -var25 = !var24; -var22 = var25; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var23 = !var22; +var20 = var23; +goto RET_LABEL21; +RET_LABEL21:(void)0; } -var21 = var22; +var19 = var20; } -if (var21){ +if (var19){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on */ } } else { } -var26 = NEW_nit__AModule(&type_nit__AModule); +var24 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var26, var_pmoduledeclnode2, var_listnode3, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var24, var_pmoduledeclnode2, var_listnode3, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var26; +var_pmodulenode1 = var24; var_node_list = var_pmodulenode1; -var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var25 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var28 = nit___nit__Parser___go_to(var_p, var27); +var26 = nit___nit__Parser___go_to(var_p, var25); } { -nit___nit__Parser___push(var_p, var28, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var26, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction14#action for (self: ReduceAction14, Parser) */ void nit__parser___nit__parser__ReduceAction14___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* var5 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var6 /* : Array[Object] */; +val* var5 /* : Array[Object] */; val* var_listnode6 /* var listnode6: Array[Object] */; -val* var7 /* : Array[Object] */; +val* var6 /* : Array[Object] */; val* var_listnode9 /* var listnode9: Array[Object] */; val* var_listnode3 /* var listnode3: nullable Object */; -short int var8 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; -val* var9 /* : Array[Object] */; +val* var8 /* : Array[Object] */; val* var_listnode5 /* var listnode5: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : Array[Object] */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var12 /* : Array[Object] */; val* var_listnode7 /* var listnode7: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var13 /* : Bool */; +int cltype14; +int idtype15; val* var_pclassdefnode8 /* var pclassdefnode8: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var20 /* : Array[Object] */; -val* var21 /* : null */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var19 /* : Array[Object] */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -val* var27 /* : AModule */; -val* var28 /* : null */; +short int var23 /* : Bool */; +short int var24 /* : Bool */; +val* var25 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var29 /* : Int */; -long var30 /* : Int */; +long var26 /* : Int */; +long var27 /* : 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; +var_nodearraylist1 = var3; +var4 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var4 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var4); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var4; +var_listnode4 = var4; var5 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ } -var_listnode4 = var5; +var_listnode6 = var5; var6 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ } -var_listnode6 = var6; -var7 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on */ -} -var_listnode9 = var7; +var_listnode9 = var6; var_listnode3 = var_nodearraylist1; /* isa Array[Object] */ cltype = type_standard__Array__standard__Object.color; idtype = type_standard__Array__standard__Object.id; if(var_listnode3 == NULL) { -var8 = 0; +var7 = 0; } else { -if(cltype >= var_listnode3->type->table_size) { -var8 = 0; +if(cltype >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { +var7 = 0; } else { -var8 = var_listnode3->type->type_table[cltype] == idtype; +var7 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype] == idtype; } } -if (unlikely(!var8)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1475); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1575); +fatal_exit(1); } { -var9 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +var8 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } -var_listnode4 = var9; +var_listnode4 = var8; var_listnode5 = var_nodearraylist2; /* isa Array[Object] */ -cltype11 = type_standard__Array__standard__Object.color; -idtype12 = type_standard__Array__standard__Object.id; +cltype10 = type_standard__Array__standard__Object.color; +idtype11 = type_standard__Array__standard__Object.id; if(var_listnode5 == NULL) { -var10 = 0; +var9 = 0; } else { -if(cltype11 >= var_listnode5->type->table_size) { -var10 = 0; +if(cltype10 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) { +var9 = 0; } else { -var10 = var_listnode5->type->type_table[cltype11] == idtype12; +var9 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->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, 1478); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1578); +fatal_exit(1); } { -var13 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); +var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); } -var_listnode6 = var13; +var_listnode6 = var12; var_listnode7 = var_nodearraylist3; /* isa Array[Object] */ -cltype15 = type_standard__Array__standard__Object.color; -idtype16 = type_standard__Array__standard__Object.id; +cltype14 = type_standard__Array__standard__Object.color; +idtype15 = type_standard__Array__standard__Object.id; if(var_listnode7 == NULL) { -var14 = 0; +var13 = 0; } else { -if(cltype15 >= var_listnode7->type->table_size) { -var14 = 0; +if(cltype14 >= (((long)var_listnode7&3)?type_info[((long)var_listnode7&3)]:var_listnode7->type)->table_size) { +var13 = 0; } else { -var14 = var_listnode7->type->type_table[cltype15] == idtype16; +var13 = (((long)var_listnode7&3)?type_info[((long)var_listnode7&3)]:var_listnode7->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, 1481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1581); +fatal_exit(1); } var_pclassdefnode8 = var_nodearraylist4; /* isa nullable AClassdef */ -cltype18 = type_nullable__nit__AClassdef.color; -idtype19 = type_nullable__nit__AClassdef.id; +cltype17 = type_nullable__nit__AClassdef.color; +idtype18 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode8 == NULL) { -var17 = 1; +var16 = 1; } else { -if(cltype18 >= var_pclassdefnode8->type->table_size) { -var17 = 0; +if(cltype17 >= (((long)var_pclassdefnode8&3)?type_info[((long)var_pclassdefnode8&3)]:var_pclassdefnode8->type)->table_size) { +var16 = 0; } else { -var17 = var_pclassdefnode8->type->type_table[cltype18] == idtype19; +var16 = (((long)var_pclassdefnode8&3)?type_info[((long)var_pclassdefnode8&3)]:var_pclassdefnode8->type)->type_table[cltype17] == idtype18; } } -if (unlikely(!var17)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1483); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1583); +fatal_exit(1); } { -var20 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode9, var_listnode7); +var19 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode9, var_listnode7); } -var_listnode9 = var20; -var21 = NULL; +var_listnode9 = var19; if (var_pclassdefnode8 == NULL) { -var22 = 0; /* is null */ +var20 = 0; /* is null */ } else { -var22 = 1; /* arg is null and recv is not */ +var20 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode8,var21) on */ -var_other = var21; +{ /* Inline kernel#Object#!= (var_pclassdefnode8,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var25 = ((short int (*)(val* self, val* p0))(var_pclassdefnode8->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode8, var_other) /* == on */; +var23 = ((short int(*)(val* self, val* p0))(var_pclassdefnode8->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode8, var_other); /* == on */ } -var26 = !var25; -var23 = var26; -goto RET_LABEL24; -RET_LABEL24:(void)0; +var24 = !var23; +var21 = var24; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -var22 = var23; +var20 = var21; } -if (var22){ +if (var20){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode9, var_pclassdefnode8); /* Direct call array#Array#add on */ } } else { } -var27 = NEW_nit__AModule(&type_nit__AModule); -var28 = NULL; +var25 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var27, var28, var_listnode4, var_listnode6, var_listnode9); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var25, ((val*)NULL), var_listnode4, var_listnode6, var_listnode9); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var27; +var_pmodulenode1 = var25; var_node_list = var_pmodulenode1; -var29 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var26 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var30 = nit___nit__Parser___go_to(var_p, var29); +var27 = nit___nit__Parser___go_to(var_p, var26); } { -nit___nit__Parser___push(var_p, var30, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var27, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction15#action for (self: ReduceAction15, Parser) */ void nit__parser___nit__parser__ReduceAction15___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_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var6 /* : Array[Object] */; +val* var5 /* : Array[Object] */; val* var_listnode4 /* var listnode4: Array[Object] */; -val* var7 /* : Array[Object] */; +val* var6 /* : Array[Object] */; val* var_listnode6 /* var listnode6: Array[Object] */; -val* var8 /* : Array[Object] */; +val* var7 /* : Array[Object] */; val* var_listnode9 /* var listnode9: Array[Object] */; val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */; -short int var9 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; val* var_listnode3 /* var listnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : Array[Object] */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var12 /* : Array[Object] */; val* var_listnode5 /* var listnode5: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var17 /* : Array[Object] */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var16 /* : Array[Object] */; val* var_listnode7 /* var listnode7: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pclassdefnode8 /* var pclassdefnode8: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var24 /* : Array[Object] */; -val* var25 /* : null */; -short int var26 /* : Bool */; -short int var27 /* : Bool */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var23 /* : Array[Object] */; +short int var24 /* : Bool */; +short int var25 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var29 /* : Bool */; -short int var30 /* : Bool */; -val* var31 /* : AModule */; +short int var27 /* : Bool */; +short int var28 /* : Bool */; +val* var29 /* : AModule */; val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; -long var32 /* : Int */; -long var33 /* : Int */; +long var30 /* : Int */; +long var31 /* : 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_nodearraylist5 = var1; +var_nodearraylist4 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var2; +var_nodearraylist3 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var3; +var_nodearraylist2 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var4; +var_nodearraylist1 = var4; +var5 = NEW_standard__Array(&type_standard__Array__standard__Object); { -var5 = nit___nit__Parser___pop(var_p); +standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ } -var_nodearraylist1 = var5; +var_listnode4 = var5; var6 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ } -var_listnode4 = var6; +var_listnode6 = var6; 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_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var8); /* Direct call array#Array#init on */ -} -var_listnode9 = var8; +var_listnode9 = var7; var_pmoduledeclnode2 = var_nodearraylist1; /* isa nullable AModuledecl */ cltype = type_nullable__nit__AModuledecl.color; idtype = type_nullable__nit__AModuledecl.id; if(var_pmoduledeclnode2 == NULL) { -var9 = 1; +var8 = 1; } else { -if(cltype >= var_pmoduledeclnode2->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->table_size) { +var8 = 0; } else { -var9 = var_pmoduledeclnode2->type->type_table[cltype] == idtype; +var8 = (((long)var_pmoduledeclnode2&3)?type_info[((long)var_pmoduledeclnode2&3)]:var_pmoduledeclnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var9)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1512); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1612); +fatal_exit(1); } var_listnode3 = var_nodearraylist2; /* isa Array[Object] */ -cltype11 = type_standard__Array__standard__Object.color; -idtype12 = type_standard__Array__standard__Object.id; +cltype10 = type_standard__Array__standard__Object.color; +idtype11 = type_standard__Array__standard__Object.id; if(var_listnode3 == NULL) { -var10 = 0; +var9 = 0; } else { -if(cltype11 >= var_listnode3->type->table_size) { -var10 = 0; +if(cltype10 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) { +var9 = 0; } else { -var10 = var_listnode3->type->type_table[cltype11] == idtype12; +var9 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->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, 1514); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1614); +fatal_exit(1); } { -var13 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); +var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3); } -var_listnode4 = var13; +var_listnode4 = var12; var_listnode5 = var_nodearraylist3; /* isa Array[Object] */ -cltype15 = type_standard__Array__standard__Object.color; -idtype16 = type_standard__Array__standard__Object.id; +cltype14 = type_standard__Array__standard__Object.color; +idtype15 = type_standard__Array__standard__Object.id; if(var_listnode5 == NULL) { -var14 = 0; +var13 = 0; } else { -if(cltype15 >= var_listnode5->type->table_size) { -var14 = 0; +if(cltype14 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) { +var13 = 0; } else { -var14 = var_listnode5->type->type_table[cltype15] == idtype16; +var13 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->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, 1517); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1617); +fatal_exit(1); } { -var17 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); +var16 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5); } -var_listnode6 = var17; +var_listnode6 = var16; var_listnode7 = var_nodearraylist4; /* isa Array[Object] */ -cltype19 = type_standard__Array__standard__Object.color; -idtype20 = type_standard__Array__standard__Object.id; +cltype18 = type_standard__Array__standard__Object.color; +idtype19 = type_standard__Array__standard__Object.id; if(var_listnode7 == NULL) { -var18 = 0; +var17 = 0; } else { -if(cltype19 >= var_listnode7->type->table_size) { -var18 = 0; +if(cltype18 >= (((long)var_listnode7&3)?type_info[((long)var_listnode7&3)]:var_listnode7->type)->table_size) { +var17 = 0; } else { -var18 = var_listnode7->type->type_table[cltype19] == idtype20; +var17 = (((long)var_listnode7&3)?type_info[((long)var_listnode7&3)]:var_listnode7->type)->type_table[cltype18] == idtype19; } } -if (unlikely(!var18)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1520); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1620); +fatal_exit(1); } var_pclassdefnode8 = var_nodearraylist5; /* isa nullable AClassdef */ -cltype22 = type_nullable__nit__AClassdef.color; -idtype23 = type_nullable__nit__AClassdef.id; +cltype21 = type_nullable__nit__AClassdef.color; +idtype22 = type_nullable__nit__AClassdef.id; if(var_pclassdefnode8 == NULL) { -var21 = 1; +var20 = 1; } else { -if(cltype22 >= var_pclassdefnode8->type->table_size) { -var21 = 0; +if(cltype21 >= (((long)var_pclassdefnode8&3)?type_info[((long)var_pclassdefnode8&3)]:var_pclassdefnode8->type)->table_size) { +var20 = 0; } else { -var21 = var_pclassdefnode8->type->type_table[cltype22] == idtype23; +var20 = (((long)var_pclassdefnode8&3)?type_info[((long)var_pclassdefnode8&3)]:var_pclassdefnode8->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var21)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1522); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1622); +fatal_exit(1); } { -var24 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode9, var_listnode7); +var23 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode9, var_listnode7); } -var_listnode9 = var24; -var25 = NULL; +var_listnode9 = var23; if (var_pclassdefnode8 == NULL) { -var26 = 0; /* is null */ +var24 = 0; /* is null */ } else { -var26 = 1; /* arg is null and recv is not */ +var24 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_pclassdefnode8,var25) on */ -var_other = var25; +{ /* Inline kernel#Object#!= (var_pclassdefnode8,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var29 = ((short int (*)(val* self, val* p0))(var_pclassdefnode8->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode8, var_other) /* == on */; +var27 = ((short int(*)(val* self, val* p0))(var_pclassdefnode8->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pclassdefnode8, var_other); /* == on */ } -var30 = !var29; -var27 = var30; -goto RET_LABEL28; -RET_LABEL28:(void)0; +var28 = !var27; +var25 = var28; +goto RET_LABEL26; +RET_LABEL26:(void)0; } -var26 = var27; +var24 = var25; } -if (var26){ +if (var24){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode9, var_pclassdefnode8); /* Direct call array#Array#add on */ } } else { } -var31 = NEW_nit__AModule(&type_nit__AModule); +var29 = NEW_nit__AModule(&type_nit__AModule); { -nit__parser_prod___AModule___init_amodule(var31, var_pmoduledeclnode2, var_listnode4, var_listnode6, var_listnode9); /* Direct call parser_prod#AModule#init_amodule on */ +nit__parser_prod___AModule___init_amodule(var29, var_pmoduledeclnode2, var_listnode4, var_listnode6, var_listnode9); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pmodulenode1 = var31; +var_pmodulenode1 = var29; var_node_list = var_pmodulenode1; -var32 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var30 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var33 = nit___nit__Parser___go_to(var_p, var32); +var31 = nit___nit__Parser___go_to(var_p, var30); } { -nit___nit__Parser___push(var_p, var33, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var31, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction16#action for (self: ReduceAction16, Parser) */ void nit__parser___nit__parser__ReduceAction16___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_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; +short int var9 /* : Bool */; +int cltype10; +int idtype11; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var12 /* : Bool */; +int cltype13; +int idtype14; val* var_tkwmodulenode5 /* var tkwmodulenode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_pmodulenamenode6 /* var pmodulenamenode6: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var25 /* : AModuledecl */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var24 /* : AModuledecl */; val* var_pmoduledeclnode1 /* var pmoduledeclnode1: nullable AModuledecl */; +long var25 /* : Int */; long var26 /* : Int */; -long var27 /* : 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_nodearraylist8 = var1; +var_nodearraylist7 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var2; +var_nodearraylist6 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var3; +var_nodearraylist5 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var4; +var_nodearraylist4 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var5; +var_nodearraylist3 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var6; +var_nodearraylist2 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var8; +var_nodearraylist1 = var7; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var9 = 1; +var8 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var8 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var8 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var9)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1551); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1651); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype11 = type_nullable__nit__TKwredef.color; -idtype12 = type_nullable__nit__TKwredef.id; +cltype10 = type_nullable__nit__TKwredef.color; +idtype11 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var10 = 1; +var9 = 1; } else { -if(cltype11 >= var_tkwredefnode3->type->table_size) { -var10 = 0; +if(cltype10 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var9 = 0; } else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +var9 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->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, 1553); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1653); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype14 = type_nullable__nit__AVisibility.color; -idtype15 = type_nullable__nit__AVisibility.id; +cltype13 = type_nullable__nit__AVisibility.color; +idtype14 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var13 = 1; +var12 = 1; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; +if(cltype13 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var12 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var12 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->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, 1555); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1655); +fatal_exit(1); } var_tkwmodulenode5 = var_nodearraylist4; /* isa nullable TKwmodule */ -cltype17 = type_nullable__nit__TKwmodule.color; -idtype18 = type_nullable__nit__TKwmodule.id; +cltype16 = type_nullable__nit__TKwmodule.color; +idtype17 = type_nullable__nit__TKwmodule.id; if(var_tkwmodulenode5 == NULL) { -var16 = 1; +var15 = 1; } else { -if(cltype17 >= var_tkwmodulenode5->type->table_size) { -var16 = 0; +if(cltype16 >= (((long)var_tkwmodulenode5&3)?type_info[((long)var_tkwmodulenode5&3)]:var_tkwmodulenode5->type)->table_size) { +var15 = 0; } else { -var16 = var_tkwmodulenode5->type->type_table[cltype17] == idtype18; +var15 = (((long)var_tkwmodulenode5&3)?type_info[((long)var_tkwmodulenode5&3)]:var_tkwmodulenode5->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, 1557); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1657); +fatal_exit(1); } var_pmodulenamenode6 = var_nodearraylist6; /* isa nullable AModuleName */ -cltype20 = type_nullable__nit__AModuleName.color; -idtype21 = type_nullable__nit__AModuleName.id; +cltype19 = type_nullable__nit__AModuleName.color; +idtype20 = type_nullable__nit__AModuleName.id; if(var_pmodulenamenode6 == NULL) { -var19 = 1; +var18 = 1; } else { -if(cltype20 >= var_pmodulenamenode6->type->table_size) { -var19 = 0; +if(cltype19 >= (((long)var_pmodulenamenode6&3)?type_info[((long)var_pmodulenamenode6&3)]:var_pmodulenamenode6->type)->table_size) { +var18 = 0; } else { -var19 = var_pmodulenamenode6->type->type_table[cltype20] == idtype21; +var18 = (((long)var_pmodulenamenode6&3)?type_info[((long)var_pmodulenamenode6&3)]:var_pmodulenamenode6->type)->type_table[cltype19] == idtype20; } } -if (unlikely(!var19)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1559); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1659); +fatal_exit(1); } var_pannotationsnode7 = var_nodearraylist7; /* isa nullable AAnnotations */ -cltype23 = type_nullable__nit__AAnnotations.color; -idtype24 = type_nullable__nit__AAnnotations.id; +cltype22 = type_nullable__nit__AAnnotations.color; +idtype23 = type_nullable__nit__AAnnotations.id; if(var_pannotationsnode7 == NULL) { -var22 = 1; +var21 = 1; } else { -if(cltype23 >= var_pannotationsnode7->type->table_size) { -var22 = 0; +if(cltype22 >= (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->table_size) { +var21 = 0; } else { -var22 = var_pannotationsnode7->type->type_table[cltype23] == idtype24; +var21 = (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->type_table[cltype22] == idtype23; } } -if (unlikely(!var22)) { +if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1561); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1661); +fatal_exit(1); } -var25 = NEW_nit__AModuledecl(&type_nit__AModuledecl); +var24 = NEW_nit__AModuledecl(&type_nit__AModuledecl); { -nit__parser_prod___AModuledecl___init_amoduledecl(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmodulenode5, var_pmodulenamenode6, var_pannotationsnode7); /* Direct call parser_prod#AModuledecl#init_amoduledecl on */ +nit__parser_prod___AModuledecl___init_amoduledecl(var24, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmodulenode5, var_pmodulenamenode6, var_pannotationsnode7); /* Direct call parser_prod#AModuledecl#init_amoduledecl on */ } -var_pmoduledeclnode1 = var25; +var_pmoduledeclnode1 = var24; var_node_list = var_pmoduledeclnode1; -var26 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var25 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var27 = nit___nit__Parser___go_to(var_p, var26); +var26 = nit___nit__Parser___go_to(var_p, var25); } { -nit___nit__Parser___push(var_p, var27, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var26, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction17#action for (self: ReduceAction17, Parser) */ void nit__parser___nit__parser__ReduceAction17___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_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */; -short int var9 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; +short int var9 /* : Bool */; +int cltype10; +int idtype11; val* var_pmodulenamenode4 /* var pmodulenamenode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var12 /* : Bool */; +int cltype13; +int idtype14; val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : AStdImport */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var18 /* : AStdImport */; val* var_pimportnode1 /* var pimportnode1: nullable AStdImport */; +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_nodearraylist8 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var1; +var_nodearraylist7 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var2; +var_nodearraylist6 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var3; +var_nodearraylist5 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var4; +var_nodearraylist4 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var5; +var_nodearraylist3 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var6; +var_nodearraylist2 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var8; +var_nodearraylist1 = var7; var_pvisibilitynode2 = var_nodearraylist3; /* isa nullable AVisibility */ cltype = type_nullable__nit__AVisibility.color; idtype = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode2 == NULL) { -var9 = 1; +var8 = 1; } else { -if(cltype >= var_pvisibilitynode2->type->table_size) { -var9 = 0; +if(cltype >= (((long)var_pvisibilitynode2&3)?type_info[((long)var_pvisibilitynode2&3)]:var_pvisibilitynode2->type)->table_size) { +var8 = 0; } else { -var9 = var_pvisibilitynode2->type->type_table[cltype] == idtype; +var8 = (((long)var_pvisibilitynode2&3)?type_info[((long)var_pvisibilitynode2&3)]:var_pvisibilitynode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var9)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1588); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1688); +fatal_exit(1); } var_tkwimportnode3 = var_nodearraylist4; /* isa nullable TKwimport */ -cltype11 = type_nullable__nit__TKwimport.color; -idtype12 = type_nullable__nit__TKwimport.id; +cltype10 = type_nullable__nit__TKwimport.color; +idtype11 = type_nullable__nit__TKwimport.id; if(var_tkwimportnode3 == NULL) { -var10 = 1; +var9 = 1; } else { -if(cltype11 >= var_tkwimportnode3->type->table_size) { -var10 = 0; +if(cltype10 >= (((long)var_tkwimportnode3&3)?type_info[((long)var_tkwimportnode3&3)]:var_tkwimportnode3->type)->table_size) { +var9 = 0; } else { -var10 = var_tkwimportnode3->type->type_table[cltype11] == idtype12; +var9 = (((long)var_tkwimportnode3&3)?type_info[((long)var_tkwimportnode3&3)]:var_tkwimportnode3->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, 1590); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1690); +fatal_exit(1); } var_pmodulenamenode4 = var_nodearraylist6; /* isa nullable AModuleName */ -cltype14 = type_nullable__nit__AModuleName.color; -idtype15 = type_nullable__nit__AModuleName.id; +cltype13 = type_nullable__nit__AModuleName.color; +idtype14 = type_nullable__nit__AModuleName.id; if(var_pmodulenamenode4 == NULL) { -var13 = 1; +var12 = 1; } else { -if(cltype14 >= var_pmodulenamenode4->type->table_size) { -var13 = 0; +if(cltype13 >= (((long)var_pmodulenamenode4&3)?type_info[((long)var_pmodulenamenode4&3)]:var_pmodulenamenode4->type)->table_size) { +var12 = 0; } else { -var13 = var_pmodulenamenode4->type->type_table[cltype14] == idtype15; +var12 = (((long)var_pmodulenamenode4&3)?type_info[((long)var_pmodulenamenode4&3)]:var_pmodulenamenode4->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, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1692); +fatal_exit(1); } var_pannotationsnode5 = var_nodearraylist7; /* isa nullable AAnnotations */ -cltype17 = type_nullable__nit__AAnnotations.color; -idtype18 = type_nullable__nit__AAnnotations.id; +cltype16 = type_nullable__nit__AAnnotations.color; +idtype17 = type_nullable__nit__AAnnotations.id; if(var_pannotationsnode5 == NULL) { -var16 = 1; +var15 = 1; } else { -if(cltype17 >= var_pannotationsnode5->type->table_size) { -var16 = 0; +if(cltype16 >= (((long)var_pannotationsnode5&3)?type_info[((long)var_pannotationsnode5&3)]:var_pannotationsnode5->type)->table_size) { +var15 = 0; } else { -var16 = var_pannotationsnode5->type->type_table[cltype17] == idtype18; +var15 = (((long)var_pannotationsnode5&3)?type_info[((long)var_pannotationsnode5&3)]:var_pannotationsnode5->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, 1594); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1694); +fatal_exit(1); } -var19 = NEW_nit__AStdImport(&type_nit__AStdImport); +var18 = NEW_nit__AStdImport(&type_nit__AStdImport); { -nit__parser_prod___AStdImport___init_astdimport(var19, var_pvisibilitynode2, var_tkwimportnode3, var_pmodulenamenode4, var_pannotationsnode5); /* Direct call parser_prod#AStdImport#init_astdimport on */ +nit__parser_prod___AStdImport___init_astdimport(var18, var_pvisibilitynode2, var_tkwimportnode3, var_pmodulenamenode4, var_pannotationsnode5); /* Direct call parser_prod#AStdImport#init_astdimport on */ } -var_pimportnode1 = var19; +var_pimportnode1 = var18; var_node_list = var_pimportnode1; -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#ReduceAction18#action for (self: ReduceAction18, Parser) */ void nit__parser___nit__parser__ReduceAction18___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_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var2 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */; -short int var8 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; +short int var8 /* : Bool */; +int cltype9; +int idtype10; val* var_tkwendnode4 /* var tkwendnode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var15 /* : ANoImport */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var14 /* : ANoImport */; val* var_pimportnode1 /* var pimportnode1: nullable ANoImport */; +long var15 /* : Int */; 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_nodearraylist7 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var1; +var_nodearraylist6 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var2; +var_nodearraylist5 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var3; +var_nodearraylist4 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var4; +var_nodearraylist3 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var5; +var_nodearraylist2 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var7; +var_nodearraylist1 = var6; var_pvisibilitynode2 = var_nodearraylist3; /* isa nullable AVisibility */ cltype = type_nullable__nit__AVisibility.color; idtype = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode2 == NULL) { -var8 = 1; +var7 = 1; } else { -if(cltype >= var_pvisibilitynode2->type->table_size) { -var8 = 0; +if(cltype >= (((long)var_pvisibilitynode2&3)?type_info[((long)var_pvisibilitynode2&3)]:var_pvisibilitynode2->type)->table_size) { +var7 = 0; } else { -var8 = var_pvisibilitynode2->type->type_table[cltype] == idtype; +var7 = (((long)var_pvisibilitynode2&3)?type_info[((long)var_pvisibilitynode2&3)]:var_pvisibilitynode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var8)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1618); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1718); +fatal_exit(1); } var_tkwimportnode3 = var_nodearraylist4; /* isa nullable TKwimport */ -cltype10 = type_nullable__nit__TKwimport.color; -idtype11 = type_nullable__nit__TKwimport.id; +cltype9 = type_nullable__nit__TKwimport.color; +idtype10 = type_nullable__nit__TKwimport.id; if(var_tkwimportnode3 == NULL) { -var9 = 1; +var8 = 1; } else { -if(cltype10 >= var_tkwimportnode3->type->table_size) { -var9 = 0; +if(cltype9 >= (((long)var_tkwimportnode3&3)?type_info[((long)var_tkwimportnode3&3)]:var_tkwimportnode3->type)->table_size) { +var8 = 0; } else { -var9 = var_tkwimportnode3->type->type_table[cltype10] == idtype11; +var8 = (((long)var_tkwimportnode3&3)?type_info[((long)var_tkwimportnode3&3)]:var_tkwimportnode3->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, 1620); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1720); +fatal_exit(1); } var_tkwendnode4 = var_nodearraylist6; /* isa nullable TKwend */ -cltype13 = type_nullable__nit__TKwend.color; -idtype14 = type_nullable__nit__TKwend.id; +cltype12 = type_nullable__nit__TKwend.color; +idtype13 = type_nullable__nit__TKwend.id; if(var_tkwendnode4 == NULL) { -var12 = 1; +var11 = 1; } else { -if(cltype13 >= var_tkwendnode4->type->table_size) { -var12 = 0; +if(cltype12 >= (((long)var_tkwendnode4&3)?type_info[((long)var_tkwendnode4&3)]:var_tkwendnode4->type)->table_size) { +var11 = 0; } else { -var12 = var_tkwendnode4->type->type_table[cltype13] == idtype14; +var11 = (((long)var_tkwendnode4&3)?type_info[((long)var_tkwendnode4&3)]:var_tkwendnode4->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var12)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1622); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1722); +fatal_exit(1); } -var15 = NEW_nit__ANoImport(&type_nit__ANoImport); +var14 = NEW_nit__ANoImport(&type_nit__ANoImport); { -nit__parser_prod___ANoImport___init_anoimport(var15, var_pvisibilitynode2, var_tkwimportnode3, var_tkwendnode4); /* Direct call parser_prod#ANoImport#init_anoimport on */ +nit__parser_prod___ANoImport___init_anoimport(var14, var_pvisibilitynode2, var_tkwimportnode3, var_tkwendnode4); /* Direct call parser_prod#ANoImport#init_anoimport on */ } -var_pimportnode1 = var15; +var_pimportnode1 = var14; var_node_list = var_pimportnode1; -var16 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var15 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var17 = nit___nit__Parser___go_to(var_p, var16); +var16 = nit___nit__Parser___go_to(var_p, var15); } { -nit___nit__Parser___push(var_p, var17, 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#ReduceAction19#action for (self: ReduceAction19, Parser) */ void nit__parser___nit__parser__ReduceAction19___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable Object */; +long var1 /* : Int */; long var2 /* : Int */; -long var3 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; +var_nodearraylist1 = var; var_pclassdefnode1 = var_nodearraylist1; var_node_list = var_pclassdefnode1; -var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var1 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var3 = nit___nit__Parser___go_to(var_p, var2); +var2 = nit___nit__Parser___go_to(var_p, var1); } { -nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var2, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction20#action for (self: ReduceAction20, Parser) */ void nit__parser___nit__parser__ReduceAction20___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var1 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var2 /* : Array[Object] */; @@ -3289,19 +3202,21 @@ val* var_ppropdefnode2 /* var ppropdefnode2: nullable Object */; short int var3 /* : Bool */; int cltype; int idtype; -val* var4 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : ATopClassdef */; +val* var9 /* : ATopClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable ATopClassdef */; +long var10 /* : Int */; 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_nodearraylist2 = var; { var1 = nit___nit__Parser___pop(var_p); } @@ -3318,875 +3233,798 @@ idtype = type_nullable__nit__APropdef.id; if(var_ppropdefnode2 == NULL) { var3 = 1; } else { -if(cltype >= var_ppropdefnode2->type->table_size) { +if(cltype >= (((long)var_ppropdefnode2&3)?type_info[((long)var_ppropdefnode2&3)]:var_ppropdefnode2->type)->table_size) { var3 = 0; } else { -var3 = var_ppropdefnode2->type->type_table[cltype] == idtype; +var3 = (((long)var_ppropdefnode2&3)?type_info[((long)var_ppropdefnode2&3)]:var_ppropdefnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1651); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1752); +fatal_exit(1); } -var4 = NULL; if (var_ppropdefnode2 == NULL) { -var5 = 0; /* is null */ +var4 = 0; /* is null */ } else { -var5 = 1; /* arg is null and recv is not */ +var4 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ppropdefnode2,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#!= (var_ppropdefnode2,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var8 = ((short int (*)(val* self, val* p0))(var_ppropdefnode2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ppropdefnode2, var_other) /* == on */; +var7 = ((short int(*)(val* self, val* p0))(var_ppropdefnode2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ppropdefnode2, var_other); /* == on */ } -var9 = !var8; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var8 = !var7; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var5 = var6; +var4 = var5; } -if (var5){ +if (var4){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_ppropdefnode2); /* Direct call array#Array#add on */ } } else { } -var10 = NEW_nit__ATopClassdef(&type_nit__ATopClassdef); +var9 = NEW_nit__ATopClassdef(&type_nit__ATopClassdef); { -nit__parser_prod___ATopClassdef___init_atopclassdef(var10, var_listnode3); /* Direct call parser_prod#ATopClassdef#init_atopclassdef on */ +nit__parser_prod___ATopClassdef___init_atopclassdef(var9, var_listnode3); /* Direct call parser_prod#ATopClassdef#init_atopclassdef on */ } -var_pclassdefnode1 = var10; +var_pclassdefnode1 = var9; var_node_list = var_pclassdefnode1; -var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var12 = nit___nit__Parser___go_to(var_p, var11); +var11 = nit___nit__Parser___go_to(var_p, var10); } { -nit___nit__Parser___push(var_p, var12, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction21#action for (self: ReduceAction21, Parser) */ void nit__parser___nit__parser__ReduceAction21___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var2 /* : Array[Object] */; +val* var1 /* : Array[Object] */; val* var_listnode3 /* var listnode3: Array[Object] */; val* var_ppropdefnode2 /* var ppropdefnode2: nullable Object */; -short int var3 /* : Bool */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var4 /* : null */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : AMainClassdef */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +val* var8 /* : AMainClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AMainClassdef */; -long var11 /* : Int */; -long var12 /* : Int */; +long var9 /* : Int */; +long var10 /* : 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_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(var2); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ } -var_listnode3 = var2; +var_listnode3 = var1; var_ppropdefnode2 = var_nodearraylist1; /* isa nullable APropdef */ cltype = type_nullable__nit__APropdef.color; idtype = type_nullable__nit__APropdef.id; if(var_ppropdefnode2 == NULL) { -var3 = 1; +var2 = 1; } else { -if(cltype >= var_ppropdefnode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_ppropdefnode2&3)?type_info[((long)var_ppropdefnode2&3)]:var_ppropdefnode2->type)->table_size) { +var2 = 0; } else { -var3 = var_ppropdefnode2->type->type_table[cltype] == idtype; +var2 = (((long)var_ppropdefnode2&3)?type_info[((long)var_ppropdefnode2&3)]:var_ppropdefnode2->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, 1670); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1771); +fatal_exit(1); } -var4 = NULL; if (var_ppropdefnode2 == NULL) { -var5 = 0; /* is null */ +var3 = 0; /* is null */ } else { -var5 = 1; /* arg is null and recv is not */ +var3 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ppropdefnode2,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#!= (var_ppropdefnode2,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var8 = ((short int (*)(val* self, val* p0))(var_ppropdefnode2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ppropdefnode2, var_other) /* == on */; +var6 = ((short int(*)(val* self, val* p0))(var_ppropdefnode2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ppropdefnode2, var_other); /* == on */ } -var9 = !var8; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var7 = !var6; +var4 = var7; +goto RET_LABEL5; +RET_LABEL5:(void)0; } -var5 = var6; +var3 = var4; } -if (var5){ +if (var3){ { standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_ppropdefnode2); /* Direct call array#Array#add on */ } } else { } -var10 = NEW_nit__AMainClassdef(&type_nit__AMainClassdef); +var8 = NEW_nit__AMainClassdef(&type_nit__AMainClassdef); { -nit__parser_prod___AMainClassdef___init_amainclassdef(var10, var_listnode3); /* Direct call parser_prod#AMainClassdef#init_amainclassdef on */ +nit__parser_prod___AMainClassdef___init_amainclassdef(var8, var_listnode3); /* Direct call parser_prod#AMainClassdef#init_amainclassdef on */ } -var_pclassdefnode1 = var10; +var_pclassdefnode1 = var8; var_node_list = var_pclassdefnode1; -var11 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var12 = nit___nit__Parser___go_to(var_p, var11); +var10 = nit___nit__Parser___go_to(var_p, var9); } { -nit___nit__Parser___push(var_p, var12, 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#ReduceAction22#action for (self: ReduceAction22, Parser) */ void nit__parser___nit__parser__ReduceAction22___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 /* : null */; -long var2 /* : Int */; -long var3 /* : Int */; +long var /* : Int */; +long var1 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; -var1 = NULL; -var_node_list = var1; -var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_node_list = ((val*)NULL); +var_node_list = ((val*)NULL); +var = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var3 = nit___nit__Parser___go_to(var_p, var2); +var1 = nit___nit__Parser___go_to(var_p, var); } { -nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var1, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction23#action for (self: ReduceAction23, Parser) */ void nit__parser___nit__parser__ReduceAction23___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var2 /* : null */; -long var3 /* : Int */; -long var4 /* : Int */; +long var1 /* : Int */; +long var2 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var2 = NULL; -var_node_list = var2; -var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist1 = var; +var_node_list = ((val*)NULL); +var1 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var4 = nit___nit__Parser___go_to(var_p, var3); +var2 = nit___nit__Parser___go_to(var_p, var1); } { -nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var2, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction24#action for (self: ReduceAction24, Parser) */ void nit__parser___nit__parser__ReduceAction24___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_pexprnode3 /* var pexprnode3: nullable Object */; -short int var3 /* : Bool */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var4 /* : AMainMethPropdef */; -val* var5 /* : null */; +val* var3 /* : AMainMethPropdef */; val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMainMethPropdef */; -long var6 /* : Int */; -long var7 /* : Int */; +long var4 /* : Int */; +long var5 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist2 = var; { -var2 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; +var_nodearraylist1 = var1; var_pexprnode3 = var_nodearraylist2; /* isa nullable AExpr */ cltype = type_nullable__nit__AExpr.color; idtype = type_nullable__nit__AExpr.id; if(var_pexprnode3 == NULL) { -var3 = 1; +var2 = 1; } else { -if(cltype >= var_pexprnode3->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) { +var2 = 0; } else { -var3 = var_pexprnode3->type->type_table[cltype] == idtype; +var2 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->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, 1708); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1809); +fatal_exit(1); } -var4 = NEW_nit__AMainMethPropdef(&type_nit__AMainMethPropdef); -var5 = NULL; +var3 = NEW_nit__AMainMethPropdef(&type_nit__AMainMethPropdef); { -nit__parser_prod___AMainMethPropdef___init_amainmethpropdef(var4, var5, var_pexprnode3); /* Direct call parser_prod#AMainMethPropdef#init_amainmethpropdef on */ +nit__parser_prod___AMainMethPropdef___init_amainmethpropdef(var3, ((val*)NULL), var_pexprnode3); /* Direct call parser_prod#AMainMethPropdef#init_amainmethpropdef on */ } -var_ppropdefnode1 = var4; +var_ppropdefnode1 = var3; var_node_list = var_ppropdefnode1; -var6 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var7 = nit___nit__Parser___go_to(var_p, var6); +var5 = nit___nit__Parser___go_to(var_p, var4); } { -nit___nit__Parser___push(var_p, var7, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction26#action for (self: ReduceAction26, Parser) */ void nit__parser___nit__parser__ReduceAction26___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_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: 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* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var10 /* : Array[Object] */; +val* var8 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; -val* var11 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var12 /* : Array[Object] */; +val* var9 /* : Array[Object] */; val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var13 /* : Bool */; +short int var10 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var14 /* : Bool */; int cltype15; int idtype16; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var17 /* : Bool */; int cltype18; int idtype19; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_listnode11 /* var listnode11: nullable Object */; short int var23 /* : Bool */; int cltype24; int idtype25; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : Array[Object] */; +val* var26 /* : Array[Object] */; val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : AStdClassdef */; -val* var34 /* : null */; -val* var35 /* : null */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var36 /* : Int */; -long var37 /* : Int */; +long var31 /* : Int */; +long var32 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist8 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var1; +var_nodearraylist7 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var2; +var_nodearraylist6 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var3; +var_nodearraylist5 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var4; +var_nodearraylist4 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var5; +var_nodearraylist3 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var6; +var_nodearraylist2 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var9; -var10 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var10); /* Direct call array#Array#init on */ -} -var_listnode8 = var10; -var11 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist1 = var7; +var8 = 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(var8); /* Direct call array#Array#init on */ } -var_listnode11 = var11; -var12 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_listnode8 = var8; +var9 = NEW_standard__Array(&type_standard__Array__standard__Object); { -standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var9); /* Direct call array#Array#init on */ } -var_listnode12 = var12; +var_listnode12 = var9; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var13 = 1; +var10 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var13 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var10 = 0; } else { -var13 = var_pdocnode2->type->type_table[cltype] == idtype; +var10 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var13)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1735); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1834); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype15 = type_nullable__nit__TKwredef.color; -idtype16 = type_nullable__nit__TKwredef.id; +cltype12 = type_nullable__nit__TKwredef.color; +idtype13 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var14 = 1; +var11 = 1; } else { -if(cltype15 >= var_tkwredefnode3->type->table_size) { -var14 = 0; +if(cltype12 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var11 = 0; } else { -var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16; +var11 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var14)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1737); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1836); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype18 = type_nullable__nit__AVisibility.color; -idtype19 = type_nullable__nit__AVisibility.id; +cltype15 = type_nullable__nit__AVisibility.color; +idtype16 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var17 = 1; +var14 = 1; } else { -if(cltype18 >= var_pvisibilitynode4->type->table_size) { -var17 = 0; +if(cltype15 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var14 = 0; } else { -var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; +var14 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype15] == idtype16; } } -if (unlikely(!var17)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1739); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1838); +fatal_exit(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype21 = type_nullable__nit__AClasskind.color; -idtype22 = type_nullable__nit__AClasskind.id; +cltype18 = type_nullable__nit__AClasskind.color; +idtype19 = type_nullable__nit__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var20 = 1; +var17 = 1; } else { -if(cltype21 >= var_pclasskindnode5->type->table_size) { -var20 = 0; +if(cltype18 >= (((long)var_pclasskindnode5&3)?type_info[((long)var_pclasskindnode5&3)]:var_pclasskindnode5->type)->table_size) { +var17 = 0; } else { -var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; +var17 = (((long)var_pclasskindnode5&3)?type_info[((long)var_pclasskindnode5&3)]:var_pclasskindnode5->type)->type_table[cltype18] == idtype19; } } -if (unlikely(!var20)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1741); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1840); +fatal_exit(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype24 = type_nullable__nit__TClassid.color; -idtype25 = type_nullable__nit__TClassid.id; +cltype21 = type_nullable__nit__TClassid.color; +idtype22 = type_nullable__nit__TClassid.id; if(var_tclassidnode6 == NULL) { -var23 = 1; +var20 = 1; } else { -if(cltype24 >= var_tclassidnode6->type->table_size) { -var23 = 0; +if(cltype21 >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) { +var20 = 0; } else { -var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; +var20 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var23)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1743); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1842); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype27 = type_standard__Array__standard__Object.color; -idtype28 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var26 = 0; +var_listnode11 = var_nodearraylist7; +/* isa Array[Object] */ +cltype24 = type_standard__Array__standard__Object.color; +idtype25 = type_standard__Array__standard__Object.id; +if(var_listnode11 == NULL) { +var23 = 0; } else { -if(cltype27 >= var_listnode7->type->table_size) { -var26 = 0; +if(cltype24 >= (((long)var_listnode11&3)?type_info[((long)var_listnode11&3)]:var_listnode11->type)->table_size) { +var23 = 0; } else { -var26 = var_listnode7->type->type_table[cltype27] == idtype28; +var23 = (((long)var_listnode11&3)?type_info[((long)var_listnode11&3)]:var_listnode11->type)->type_table[cltype24] == idtype25; } } -if (unlikely(!var26)) { +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1745); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1844); +fatal_exit(1); } { -var29 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); +var26 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode12, var_listnode11); } -var_listnode8 = var29; -var_tkwendnode13 = var_nodearraylist9; +var_listnode12 = var26; +var_tkwendnode13 = var_nodearraylist8; /* isa nullable TKwend */ -cltype31 = type_nullable__nit__TKwend.color; -idtype32 = type_nullable__nit__TKwend.id; +cltype28 = type_nullable__nit__TKwend.color; +idtype29 = type_nullable__nit__TKwend.id; if(var_tkwendnode13 == NULL) { -var30 = 1; +var27 = 1; } else { -if(cltype31 >= var_tkwendnode13->type->table_size) { -var30 = 0; +if(cltype28 >= (((long)var_tkwendnode13&3)?type_info[((long)var_tkwendnode13&3)]:var_tkwendnode13->type)->table_size) { +var27 = 0; } else { -var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32; +var27 = (((long)var_tkwendnode13&3)?type_info[((long)var_tkwendnode13&3)]:var_tkwendnode13->type)->type_table[cltype28] == idtype29; } } -if (unlikely(!var30)) { +if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1748); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1847); +fatal_exit(1); } -var33 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); -var34 = NULL; -var35 = NULL; +var30 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var34, var35, var_listnode11, var_listnode12, var_tkwendnode13); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AStdClassdef___init_astdclassdef(var30, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, ((val*)NULL), var_listnode8, ((val*)NULL), ((val*)NULL), var_listnode12, var_tkwendnode13); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var33; +var_pclassdefnode1 = var30; var_node_list = var_pclassdefnode1; -var36 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var31 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var37 = nit___nit__Parser___go_to(var_p, var36); +var32 = nit___nit__Parser___go_to(var_p, var31); } { -nit___nit__Parser___push(var_p, var37, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var32, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction27#action for (self: ReduceAction27, Parser) */ void nit__parser___nit__parser__ReduceAction27___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 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var3 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var11 /* : Array[Object] */; +val* var9 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; -val* var12 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; +val* var10 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +short int var11 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var15 /* : Bool */; int cltype16; int idtype17; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var18 /* : Bool */; int cltype19; int idtype20; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var21 /* : Bool */; int cltype22; int idtype23; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; short int var24 /* : Bool */; int cltype25; int idtype26; -val* var_listnode7 /* var listnode7: nullable Object */; +val* var_listnode11 /* var listnode11: nullable Object */; short int var27 /* : Bool */; int cltype28; int idtype29; val* var30 /* : Array[Object] */; -val* var31 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : Array[Object] */; -val* var36 /* : AAnnotations */; -val* var37 /* : null */; -val* var38 /* : null */; -val* var39 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_tkwendnode18 /* var tkwendnode18: nullable Object */; -short int var40 /* : Bool */; -int cltype41; -int idtype42; -val* var43 /* : AStdClassdef */; -val* var44 /* : null */; +val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var45 /* : Int */; -long var46 /* : Int */; +long var35 /* : Int */; +long var36 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist9 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var1; +var_nodearraylist8 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist7 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var3; +var_nodearraylist6 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var4; +var_nodearraylist5 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var5; +var_nodearraylist4 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var6; +var_nodearraylist3 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var7; +var_nodearraylist2 = var7; { var8 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var9; -{ -var10 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var10; -var11 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on */ -} -var_listnode8 = var11; -var12 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist1 = var8; +var9 = NEW_standard__Array(&type_standard__Array__standard__Object); { -standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var9); /* Direct call array#Array#init on */ } -var_listnode16 = var12; -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_listnode8 = var9; +var10 = NEW_standard__Array(&type_standard__Array__standard__Object); { -standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var10); /* Direct call array#Array#init on */ } -var_listnode17 = var13; +var_listnode12 = var10; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var14 = 1; +var11 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var11 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var11 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var14)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1785); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1882); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype16 = type_nullable__nit__TKwredef.color; -idtype17 = type_nullable__nit__TKwredef.id; +cltype13 = type_nullable__nit__TKwredef.color; +idtype14 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var15 = 1; +var12 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { -var15 = 0; +if(cltype13 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var12 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var12 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype13] == idtype14; } } -if (unlikely(!var15)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1787); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1884); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype19 = type_nullable__nit__AVisibility.color; -idtype20 = type_nullable__nit__AVisibility.id; +cltype16 = type_nullable__nit__AVisibility.color; +idtype17 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var18 = 1; +var15 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { -var18 = 0; +if(cltype16 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var15 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var15 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype16] == idtype17; } } -if (unlikely(!var18)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1789); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1886); +fatal_exit(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype22 = type_nullable__nit__AClasskind.color; -idtype23 = type_nullable__nit__AClasskind.id; +cltype19 = type_nullable__nit__AClasskind.color; +idtype20 = type_nullable__nit__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var21 = 1; +var18 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; +if(cltype19 >= (((long)var_pclasskindnode5&3)?type_info[((long)var_pclasskindnode5&3)]:var_pclasskindnode5->type)->table_size) { +var18 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var18 = (((long)var_pclasskindnode5&3)?type_info[((long)var_pclasskindnode5&3)]:var_pclasskindnode5->type)->type_table[cltype19] == idtype20; } } -if (unlikely(!var21)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1791); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1888); +fatal_exit(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype25 = type_nullable__nit__TClassid.color; -idtype26 = type_nullable__nit__TClassid.id; +cltype22 = type_nullable__nit__TClassid.color; +idtype23 = type_nullable__nit__TClassid.id; if(var_tclassidnode6 == NULL) { +var21 = 1; +} else { +if(cltype22 >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) { +var21 = 0; +} else { +var21 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype22] == idtype23; +} +} +if (unlikely(!var21)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1890); +fatal_exit(1); +} +var_pexterncodeblocknode10 = var_nodearraylist7; +/* isa nullable AExternCodeBlock */ +cltype25 = type_nullable__nit__AExternCodeBlock.color; +idtype26 = type_nullable__nit__AExternCodeBlock.id; +if(var_pexterncodeblocknode10 == NULL) { var24 = 1; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { +if(cltype25 >= (((long)var_pexterncodeblocknode10&3)?type_info[((long)var_pexterncodeblocknode10&3)]:var_pexterncodeblocknode10->type)->table_size) { var24 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var24 = (((long)var_pexterncodeblocknode10&3)?type_info[((long)var_pexterncodeblocknode10&3)]:var_pexterncodeblocknode10->type)->type_table[cltype25] == idtype26; } } if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1793); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1892); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ +var_listnode11 = var_nodearraylist8; +/* isa Array[Object] */ cltype28 = type_standard__Array__standard__Object.color; idtype29 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { +if(var_listnode11 == NULL) { var27 = 0; } else { -if(cltype28 >= var_listnode7->type->table_size) { +if(cltype28 >= (((long)var_listnode11&3)?type_info[((long)var_listnode11&3)]:var_listnode11->type)->table_size) { var27 = 0; } else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; +var27 = (((long)var_listnode11&3)?type_info[((long)var_listnode11&3)]:var_listnode11->type)->type_table[cltype28] == idtype29; } } if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1795); -show_backtrace(1); -} -{ -var30 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1894); +fatal_exit(1); } -var_listnode8 = var30; -var31 = NEW_standard__Array(&type_standard__Array__standard__Object); { -standard___standard__Array___standard__kernel__Object__init(var31); /* Direct call array#Array#init on */ +var30 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode12, var_listnode11); } -var_listnode13 = var31; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype33 = type_standard__Array__standard__Object.color; -idtype34 = type_standard__Array__standard__Object.id; -if(var_listnode12 == NULL) { -var32 = 0; +var_listnode12 = var30; +var_tkwendnode13 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype32 = type_nullable__nit__TKwend.color; +idtype33 = type_nullable__nit__TKwend.id; +if(var_tkwendnode13 == NULL) { +var31 = 1; } else { -if(cltype33 >= var_listnode12->type->table_size) { -var32 = 0; +if(cltype32 >= (((long)var_tkwendnode13&3)?type_info[((long)var_tkwendnode13&3)]:var_tkwendnode13->type)->table_size) { +var31 = 0; } else { -var32 = var_listnode12->type->type_table[cltype33] == idtype34; +var31 = (((long)var_tkwendnode13&3)?type_info[((long)var_tkwendnode13&3)]:var_tkwendnode13->type)->type_table[cltype32] == idtype33; } } -if (unlikely(!var32)) { +if (unlikely(!var31)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1799); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1897); +fatal_exit(1); } +var34 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); { -var35 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12); +nit__parser_prod___AStdClassdef___init_astdclassdef(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, ((val*)NULL), var_listnode8, ((val*)NULL), var_pexterncodeblocknode10, var_listnode12, var_tkwendnode13); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_listnode13 = var35; -var36 = NEW_nit__AAnnotations(&type_nit__AAnnotations); -var37 = NULL; -var38 = NULL; -var39 = NULL; -{ -nit__parser_prod___AAnnotations___init_aannotations(var36, var37, var38, var_listnode13, var39); /* Direct call parser_prod#AAnnotations#init_aannotations on */ -} -var_pannotationsnode9 = var36; -var_tkwendnode18 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype41 = type_nullable__nit__TKwend.color; -idtype42 = type_nullable__nit__TKwend.id; -if(var_tkwendnode18 == NULL) { -var40 = 1; -} else { -if(cltype41 >= var_tkwendnode18->type->table_size) { -var40 = 0; -} else { -var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42; -} -} -if (unlikely(!var40)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1808); -show_backtrace(1); -} -var43 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); -var44 = NULL; -{ -nit__parser_prod___AStdClassdef___init_astdclassdef(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var44, var_listnode16, var_listnode17, var_tkwendnode18); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ -} -var_pclassdefnode1 = var43; +var_pclassdefnode1 = var34; var_node_list = var_pclassdefnode1; -var45 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var46 = nit___nit__Parser___go_to(var_p, var45); +var36 = nit___nit__Parser___go_to(var_p, var35); } { -nit___nit__Parser___push(var_p, var46, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction28#action for (self: ReduceAction28, Parser) */ void nit__parser___nit__parser__ReduceAction28___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_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var9 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: 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* var11 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; +val* var_listnode9 /* var listnode9: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var14 /* : Bool */; int cltype; @@ -4207,82 +4045,92 @@ val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var24 /* : Bool */; int cltype25; int idtype26; -val* var_listnode7 /* var listnode7: nullable Object */; +val* var_tobranode7 /* var tobranode7: nullable Object */; short int var27 /* : Bool */; int cltype28; int idtype29; -val* var30 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; +val* var_listnode8 /* var listnode8: nullable Object */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +val* var33 /* : Array[Object] */; +val* var_tcbranode10 /* var tcbranode10: nullable Object */; short int var34 /* : Bool */; int cltype35; int idtype36; -val* var37 /* : AStdClassdef */; -val* var38 /* : null */; +val* var_listnode12 /* var listnode12: nullable Object */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +val* var40 /* : Array[Object] */; +val* var_tkwendnode14 /* var tkwendnode14: nullable Object */; +short int var41 /* : Bool */; +int cltype42; +int idtype43; +val* var44 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var39 /* : Int */; -long var40 /* : Int */; +long var45 /* : Int */; +long var46 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist12 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var1; +var_nodearraylist11 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist10 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var3; +var_nodearraylist9 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var4; +var_nodearraylist8 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var5; +var_nodearraylist7 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var6; +var_nodearraylist6 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var7; +var_nodearraylist5 = var7; { var8 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var8; +var_nodearraylist4 = var8; { var9 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var9; +var_nodearraylist3 = var9; { var10 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var10; -var11 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist2 = var10; { -standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on */ +var11 = nit___nit__Parser___pop(var_p); } -var_listnode8 = var11; +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 */ } -var_listnode11 = var12; +var_listnode9 = var12; var13 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ } -var_listnode12 = var13; +var_listnode13 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; @@ -4290,16 +4138,16 @@ idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { var14 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { var14 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var14 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1845); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1935); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ @@ -4308,16 +4156,16 @@ idtype17 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { var15 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { +if(cltype16 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { var15 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var15 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype16] == idtype17; } } if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1847); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1937); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ @@ -4326,16 +4174,16 @@ idtype20 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { var18 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { +if(cltype19 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { var18 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var18 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype19] == idtype20; } } if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1849); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1939); +fatal_exit(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ @@ -4344,16 +4192,16 @@ idtype23 = type_nullable__nit__AClasskind.id; if(var_pclasskindnode5 == NULL) { var21 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { +if(cltype22 >= (((long)var_pclasskindnode5&3)?type_info[((long)var_pclasskindnode5&3)]:var_pclasskindnode5->type)->table_size) { var21 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var21 = (((long)var_pclasskindnode5&3)?type_info[((long)var_pclasskindnode5&3)]:var_pclasskindnode5->type)->type_table[cltype22] == idtype23; } } if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1941); +fatal_exit(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ @@ -4362,124 +4210,164 @@ idtype26 = type_nullable__nit__TClassid.id; if(var_tclassidnode6 == NULL) { var24 = 1; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { +if(cltype25 >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) { var24 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var24 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype25] == idtype26; } } if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1853); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1943); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype28 = type_standard__Array__standard__Object.color; -idtype29 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var27 = 0; +var_tobranode7 = var_nodearraylist7; +/* isa nullable TObra */ +cltype28 = type_nullable__nit__TObra.color; +idtype29 = type_nullable__nit__TObra.id; +if(var_tobranode7 == NULL) { +var27 = 1; } else { -if(cltype28 >= var_listnode7->type->table_size) { +if(cltype28 >= (((long)var_tobranode7&3)?type_info[((long)var_tobranode7&3)]:var_tobranode7->type)->table_size) { var27 = 0; } else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; +var27 = (((long)var_tobranode7&3)?type_info[((long)var_tobranode7&3)]:var_tobranode7->type)->type_table[cltype28] == idtype29; } } if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1855); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1945); +fatal_exit(1); } -{ -var30 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); -} -var_listnode8 = var30; -var_pexterncodeblocknode10 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype32 = type_nullable__nit__AExternCodeBlock.color; -idtype33 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var31 = 1; +var_listnode8 = var_nodearraylist9; +/* isa Array[Object] */ +cltype31 = type_standard__Array__standard__Object.color; +idtype32 = type_standard__Array__standard__Object.id; +if(var_listnode8 == NULL) { +var30 = 0; } else { -if(cltype32 >= var_pexterncodeblocknode10->type->table_size) { -var31 = 0; +if(cltype31 >= (((long)var_listnode8&3)?type_info[((long)var_listnode8&3)]:var_listnode8->type)->table_size) { +var30 = 0; } else { -var31 = var_pexterncodeblocknode10->type->type_table[cltype32] == idtype33; +var30 = (((long)var_listnode8&3)?type_info[((long)var_listnode8&3)]:var_listnode8->type)->type_table[cltype31] == idtype32; } } -if (unlikely(!var31)) { +if (unlikely(!var30)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1858); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1947); +fatal_exit(1); } -var_tkwendnode13 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype35 = type_nullable__nit__TKwend.color; -idtype36 = type_nullable__nit__TKwend.id; -if(var_tkwendnode13 == NULL) { +{ +var33 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode9, var_listnode8); +} +var_listnode9 = var33; +var_tcbranode10 = var_nodearraylist10; +/* isa nullable TCbra */ +cltype35 = type_nullable__nit__TCbra.color; +idtype36 = type_nullable__nit__TCbra.id; +if(var_tcbranode10 == NULL) { var34 = 1; } else { -if(cltype35 >= var_tkwendnode13->type->table_size) { +if(cltype35 >= (((long)var_tcbranode10&3)?type_info[((long)var_tcbranode10&3)]:var_tcbranode10->type)->table_size) { var34 = 0; } else { -var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36; +var34 = (((long)var_tcbranode10&3)?type_info[((long)var_tcbranode10&3)]:var_tcbranode10->type)->type_table[cltype35] == idtype36; } } if (unlikely(!var34)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1860); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1950); +fatal_exit(1); +} +var_listnode12 = var_nodearraylist11; +/* isa Array[Object] */ +cltype38 = type_standard__Array__standard__Object.color; +idtype39 = type_standard__Array__standard__Object.id; +if(var_listnode12 == NULL) { +var37 = 0; +} else { +if(cltype38 >= (((long)var_listnode12&3)?type_info[((long)var_listnode12&3)]:var_listnode12->type)->table_size) { +var37 = 0; +} else { +var37 = (((long)var_listnode12&3)?type_info[((long)var_listnode12&3)]:var_listnode12->type)->type_table[cltype38] == idtype39; +} +} +if (unlikely(!var37)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1952); +fatal_exit(1); +} +{ +var40 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12); +} +var_listnode13 = var40; +var_tkwendnode14 = var_nodearraylist12; +/* isa nullable TKwend */ +cltype42 = type_nullable__nit__TKwend.color; +idtype43 = type_nullable__nit__TKwend.id; +if(var_tkwendnode14 == NULL) { +var41 = 1; +} else { +if(cltype42 >= (((long)var_tkwendnode14&3)?type_info[((long)var_tkwendnode14&3)]:var_tkwendnode14->type)->table_size) { +var41 = 0; +} else { +var41 = (((long)var_tkwendnode14&3)?type_info[((long)var_tkwendnode14&3)]:var_tkwendnode14->type)->type_table[cltype42] == idtype43; +} +} +if (unlikely(!var41)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1955); +fatal_exit(1); } -var37 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); -var38 = NULL; +var44 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var38, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AStdClassdef___init_astdclassdef(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_tobranode7, var_listnode9, var_tcbranode10, ((val*)NULL), var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var37; +var_pclassdefnode1 = var44; var_node_list = var_pclassdefnode1; -var39 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var45 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var40 = nit___nit__Parser___go_to(var_p, var39); +var46 = nit___nit__Parser___go_to(var_p, var45); } { -nit___nit__Parser___push(var_p, var40, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var46, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } /* method parser#ReduceAction29#action for (self: ReduceAction29, Parser) */ void nit__parser___nit__parser__ReduceAction29___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_nodearraylist13 /* var nodearraylist13: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; +val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var9 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var10 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var11 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var12 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; +val* var_listnode9 /* var listnode9: Array[Object] */; val* var14 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var15 /* : Bool */; int cltype; @@ -4500,97 +4388,100 @@ val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var25 /* : Bool */; int cltype26; int idtype27; -val* var_listnode7 /* var listnode7: nullable Object */; +val* var_tobranode7 /* var tobranode7: nullable Object */; short int var28 /* : Bool */; int cltype29; int idtype30; -val* var31 /* : Array[Object] */; -val* var32 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode8 /* var listnode8: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : Array[Object] */; +val* var_tcbranode10 /* var tcbranode10: nullable Object */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +val* var_pexterncodeblocknode11 /* var pexterncodeblocknode11: nullable Object */; +short int var38 /* : Bool */; +int cltype39; +int idtype40; val* var_listnode12 /* var listnode12: nullable Object */; -short int var33 /* : Bool */; -int cltype34; -int idtype35; -val* var36 /* : Array[Object] */; -val* var37 /* : AAnnotations */; -val* var38 /* : null */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; short int var41 /* : Bool */; int cltype42; int idtype43; -val* var_tkwendnode18 /* var tkwendnode18: nullable Object */; -short int var44 /* : Bool */; -int cltype45; -int idtype46; -val* var47 /* : AStdClassdef */; +val* var44 /* : Array[Object] */; +val* var_tkwendnode14 /* var tkwendnode14: nullable Object */; +short int var45 /* : Bool */; +int cltype46; +int idtype47; +val* var48 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var48 /* : Int */; long var49 /* : Int */; +long var50 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist13 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist12 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist11 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var3; +var_nodearraylist10 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var4; +var_nodearraylist9 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var5; +var_nodearraylist8 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var6; +var_nodearraylist7 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var7; +var_nodearraylist6 = var7; { var8 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var8; +var_nodearraylist5 = var8; { var9 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var9; +var_nodearraylist4 = var9; { var10 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var10; +var_nodearraylist3 = var10; { var11 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var11; -var12 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist2 = var11; { -standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on */ +var12 = nit___nit__Parser___pop(var_p); } -var_listnode8 = var12; +var_nodearraylist1 = var12; var13 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ } -var_listnode16 = var13; +var_listnode9 = var13; var14 = NEW_standard__Array(&type_standard__Array__standard__Object); { standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ } -var_listnode17 = var14; +var_listnode13 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; @@ -4598,16 +4489,16 @@ idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { var15 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { var15 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var15 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1898); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1994); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ @@ -4616,16 +4507,16 @@ idtype18 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { var16 = 1; } else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { +if(cltype17 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { var16 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var16 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype17] == idtype18; } } if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1900); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1996); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ @@ -4634,16 +4525,16 @@ idtype21 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { var19 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { +if(cltype20 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { var19 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var19 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype20] == idtype21; } } if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1902); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1998); +fatal_exit(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ @@ -4652,16 +4543,16 @@ idtype24 = type_nullable__nit__AClasskind.id; if(var_pclasskindnode5 == NULL) { var22 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { +if(cltype23 >= (((long)var_pclasskindnode5&3)?type_info[((long)var_pclasskindnode5&3)]:var_pclasskindnode5->type)->table_size) { var22 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var22 = (((long)var_pclasskindnode5&3)?type_info[((long)var_pclasskindnode5&3)]:var_pclasskindnode5->type)->type_table[cltype23] == idtype24; } } if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1904); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2000); +fatal_exit(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ @@ -4670,5260 +4561,5424 @@ idtype27 = type_nullable__nit__TClassid.id; if(var_tclassidnode6 == NULL) { var25 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { +if(cltype26 >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) { var25 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var25 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype26] == idtype27; } } if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1906); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2002); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype29 = type_standard__Array__standard__Object.color; -idtype30 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var28 = 0; +var_tobranode7 = var_nodearraylist7; +/* isa nullable TObra */ +cltype29 = type_nullable__nit__TObra.color; +idtype30 = type_nullable__nit__TObra.id; +if(var_tobranode7 == NULL) { +var28 = 1; } else { -if(cltype29 >= var_listnode7->type->table_size) { +if(cltype29 >= (((long)var_tobranode7&3)?type_info[((long)var_tobranode7&3)]:var_tobranode7->type)->table_size) { var28 = 0; } else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var28 = (((long)var_tobranode7&3)?type_info[((long)var_tobranode7&3)]:var_tobranode7->type)->type_table[cltype29] == idtype30; } } if (unlikely(!var28)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1908); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2004); +fatal_exit(1); } -{ -var31 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); +var_listnode8 = var_nodearraylist9; +/* isa Array[Object] */ +cltype32 = type_standard__Array__standard__Object.color; +idtype33 = type_standard__Array__standard__Object.id; +if(var_listnode8 == NULL) { +var31 = 0; +} else { +if(cltype32 >= (((long)var_listnode8&3)?type_info[((long)var_listnode8&3)]:var_listnode8->type)->table_size) { +var31 = 0; +} else { +var31 = (((long)var_listnode8&3)?type_info[((long)var_listnode8&3)]:var_listnode8->type)->type_table[cltype32] == idtype33; +} +} +if (unlikely(!var31)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2006); +fatal_exit(1); } -var_listnode8 = var31; -var32 = NEW_standard__Array(&type_standard__Array__standard__Object); { -standard___standard__Array___standard__kernel__Object__init(var32); /* Direct call array#Array#init on */ +var34 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode9, var_listnode8); } -var_listnode13 = var32; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype34 = type_standard__Array__standard__Object.color; -idtype35 = type_standard__Array__standard__Object.id; -if(var_listnode12 == NULL) { -var33 = 0; +var_listnode9 = var34; +var_tcbranode10 = var_nodearraylist10; +/* isa nullable TCbra */ +cltype36 = type_nullable__nit__TCbra.color; +idtype37 = type_nullable__nit__TCbra.id; +if(var_tcbranode10 == NULL) { +var35 = 1; } else { -if(cltype34 >= var_listnode12->type->table_size) { -var33 = 0; +if(cltype36 >= (((long)var_tcbranode10&3)?type_info[((long)var_tcbranode10&3)]:var_tcbranode10->type)->table_size) { +var35 = 0; } else { -var33 = var_listnode12->type->type_table[cltype34] == idtype35; +var35 = (((long)var_tcbranode10&3)?type_info[((long)var_tcbranode10&3)]:var_tcbranode10->type)->type_table[cltype36] == idtype37; } } -if (unlikely(!var33)) { +if (unlikely(!var35)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1912); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2009); +fatal_exit(1); } -{ -var36 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12); +var_pexterncodeblocknode11 = var_nodearraylist11; +/* isa nullable AExternCodeBlock */ +cltype39 = type_nullable__nit__AExternCodeBlock.color; +idtype40 = type_nullable__nit__AExternCodeBlock.id; +if(var_pexterncodeblocknode11 == NULL) { +var38 = 1; +} else { +if(cltype39 >= (((long)var_pexterncodeblocknode11&3)?type_info[((long)var_pexterncodeblocknode11&3)]:var_pexterncodeblocknode11->type)->table_size) { +var38 = 0; +} else { +var38 = (((long)var_pexterncodeblocknode11&3)?type_info[((long)var_pexterncodeblocknode11&3)]:var_pexterncodeblocknode11->type)->type_table[cltype39] == idtype40; } -var_listnode13 = var36; -var37 = NEW_nit__AAnnotations(&type_nit__AAnnotations); -var38 = NULL; -var39 = NULL; -var40 = NULL; -{ -nit__parser_prod___AAnnotations___init_aannotations(var37, var38, var39, var_listnode13, var40); /* Direct call parser_prod#AAnnotations#init_aannotations on */ } -var_pannotationsnode9 = var37; -var_pexterncodeblocknode15 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype42 = type_nullable__nit__AExternCodeBlock.color; -idtype43 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode15 == NULL) { -var41 = 1; +if (unlikely(!var38)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2011); +fatal_exit(1); +} +var_listnode12 = var_nodearraylist12; +/* isa Array[Object] */ +cltype42 = type_standard__Array__standard__Object.color; +idtype43 = type_standard__Array__standard__Object.id; +if(var_listnode12 == NULL) { +var41 = 0; } else { -if(cltype42 >= var_pexterncodeblocknode15->type->table_size) { +if(cltype42 >= (((long)var_listnode12&3)?type_info[((long)var_listnode12&3)]:var_listnode12->type)->table_size) { var41 = 0; } else { -var41 = var_pexterncodeblocknode15->type->type_table[cltype42] == idtype43; +var41 = (((long)var_listnode12&3)?type_info[((long)var_listnode12&3)]:var_listnode12->type)->type_table[cltype42] == idtype43; } } if (unlikely(!var41)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1921); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2013); +fatal_exit(1); +} +{ +var44 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12); } -var_tkwendnode18 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype45 = type_nullable__nit__TKwend.color; -idtype46 = type_nullable__nit__TKwend.id; -if(var_tkwendnode18 == NULL) { -var44 = 1; +var_listnode13 = var44; +var_tkwendnode14 = var_nodearraylist13; +/* isa nullable TKwend */ +cltype46 = type_nullable__nit__TKwend.color; +idtype47 = type_nullable__nit__TKwend.id; +if(var_tkwendnode14 == NULL) { +var45 = 1; } else { -if(cltype45 >= var_tkwendnode18->type->table_size) { -var44 = 0; +if(cltype46 >= (((long)var_tkwendnode14&3)?type_info[((long)var_tkwendnode14&3)]:var_tkwendnode14->type)->table_size) { +var45 = 0; } else { -var44 = var_tkwendnode18->type->type_table[cltype45] == idtype46; +var45 = (((long)var_tkwendnode14&3)?type_info[((long)var_tkwendnode14&3)]:var_tkwendnode14->type)->type_table[cltype46] == idtype47; } } -if (unlikely(!var44)) { +if (unlikely(!var45)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1923); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2016); +fatal_exit(1); } -var47 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); +var48 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AStdClassdef___init_astdclassdef(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_tobranode7, var_listnode9, var_tcbranode10, var_pexterncodeblocknode11, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var47; +var_pclassdefnode1 = var48; var_node_list = var_pclassdefnode1; -var48 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var49 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var49 = nit___nit__Parser___go_to(var_p, var48); +var50 = nit___nit__Parser___go_to(var_p, var49); } { -nit___nit__Parser___push(var_p, var49, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var50, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction30#action for (self: ReduceAction30, Parser) */ -void nit__parser___nit__parser__ReduceAction30___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction31#action for (self: ReduceAction31, Parser) */ +void nit__parser___nit__parser__ReduceAction31___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 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwredefnode1 /* var tkwredefnode1: nullable Object */; +long var1 /* : Int */; +long var2 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var; +var_tkwredefnode1 = var_nodearraylist1; +var_node_list = var_tkwredefnode1; +var1 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var2 = nit___nit__Parser___go_to(var_p, var1); +} +{ +nit___nit__Parser___push(var_p, var2, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction32#action for (self: ReduceAction32, Parser) */ +void nit__parser___nit__parser__ReduceAction32___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwclassnode2 /* var tkwclassnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : AConcreteClasskind */; +val* var_pclasskindnode1 /* var pclasskindnode1: nullable AConcreteClasskind */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var; +var_tkwclassnode2 = var_nodearraylist1; +/* isa nullable TKwclass */ +cltype = type_nullable__nit__TKwclass.color; +idtype = type_nullable__nit__TKwclass.id; +if(var_tkwclassnode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_tkwclassnode2&3)?type_info[((long)var_tkwclassnode2&3)]:var_tkwclassnode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_tkwclassnode2&3)?type_info[((long)var_tkwclassnode2&3)]:var_tkwclassnode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2052); +fatal_exit(1); +} +var2 = NEW_nit__AConcreteClasskind(&type_nit__AConcreteClasskind); +{ +nit__parser_prod___AConcreteClasskind___init_aconcreteclasskind(var2, var_tkwclassnode2); /* Direct call parser_prod#AConcreteClasskind#init_aconcreteclasskind on */ +} +var_pclasskindnode1 = var2; +var_node_list = var_pclasskindnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); +} +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction33#action for (self: ReduceAction33, Parser) */ +void nit__parser___nit__parser__ReduceAction33___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_tkwabstractnode2 /* var tkwabstractnode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AAbstractClasskind */; +val* var_pclasskindnode1 /* var pclasskindnode1: nullable AAbstractClasskind */; +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_tkwabstractnode2 = var_nodearraylist1; +/* isa nullable TKwabstract */ +cltype = type_nullable__nit__TKwabstract.color; +idtype = type_nullable__nit__TKwabstract.id; +if(var_tkwabstractnode2 == NULL) { +var2 = 1; +} else { +if(cltype >= (((long)var_tkwabstractnode2&3)?type_info[((long)var_tkwabstractnode2&3)]:var_tkwabstractnode2->type)->table_size) { +var2 = 0; +} else { +var2 = (((long)var_tkwabstractnode2&3)?type_info[((long)var_tkwabstractnode2&3)]:var_tkwabstractnode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2068); +fatal_exit(1); +} +var_tkwclassnode3 = var_nodearraylist2; +/* isa nullable TKwclass */ +cltype4 = type_nullable__nit__TKwclass.color; +idtype5 = type_nullable__nit__TKwclass.id; +if(var_tkwclassnode3 == NULL) { +var3 = 1; +} else { +if(cltype4 >= (((long)var_tkwclassnode3&3)?type_info[((long)var_tkwclassnode3&3)]:var_tkwclassnode3->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)var_tkwclassnode3&3)?type_info[((long)var_tkwclassnode3&3)]:var_tkwclassnode3->type)->type_table[cltype4] == idtype5; +} +} +if (unlikely(!var3)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2070); +fatal_exit(1); +} +var6 = NEW_nit__AAbstractClasskind(&type_nit__AAbstractClasskind); +{ +nit__parser_prod___AAbstractClasskind___init_aabstractclasskind(var6, var_tkwabstractnode2, var_tkwclassnode3); /* Direct call parser_prod#AAbstractClasskind#init_aabstractclasskind on */ +} +var_pclasskindnode1 = var6; +var_node_list = var_pclasskindnode1; +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#ReduceAction34#action for (self: ReduceAction34, Parser) */ +void nit__parser___nit__parser__ReduceAction34___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwinterfacenode2 /* var tkwinterfacenode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : AInterfaceClasskind */; +val* var_pclasskindnode1 /* var pclasskindnode1: nullable AInterfaceClasskind */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var; +var_tkwinterfacenode2 = var_nodearraylist1; +/* isa nullable TKwinterface */ +cltype = type_nullable__nit__TKwinterface.color; +idtype = type_nullable__nit__TKwinterface.id; +if(var_tkwinterfacenode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_tkwinterfacenode2&3)?type_info[((long)var_tkwinterfacenode2&3)]:var_tkwinterfacenode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_tkwinterfacenode2&3)?type_info[((long)var_tkwinterfacenode2&3)]:var_tkwinterfacenode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2086); +fatal_exit(1); +} +var2 = NEW_nit__AInterfaceClasskind(&type_nit__AInterfaceClasskind); +{ +nit__parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(var2, var_tkwinterfacenode2); /* Direct call parser_prod#AInterfaceClasskind#init_ainterfaceclasskind on */ +} +var_pclasskindnode1 = var2; +var_node_list = var_pclasskindnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); +} +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction35#action for (self: ReduceAction35, Parser) */ +void nit__parser___nit__parser__ReduceAction35___nit__parser_work__ReduceAction__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwenumnode2 /* var tkwenumnode2: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +val* var2 /* : AEnumClasskind */; +val* var_pclasskindnode1 /* var pclasskindnode1: nullable AEnumClasskind */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var; +var_tkwenumnode2 = var_nodearraylist1; +/* isa nullable TKwenum */ +cltype = type_nullable__nit__TKwenum.color; +idtype = type_nullable__nit__TKwenum.id; +if(var_tkwenumnode2 == NULL) { +var1 = 1; +} else { +if(cltype >= (((long)var_tkwenumnode2&3)?type_info[((long)var_tkwenumnode2&3)]:var_tkwenumnode2->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_tkwenumnode2&3)?type_info[((long)var_tkwenumnode2&3)]:var_tkwenumnode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2101); +fatal_exit(1); +} +var2 = NEW_nit__AEnumClasskind(&type_nit__AEnumClasskind); +{ +nit__parser_prod___AEnumClasskind___init_aenumclasskind(var2, var_tkwenumnode2); /* Direct call parser_prod#AEnumClasskind#init_aenumclasskind on */ +} +var_pclasskindnode1 = var2; +var_node_list = var_pclasskindnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); +} +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction36#action for (self: ReduceAction36, Parser) */ +void nit__parser___nit__parser__ReduceAction36___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_tkwexternnode2 /* var tkwexternnode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype4; +int idtype5; +val* var6 /* : AExternClasskind */; +val* var_pclasskindnode1 /* var pclasskindnode1: nullable AExternClasskind */; +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_tkwexternnode2 = var_nodearraylist1; +/* isa nullable TKwextern */ +cltype = type_nullable__nit__TKwextern.color; +idtype = type_nullable__nit__TKwextern.id; +if(var_tkwexternnode2 == NULL) { +var2 = 1; +} else { +if(cltype >= (((long)var_tkwexternnode2&3)?type_info[((long)var_tkwexternnode2&3)]:var_tkwexternnode2->type)->table_size) { +var2 = 0; +} else { +var2 = (((long)var_tkwexternnode2&3)?type_info[((long)var_tkwexternnode2&3)]:var_tkwexternnode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var2)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2117); +fatal_exit(1); +} +var_tkwclassnode3 = var_nodearraylist2; +/* isa nullable TKwclass */ +cltype4 = type_nullable__nit__TKwclass.color; +idtype5 = type_nullable__nit__TKwclass.id; +if(var_tkwclassnode3 == NULL) { +var3 = 1; +} else { +if(cltype4 >= (((long)var_tkwclassnode3&3)?type_info[((long)var_tkwclassnode3&3)]:var_tkwclassnode3->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)var_tkwclassnode3&3)?type_info[((long)var_tkwclassnode3&3)]:var_tkwclassnode3->type)->type_table[cltype4] == idtype5; +} +} +if (unlikely(!var3)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2119); +fatal_exit(1); +} +var6 = NEW_nit__AExternClasskind(&type_nit__AExternClasskind); +{ +nit__parser_prod___AExternClasskind___init_aexternclasskind(var6, var_tkwexternnode2, var_tkwclassnode3); /* Direct call parser_prod#AExternClasskind#init_aexternclasskind on */ +} +var_pclasskindnode1 = var6; +var_node_list = var_pclasskindnode1; +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#ReduceAction37#action for (self: ReduceAction37, Parser) */ +void nit__parser___nit__parser__ReduceAction37___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_pformaldefnode1 /* var pformaldefnode1: nullable Object */; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +long var4 /* : Int */; +long var5 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var; +var1 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ +} +var_listnode2 = var1; +var_pformaldefnode1 = var_nodearraylist1; +if (var_pformaldefnode1 == NULL) { +var2 = 0; /* is null */ +} else { +var2 = 1; /* arg is null and recv is not */ +} +if (0) { +var3 = ((short int(*)(val* self, val* p0))((((long)var_pformaldefnode1&3)?class_info[((long)var_pformaldefnode1&3)]:var_pformaldefnode1->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pformaldefnode1, ((val*)NULL)); /* != on */ +var2 = var3; +} +if (var2){ +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2, var_pformaldefnode1); /* Direct call array#Array#add on */ +} +} else { +} +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); +} +{ +nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction38#action for (self: ReduceAction38, Parser) */ +void nit__parser___nit__parser__ReduceAction38___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_pformaldefnode1 /* var pformaldefnode1: 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); +} +var_nodearraylist1 = var1; +var2 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ +} +var_listnode3 = var2; +var_pformaldefnode1 = var_nodearraylist1; +var_listnode2 = var_nodearraylist2; +/* isa Array[Object] */ +cltype = type_standard__Array__standard__Object.color; +idtype = type_standard__Array__standard__Object.id; +if(var_listnode2 == NULL) { +var3 = 0; +} else { +if(cltype >= (((long)var_listnode2&3)?type_info[((long)var_listnode2&3)]:var_listnode2->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)var_listnode2&3)?type_info[((long)var_listnode2&3)]:var_listnode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var3)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2153); +fatal_exit(1); +} +if (var_pformaldefnode1 == NULL) { +var4 = 0; /* is null */ +} else { +var4 = 1; /* arg is null and recv is not */ +} +if (0) { +var5 = ((short int(*)(val* self, val* p0))((((long)var_pformaldefnode1&3)?class_info[((long)var_pformaldefnode1&3)]:var_pformaldefnode1->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pformaldefnode1, ((val*)NULL)); /* != on */ +var4 = var5; +} +if (var4){ +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pformaldefnode1); /* Direct call array#Array#add on */ +} +} else { +} +{ +var6 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode3, var_listnode2); +} +var_listnode3 = var6; +var_node_list = var_listnode3; +var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var8 = nit___nit__Parser___go_to(var_p, var7); +} +{ +nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction39#action for (self: ReduceAction39, Parser) */ +void nit__parser___nit__parser__ReduceAction39___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 /* : Array[Object] */; +val* var_listnode1 /* var listnode1: Array[Object] */; +long var1 /* : Int */; +long var2 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +var = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var); /* Direct call array#Array#init on */ +} +var_listnode1 = var; +var_node_list = var_listnode1; +var1 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var2 = nit___nit__Parser___go_to(var_p, var1); +} +{ +nit___nit__Parser___push(var_p, var2, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction40#action for (self: ReduceAction40, Parser) */ +void nit__parser___nit__parser__ReduceAction40___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_pformaldefnode1 /* var pformaldefnode1: nullable Object */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var; +{ +var1 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var2; +var_pformaldefnode1 = var_nodearraylist3; +var_node_list = var_pformaldefnode1; +var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = nit___nit__Parser___go_to(var_p, var3); +} +{ +nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction41#action for (self: ReduceAction41, Parser) */ +void nit__parser___nit__parser__ReduceAction41___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* var9 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var11 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var12 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var34 /* : Array[Object] */; -val* var_tkwendnode14 /* var tkwendnode14: nullable Object */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -val* var38 /* : AStdClassdef */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var41 /* : Int */; -long var42 /* : Int */; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var7 /* : AFormaldef */; +val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; +long var8 /* : Int */; +long var9 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist3 = var; +{ +var1 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist2 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var2; +var_tclassidnode2 = var_nodearraylist1; +/* isa nullable TClassid */ +cltype = type_nullable__nit__TClassid.color; +idtype = type_nullable__nit__TClassid.id; +if(var_tclassidnode2 == NULL) { +var3 = 1; +} else { +if(cltype >= (((long)var_tclassidnode2&3)?type_info[((long)var_tclassidnode2&3)]:var_tclassidnode2->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)var_tclassidnode2&3)?type_info[((long)var_tclassidnode2&3)]:var_tclassidnode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var3)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2194); +fatal_exit(1); +} +var_ptypenode3 = var_nodearraylist2; +/* isa nullable AType */ +cltype5 = type_nullable__nit__AType.color; +idtype6 = type_nullable__nit__AType.id; +if(var_ptypenode3 == NULL) { +var4 = 1; +} else { +if(cltype5 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { +var4 = 0; +} else { +var4 = (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->type_table[cltype5] == idtype6; +} +} +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2196); +fatal_exit(1); +} +var7 = NEW_nit__AFormaldef(&type_nit__AFormaldef); +{ +nit__parser_prod___AFormaldef___init_aformaldef(var7, var_tclassidnode2, var_ptypenode3, ((val*)NULL)); /* Direct call parser_prod#AFormaldef#init_aformaldef on */ +} +var_pformaldefnode1 = var7; +var_node_list = var_pformaldefnode1; +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 */ +} +RET_LABEL:; +} +/* method parser#ReduceAction42#action for (self: ReduceAction42, Parser) */ +void nit__parser___nit__parser__ReduceAction42___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_tclassidnode2 /* var tclassidnode2: nullable Object */; +short int var4 /* : Bool */; +int cltype; +int idtype; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AFormaldef */; +val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; +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_nodearraylist10 = var1; +var_nodearraylist3 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist2 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var3; +var_nodearraylist1 = var3; +var_tclassidnode2 = var_nodearraylist1; +/* isa nullable TClassid */ +cltype = type_nullable__nit__TClassid.color; +idtype = type_nullable__nit__TClassid.id; +if(var_tclassidnode2 == NULL) { +var4 = 1; +} else { +if(cltype >= (((long)var_tclassidnode2&3)?type_info[((long)var_tclassidnode2&3)]:var_tclassidnode2->type)->table_size) { +var4 = 0; +} else { +var4 = (((long)var_tclassidnode2&3)?type_info[((long)var_tclassidnode2&3)]:var_tclassidnode2->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2216); +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(cltype6 >= (((long)var_ptypenode3&3)?type_info[((long)var_ptypenode3&3)]:var_ptypenode3->type)->table_size) { +var5 = 0; +} else { +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, 2218); +fatal_exit(1); +} +var_pannotationsnode4 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype9 = type_nullable__nit__AAnnotations.color; +idtype10 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode4 == NULL) { +var8 = 1; +} else { +if(cltype9 >= (((long)var_pannotationsnode4&3)?type_info[((long)var_pannotationsnode4&3)]:var_pannotationsnode4->type)->table_size) { +var8 = 0; +} else { +var8 = (((long)var_pannotationsnode4&3)?type_info[((long)var_pannotationsnode4&3)]:var_pannotationsnode4->type)->type_table[cltype9] == idtype10; +} +} +if (unlikely(!var8)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2220); +fatal_exit(1); +} +var11 = NEW_nit__AFormaldef(&type_nit__AFormaldef); { -var4 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AFormaldef___init_aformaldef(var11, var_tclassidnode2, var_ptypenode3, var_pannotationsnode4); /* Direct call parser_prod#AFormaldef#init_aformaldef on */ } -var_nodearraylist7 = var4; +var_pformaldefnode1 = var11; +var_node_list = var_pformaldefnode1; +var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = nit___nit__Parser___pop(var_p); +var13 = nit___nit__Parser___go_to(var_p, var12); } -var_nodearraylist6 = var5; { -var6 = nit___nit__Parser___pop(var_p); +nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; } -var_nodearraylist5 = var6; +/* method parser#ReduceAction43#action for (self: ReduceAction43, Parser) */ +void nit__parser___nit__parser__ReduceAction43___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_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var7 /* : Bool */; +int cltype; +int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_tkwsupernode5 /* var tkwsupernode5: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_ptypenode6 /* var ptypenode6: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var23 /* : ASuperPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable ASuperPropdef */; +long var24 /* : Int */; +long var25 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); { -var7 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var7; +var_nodearraylist7 = var; { -var8 = nit___nit__Parser___pop(var_p); +var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var8; +var_nodearraylist6 = var1; { -var9 = nit___nit__Parser___pop(var_p); +var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var9; +var_nodearraylist5 = var2; { -var10 = nit___nit__Parser___pop(var_p); +var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var10; -var11 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist4 = var3; { -standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on */ +var4 = nit___nit__Parser___pop(var_p); } -var_listnode8 = var11; -var12 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist3 = var4; { -standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on */ +var5 = nit___nit__Parser___pop(var_p); } -var_listnode12 = var12; -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist2 = var5; { -standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ +var6 = nit___nit__Parser___pop(var_p); } -var_listnode13 = var13; +var_nodearraylist1 = var6; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var14 = 1; +var7 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var7 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var7 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var14)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1960); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2243); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype16 = type_nullable__nit__TKwredef.color; -idtype17 = type_nullable__nit__TKwredef.id; +cltype9 = type_nullable__nit__TKwredef.color; +idtype10 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var15 = 1; +var8 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { -var15 = 0; +if(cltype9 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var8 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var8 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var15)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1962); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2245); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype19 = type_nullable__nit__AVisibility.color; -idtype20 = type_nullable__nit__AVisibility.id; +cltype12 = type_nullable__nit__AVisibility.color; +idtype13 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var18 = 1; +var11 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { -var18 = 0; +if(cltype12 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var11 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var11 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var18)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1964); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2247); +fatal_exit(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype22 = type_nullable__nit__AClasskind.color; -idtype23 = type_nullable__nit__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var21 = 1; +var_tkwsupernode5 = var_nodearraylist4; +/* isa nullable TKwsuper */ +cltype15 = type_nullable__nit__TKwsuper.color; +idtype16 = type_nullable__nit__TKwsuper.id; +if(var_tkwsupernode5 == NULL) { +var14 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; +if(cltype15 >= (((long)var_tkwsupernode5&3)?type_info[((long)var_tkwsupernode5&3)]:var_tkwsupernode5->type)->table_size) { +var14 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var14 = (((long)var_tkwsupernode5&3)?type_info[((long)var_tkwsupernode5&3)]:var_tkwsupernode5->type)->type_table[cltype15] == idtype16; } } -if (unlikely(!var21)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1966); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2249); +fatal_exit(1); } -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype25 = type_nullable__nit__TClassid.color; -idtype26 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var24 = 1; +var_ptypenode6 = var_nodearraylist6; +/* isa nullable AType */ +cltype18 = type_nullable__nit__AType.color; +idtype19 = type_nullable__nit__AType.id; +if(var_ptypenode6 == NULL) { +var17 = 1; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { -var24 = 0; +if(cltype18 >= (((long)var_ptypenode6&3)?type_info[((long)var_ptypenode6&3)]:var_ptypenode6->type)->table_size) { +var17 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var17 = (((long)var_ptypenode6&3)?type_info[((long)var_ptypenode6&3)]:var_ptypenode6->type)->type_table[cltype18] == idtype19; } } -if (unlikely(!var24)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1968); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2251); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype28 = type_standard__Array__standard__Object.color; -idtype29 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var27 = 0; +var_pannotationsnode7 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype21 = type_nullable__nit__AAnnotations.color; +idtype22 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode7 == NULL) { +var20 = 1; } else { -if(cltype28 >= var_listnode7->type->table_size) { -var27 = 0; +if(cltype21 >= (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->table_size) { +var20 = 0; } else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; +var20 = (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var27)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1970); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2253); +fatal_exit(1); } +var23 = NEW_nit__ASuperPropdef(&type_nit__ASuperPropdef); { -var30 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); +nit__parser_prod___ASuperPropdef___init_asuperpropdef(var23, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwsupernode5, var_ptypenode6, var_pannotationsnode7); /* Direct call parser_prod#ASuperPropdef#init_asuperpropdef on */ } -var_listnode8 = var30; -var_listnode11 = var_nodearraylist8; -/* isa Array[Object] */ -cltype32 = type_standard__Array__standard__Object.color; -idtype33 = type_standard__Array__standard__Object.id; -if(var_listnode11 == NULL) { -var31 = 0; +var_ppropdefnode1 = var23; +var_node_list = var_ppropdefnode1; +var24 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var25 = nit___nit__Parser___go_to(var_p, var24); +} +{ +nit___nit__Parser___push(var_p, var25, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction44#action for (self: ReduceAction44, Parser) */ +void nit__parser___nit__parser__ReduceAction44___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_listnode2 /* var listnode2: Array[Object] */; +val* var_listnode1 /* var listnode1: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var4 /* : Array[Object] */; +long var5 /* : Int */; +long var6 /* : 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_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on */ +} +var_listnode2 = var2; +var_listnode1 = var_nodearraylist1; +/* isa Array[Object] */ +cltype = type_standard__Array__standard__Object.color; +idtype = type_standard__Array__standard__Object.id; +if(var_listnode1 == NULL) { +var3 = 0; } else { -if(cltype32 >= var_listnode11->type->table_size) { -var31 = 0; +if(cltype >= (((long)var_listnode1&3)?type_info[((long)var_listnode1&3)]:var_listnode1->type)->table_size) { +var3 = 0; } else { -var31 = var_listnode11->type->type_table[cltype32] == idtype33; +var3 = (((long)var_listnode1&3)?type_info[((long)var_listnode1&3)]:var_listnode1->type)->type_table[cltype] == idtype; } } -if (unlikely(!var31)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1973); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2275); +fatal_exit(1); } { -var34 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode12, var_listnode11); +var4 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode2, var_listnode1); } -var_listnode12 = var34; -var_tkwendnode14 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype36 = type_nullable__nit__TKwend.color; -idtype37 = type_nullable__nit__TKwend.id; -if(var_tkwendnode14 == NULL) { -var35 = 1; +var_listnode2 = var4; +var_node_list = var_listnode2; +var5 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var6 = nit___nit__Parser___go_to(var_p, var5); +} +{ +nit___nit__Parser___push(var_p, var6, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction45#action for (self: ReduceAction45, Parser) */ +void nit__parser___nit__parser__ReduceAction45___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_ppropdefnode1 /* var ppropdefnode1: nullable Object */; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +long var4 /* : Int */; +long var5 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var; +var1 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ +standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ +} +var_listnode2 = var1; +var_ppropdefnode1 = var_nodearraylist1; +if (var_ppropdefnode1 == NULL) { +var2 = 0; /* is null */ } else { -if(cltype36 >= var_tkwendnode14->type->table_size) { -var35 = 0; +var2 = 1; /* arg is null and recv is not */ +} +if (0) { +var3 = ((short int(*)(val* self, val* p0))((((long)var_ppropdefnode1&3)?class_info[((long)var_ppropdefnode1&3)]:var_ppropdefnode1->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_ppropdefnode1, ((val*)NULL)); /* != on */ +var2 = var3; +} +if (var2){ +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2, var_ppropdefnode1); /* Direct call array#Array#add on */ +} } else { -var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37; } +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); } -if (unlikely(!var35)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 1976); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction46#action for (self: ReduceAction46, Parser) */ +void nit__parser___nit__parser__ReduceAction46___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_listnode1 /* var listnode1: Array[Object] */; +long var2 /* : Int */; +long var3 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } -var38 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); -var39 = NULL; -var40 = NULL; +var_nodearraylist1 = var; +var1 = NEW_standard__Array(&type_standard__Array__standard__Object); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode12, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ } -var_pclassdefnode1 = var38; -var_node_list = var_pclassdefnode1; -var41 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_listnode1 = var1; +var_node_list = var_listnode1; +var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var42 = nit___nit__Parser___go_to(var_p, var41); +var3 = nit___nit__Parser___go_to(var_p, var2); } { -nit___nit__Parser___push(var_p, var42, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction31#action for (self: ReduceAction31, Parser) */ -void nit__parser___nit__parser__ReduceAction31___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction47#action for (self: ReduceAction47, Parser) */ +void nit__parser___nit__parser__ReduceAction47___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_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var3 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_ppropdefnode1 /* var ppropdefnode1: 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_ppropdefnode1 = var_nodearraylist1; +var_node_list = var_ppropdefnode1; +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#ReduceAction48#action for (self: ReduceAction48, Parser) */ +void nit__parser___nit__parser__ReduceAction48___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_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; short int var16 /* : Bool */; int cltype17; int idtype18; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; short int var19 /* : Bool */; int cltype20; int idtype21; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; short int var22 /* : Bool */; int cltype23; int idtype24; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_tkwdonode13 /* var tkwdonode13: nullable Object */; short int var25 /* : Bool */; int cltype26; -int idtype27; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : Array[Object] */; -val* var32 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var33 /* : Bool */; -int cltype34; -int idtype35; -val* var36 /* : Array[Object] */; -val* var37 /* : AAnnotations */; -val* var38 /* : null */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_listnode16 /* var listnode16: nullable Object */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -val* var44 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -val* var48 /* : AStdClassdef */; -val* var49 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var50 /* : Int */; -long var51 /* : Int */; +int idtype27; +val* var_pexprnode14 /* var pexprnode14: nullable Object */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var35 /* : Int */; +long var36 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist9 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist8 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist7 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var3; +var_nodearraylist6 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var4; +var_nodearraylist5 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var5; +var_nodearraylist4 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var6; +var_nodearraylist3 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var7; +var_nodearraylist2 = 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; -var12 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on */ -} -var_listnode8 = var12; -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ -} -var_listnode17 = var13; -var14 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ -} -var_listnode18 = var14; +var_nodearraylist1 = var8; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var9 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var9 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var15)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2014); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2334); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype17 = type_nullable__nit__TKwredef.color; -idtype18 = type_nullable__nit__TKwredef.id; +cltype11 = type_nullable__nit__TKwredef.color; +idtype12 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var16 = 1; +var10 = 1; } else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; +if(cltype11 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var10 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var10 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var16)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2016); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2336); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype20 = type_nullable__nit__AVisibility.color; -idtype21 = type_nullable__nit__AVisibility.id; +cltype14 = type_nullable__nit__AVisibility.color; +idtype15 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var13 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype14 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var13 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var13 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype14] == idtype15; } } -if (unlikely(!var19)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2018); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2338); +fatal_exit(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype23 = type_nullable__nit__AClasskind.color; -idtype24 = type_nullable__nit__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var22 = 1; +var_tkwmethnode5 = var_nodearraylist4; +/* isa nullable TKwmeth */ +cltype17 = type_nullable__nit__TKwmeth.color; +idtype18 = type_nullable__nit__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var16 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype17 >= (((long)var_tkwmethnode5&3)?type_info[((long)var_tkwmethnode5&3)]:var_tkwmethnode5->type)->table_size) { +var16 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var16 = (((long)var_tkwmethnode5&3)?type_info[((long)var_tkwmethnode5&3)]:var_tkwmethnode5->type)->type_table[cltype17] == idtype18; } } -if (unlikely(!var22)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2020); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2340); +fatal_exit(1); } -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype26 = type_nullable__nit__TClassid.color; -idtype27 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var25 = 1; +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype20 = type_nullable__nit__AMethid.color; +idtype21 = type_nullable__nit__AMethid.id; +if(var_pmethidnode8 == NULL) { +var19 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; +if(cltype20 >= (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->table_size) { +var19 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var19 = (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->type_table[cltype20] == idtype21; } } -if (unlikely(!var25)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2022); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2342); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype29 = type_standard__Array__standard__Object.color; -idtype30 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var28 = 0; +var_psignaturenode9 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype23 = type_nullable__nit__ASignature.color; +idtype24 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { +var22 = 1; } else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; +if(cltype23 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var22 = 0; } else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var22 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype23] == idtype24; } } -if (unlikely(!var28)) { +if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2024); -show_backtrace(1); -} -{ -var31 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); -} -var_listnode8 = var31; -var32 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var32); /* Direct call array#Array#init on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2344); +fatal_exit(1); } -var_listnode13 = var32; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype34 = type_standard__Array__standard__Object.color; -idtype35 = type_standard__Array__standard__Object.id; -if(var_listnode12 == NULL) { -var33 = 0; +var_tkwdonode13 = var_nodearraylist7; +/* isa nullable TKwdo */ +cltype26 = type_nullable__nit__TKwdo.color; +idtype27 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode13 == NULL) { +var25 = 1; } else { -if(cltype34 >= var_listnode12->type->table_size) { -var33 = 0; +if(cltype26 >= (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->table_size) { +var25 = 0; } else { -var33 = var_listnode12->type->type_table[cltype34] == idtype35; +var25 = (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->type_table[cltype26] == idtype27; } } -if (unlikely(!var33)) { +if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2028); -show_backtrace(1); -} -{ -var36 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2346); +fatal_exit(1); } -var_listnode13 = var36; -var37 = NEW_nit__AAnnotations(&type_nit__AAnnotations); -var38 = NULL; -var39 = NULL; -var40 = NULL; -{ -nit__parser_prod___AAnnotations___init_aannotations(var37, var38, var39, var_listnode13, var40); /* Direct call parser_prod#AAnnotations#init_aannotations on */ -} -var_pannotationsnode9 = var37; -var_listnode16 = var_nodearraylist9; -/* isa Array[Object] */ -cltype42 = type_standard__Array__standard__Object.color; -idtype43 = type_standard__Array__standard__Object.id; -if(var_listnode16 == NULL) { -var41 = 0; +var_pexprnode14 = var_nodearraylist8; +/* isa nullable AExpr */ +cltype29 = type_nullable__nit__AExpr.color; +idtype30 = type_nullable__nit__AExpr.id; +if(var_pexprnode14 == NULL) { +var28 = 1; } else { -if(cltype42 >= var_listnode16->type->table_size) { -var41 = 0; +if(cltype29 >= (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->table_size) { +var28 = 0; } else { -var41 = var_listnode16->type->type_table[cltype42] == idtype43; +var28 = (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->type_table[cltype29] == idtype30; } } -if (unlikely(!var41)) { +if (unlikely(!var28)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2037); -show_backtrace(1); -} -{ -var44 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode17, var_listnode16); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2348); +fatal_exit(1); } -var_listnode17 = var44; -var_tkwendnode19 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype46 = type_nullable__nit__TKwend.color; -idtype47 = type_nullable__nit__TKwend.id; -if(var_tkwendnode19 == NULL) { -var45 = 1; +var_tkwendnode15 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype32 = type_nullable__nit__TKwend.color; +idtype33 = type_nullable__nit__TKwend.id; +if(var_tkwendnode15 == NULL) { +var31 = 1; } else { -if(cltype46 >= var_tkwendnode19->type->table_size) { -var45 = 0; +if(cltype32 >= (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->table_size) { +var31 = 0; } else { -var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47; +var31 = (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->type_table[cltype32] == idtype33; } } -if (unlikely(!var45)) { +if (unlikely(!var31)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2040); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2350); +fatal_exit(1); } -var48 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); -var49 = NULL; +var34 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode17, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, ((val*)NULL), ((val*)NULL), var_pmethidnode8, var_psignaturenode9, ((val*)NULL), ((val*)NULL), ((val*)NULL), var_tkwdonode13, var_pexprnode14, var_tkwendnode15); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_pclassdefnode1 = var48; -var_node_list = var_pclassdefnode1; -var50 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var34; +var_node_list = var_ppropdefnode1; +var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var51 = nit___nit__Parser___go_to(var_p, var50); +var36 = nit___nit__Parser___go_to(var_p, var35); } { -nit___nit__Parser___push(var_p, var51, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction32#action for (self: ReduceAction32, Parser) */ -void nit__parser___nit__parser__ReduceAction32___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction49#action for (self: ReduceAction49, Parser) */ +void nit__parser___nit__parser__ReduceAction49___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 /* : nullable Object */; val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var3 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var10 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var11 /* : Bool */; +int cltype12; +int idtype13; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var_tkwdonode13 /* var tkwdonode13: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var_pexprnode14 /* var pexprnode14: nullable Object */; short int var32 /* : Bool */; int cltype33; int idtype34; -val* var_listnode11 /* var listnode11: nullable Object */; +val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; short int var35 /* : Bool */; int cltype36; int idtype37; -val* var38 /* : Array[Object] */; -val* var_tkwendnode14 /* var tkwendnode14: nullable Object */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -val* var42 /* : AStdClassdef */; -val* var43 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var44 /* : Int */; -long var45 /* : Int */; +val* var38 /* : AMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var39 /* : Int */; +long var40 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist10 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist9 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist8 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var3; +var_nodearraylist7 = 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; +var_nodearraylist6 = var4; { -var10 = nit___nit__Parser___pop(var_p); +var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var10; +var_nodearraylist5 = var5; { -var11 = nit___nit__Parser___pop(var_p); +var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var11; -var12 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist4 = var6; { -standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on */ +var7 = nit___nit__Parser___pop(var_p); } -var_listnode8 = var12; -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist3 = var7; { -standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ +var8 = nit___nit__Parser___pop(var_p); } -var_listnode12 = var13; -var14 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist2 = var8; { -standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ +var9 = nit___nit__Parser___pop(var_p); } -var_listnode13 = var14; +var_nodearraylist1 = var9; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var10 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var10 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var10 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var15)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2078); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2387); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype17 = type_nullable__nit__TKwredef.color; -idtype18 = type_nullable__nit__TKwredef.id; +cltype12 = type_nullable__nit__TKwredef.color; +idtype13 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var16 = 1; +var11 = 1; } else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; +if(cltype12 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var11 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var11 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var16)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2080); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2389); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype20 = type_nullable__nit__AVisibility.color; -idtype21 = type_nullable__nit__AVisibility.id; +cltype15 = type_nullable__nit__AVisibility.color; +idtype16 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var14 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype15 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var14 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var14 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype15] == idtype16; } } -if (unlikely(!var19)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2082); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2391); +fatal_exit(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype23 = type_nullable__nit__AClasskind.color; -idtype24 = type_nullable__nit__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var22 = 1; +var_tkwmethnode5 = var_nodearraylist4; +/* isa nullable TKwmeth */ +cltype18 = type_nullable__nit__TKwmeth.color; +idtype19 = type_nullable__nit__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var17 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype18 >= (((long)var_tkwmethnode5&3)?type_info[((long)var_tkwmethnode5&3)]:var_tkwmethnode5->type)->table_size) { +var17 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var17 = (((long)var_tkwmethnode5&3)?type_info[((long)var_tkwmethnode5&3)]:var_tkwmethnode5->type)->type_table[cltype18] == idtype19; } } -if (unlikely(!var22)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2084); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2393); +fatal_exit(1); } -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype26 = type_nullable__nit__TClassid.color; -idtype27 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var25 = 1; +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype21 = type_nullable__nit__AMethid.color; +idtype22 = type_nullable__nit__AMethid.id; +if(var_pmethidnode8 == NULL) { +var20 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; +if(cltype21 >= (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->table_size) { +var20 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var20 = (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var25)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2086); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2395); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype29 = type_standard__Array__standard__Object.color; -idtype30 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var28 = 0; +var_psignaturenode9 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype24 = type_nullable__nit__ASignature.color; +idtype25 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { +var23 = 1; } else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; +if(cltype24 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var23 = 0; } else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var23 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype24] == idtype25; } } -if (unlikely(!var28)) { +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2088); -show_backtrace(1); -} -{ -var31 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2397); +fatal_exit(1); } -var_listnode8 = var31; -var_pexterncodeblocknode10 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype33 = type_nullable__nit__AExternCodeBlock.color; -idtype34 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var32 = 1; +var_pannotationsnode10 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype27 = type_nullable__nit__AAnnotations.color; +idtype28 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { +var26 = 1; } else { -if(cltype33 >= var_pexterncodeblocknode10->type->table_size) { -var32 = 0; +if(cltype27 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { +var26 = 0; } else { -var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34; +var26 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype27] == idtype28; } } -if (unlikely(!var32)) { +if (unlikely(!var26)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2091); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2399); +fatal_exit(1); } -var_listnode11 = var_nodearraylist9; -/* isa Array[Object] */ -cltype36 = type_standard__Array__standard__Object.color; -idtype37 = type_standard__Array__standard__Object.id; -if(var_listnode11 == NULL) { -var35 = 0; +var_tkwdonode13 = var_nodearraylist8; +/* isa nullable TKwdo */ +cltype30 = type_nullable__nit__TKwdo.color; +idtype31 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode13 == NULL) { +var29 = 1; } else { -if(cltype36 >= var_listnode11->type->table_size) { -var35 = 0; +if(cltype30 >= (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->table_size) { +var29 = 0; } else { -var35 = var_listnode11->type->type_table[cltype36] == idtype37; +var29 = (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->type_table[cltype30] == idtype31; } } -if (unlikely(!var35)) { +if (unlikely(!var29)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2093); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2401); +fatal_exit(1); } -{ -var38 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode12, var_listnode11); +var_pexprnode14 = var_nodearraylist9; +/* isa nullable AExpr */ +cltype33 = type_nullable__nit__AExpr.color; +idtype34 = type_nullable__nit__AExpr.id; +if(var_pexprnode14 == NULL) { +var32 = 1; +} else { +if(cltype33 >= (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->table_size) { +var32 = 0; +} else { +var32 = (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->type_table[cltype33] == idtype34; } -var_listnode12 = var38; -var_tkwendnode14 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype40 = type_nullable__nit__TKwend.color; -idtype41 = type_nullable__nit__TKwend.id; -if(var_tkwendnode14 == NULL) { -var39 = 1; +} +if (unlikely(!var32)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2403); +fatal_exit(1); +} +var_tkwendnode15 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype36 = type_nullable__nit__TKwend.color; +idtype37 = type_nullable__nit__TKwend.id; +if(var_tkwendnode15 == NULL) { +var35 = 1; } else { -if(cltype40 >= var_tkwendnode14->type->table_size) { -var39 = 0; +if(cltype36 >= (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->table_size) { +var35 = 0; } else { -var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41; +var35 = (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->type_table[cltype36] == idtype37; } } -if (unlikely(!var39)) { +if (unlikely(!var35)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2096); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2405); +fatal_exit(1); } -var42 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); -var43 = NULL; +var38 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var43, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, ((val*)NULL), ((val*)NULL), var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, ((val*)NULL), ((val*)NULL), var_tkwdonode13, var_pexprnode14, var_tkwendnode15); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_pclassdefnode1 = var42; -var_node_list = var_pclassdefnode1; -var44 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var38; +var_node_list = var_ppropdefnode1; +var39 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var45 = nit___nit__Parser___go_to(var_p, var44); +var40 = nit___nit__Parser___go_to(var_p, var39); } { -nit___nit__Parser___push(var_p, var45, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var40, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction33#action for (self: ReduceAction33, Parser) */ -void nit__parser___nit__parser__ReduceAction33___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction50#action for (self: ReduceAction50, Parser) */ +void nit__parser___nit__parser__ReduceAction50___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 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var7 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var8 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var9 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var10 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var11 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var12 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var13 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var15 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var16 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; short int var17 /* : Bool */; int cltype18; int idtype19; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; short int var23 /* : Bool */; int cltype24; int idtype25; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var32 /* : Array[Object] */; -val* var33 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -val* var37 /* : Array[Object] */; -val* var38 /* : AAnnotations */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var41 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -val* var_listnode16 /* var listnode16: nullable Object */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -val* var48 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; -short int var49 /* : Bool */; -int cltype50; -int idtype51; -val* var52 /* : AStdClassdef */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var53 /* : Int */; -long var54 /* : Int */; +val* var26 /* : AMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var27 /* : Int */; +long var28 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist7 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist12 = var1; +var_nodearraylist6 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var2; +var_nodearraylist5 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var3; +var_nodearraylist4 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var4; +var_nodearraylist3 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var5; +var_nodearraylist2 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); +var_nodearraylist1 = var6; +var_pdocnode2 = var_nodearraylist1; +/* isa nullable ADoc */ +cltype = type_nullable__nit__ADoc.color; +idtype = type_nullable__nit__ADoc.id; +if(var_pdocnode2 == NULL) { +var7 = 1; +} else { +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var7 = 0; +} else { +var7 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } -var_nodearraylist6 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); +if (unlikely(!var7)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2439); +fatal_exit(1); } -var_nodearraylist4 = var9; -{ -var10 = nit___nit__Parser___pop(var_p); +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype9 = type_nullable__nit__TKwredef.color; +idtype10 = type_nullable__nit__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var8 = 1; +} else { +if(cltype9 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var8 = 0; +} else { +var8 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype9] == idtype10; } -var_nodearraylist3 = var10; -{ -var11 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var11; -{ -var12 = nit___nit__Parser___pop(var_p); +if (unlikely(!var8)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2441); +fatal_exit(1); } -var_nodearraylist1 = var12; -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype12 = type_nullable__nit__AVisibility.color; +idtype13 = type_nullable__nit__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var11 = 1; +} else { +if(cltype12 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var11 = 0; +} else { +var11 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype12] == idtype13; } -var_listnode8 = var13; -var14 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ } -var_listnode17 = var14; -var15 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on */ +if (unlikely(!var11)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2443); +fatal_exit(1); } -var_listnode18 = var15; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable__nit__ADoc.color; -idtype = type_nullable__nit__ADoc.id; -if(var_pdocnode2 == NULL) { -var16 = 1; +var_tkwmethnode5 = var_nodearraylist4; +/* isa nullable TKwmeth */ +cltype15 = type_nullable__nit__TKwmeth.color; +idtype16 = type_nullable__nit__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var14 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var16 = 0; +if(cltype15 >= (((long)var_tkwmethnode5&3)?type_info[((long)var_tkwmethnode5&3)]:var_tkwmethnode5->type)->table_size) { +var14 = 0; } else { -var16 = var_pdocnode2->type->type_table[cltype] == idtype; +var14 = (((long)var_tkwmethnode5&3)?type_info[((long)var_tkwmethnode5&3)]:var_tkwmethnode5->type)->type_table[cltype15] == idtype16; } } -if (unlikely(!var16)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2135); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2445); +fatal_exit(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype18 = type_nullable__nit__TKwredef.color; -idtype19 = type_nullable__nit__TKwredef.id; -if(var_tkwredefnode3 == NULL) { +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype18 = type_nullable__nit__AMethid.color; +idtype19 = type_nullable__nit__AMethid.id; +if(var_pmethidnode8 == NULL) { var17 = 1; } else { -if(cltype18 >= var_tkwredefnode3->type->table_size) { +if(cltype18 >= (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->table_size) { var17 = 0; } else { -var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; +var17 = (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->type_table[cltype18] == idtype19; } } if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2137); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2447); +fatal_exit(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype21 = type_nullable__nit__AVisibility.color; -idtype22 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { +var_psignaturenode9 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype21 = type_nullable__nit__ASignature.color; +idtype22 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { var20 = 1; } else { -if(cltype21 >= var_pvisibilitynode4->type->table_size) { +if(cltype21 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { var20 = 0; } else { -var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; +var20 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype21] == idtype22; } } if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2139); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2449); +fatal_exit(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype24 = type_nullable__nit__AClasskind.color; -idtype25 = type_nullable__nit__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_pannotationsnode10 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype24 = type_nullable__nit__AAnnotations.color; +idtype25 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { var23 = 1; } else { -if(cltype24 >= var_pclasskindnode5->type->table_size) { +if(cltype24 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { var23 = 0; } else { -var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; +var23 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype24] == idtype25; } } if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2141); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2451); +fatal_exit(1); } -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype27 = type_nullable__nit__TClassid.color; -idtype28 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var26 = 1; -} else { -if(cltype27 >= var_tclassidnode6->type->table_size) { -var26 = 0; -} else { -var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; +var26 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); +{ +nit__parser_prod___AMethPropdef___init_amethpropdef(var26, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, ((val*)NULL), ((val*)NULL), var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, ((val*)NULL), ((val*)NULL), ((val*)NULL), ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } +var_ppropdefnode1 = var26; +var_node_list = var_ppropdefnode1; +var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var28 = nit___nit__Parser___go_to(var_p, var27); } -if (unlikely(!var26)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2143); -show_backtrace(1); +{ +nit___nit__Parser___push(var_p, var28, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype30 = type_standard__Array__standard__Object.color; -idtype31 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var29 = 0; -} else { -if(cltype30 >= var_listnode7->type->table_size) { -var29 = 0; -} else { -var29 = var_listnode7->type->type_table[cltype30] == idtype31; +RET_LABEL:; +} +/* method parser#ReduceAction51#action for (self: ReduceAction51, Parser) */ +void nit__parser___nit__parser__ReduceAction51___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_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_pdocnode2 /* var pdocnode2: nullable Object */; +short int var6 /* : Bool */; +int cltype; +int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var22 /* : AMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var23 /* : Int */; +long var24 /* : Int */; +var_p = p0; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); } +var_nodearraylist6 = var; +{ +var1 = nit___nit__Parser___pop(var_p); } -if (unlikely(!var29)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2145); -show_backtrace(1); +var_nodearraylist5 = var1; +{ +var2 = nit___nit__Parser___pop(var_p); } +var_nodearraylist4 = var2; { -var32 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); +var3 = nit___nit__Parser___pop(var_p); } -var_listnode8 = var32; -var33 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist3 = var3; { -standard___standard__Array___standard__kernel__Object__init(var33); /* Direct call array#Array#init on */ +var4 = nit___nit__Parser___pop(var_p); } -var_listnode13 = var33; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype35 = type_standard__Array__standard__Object.color; -idtype36 = type_standard__Array__standard__Object.id; -if(var_listnode12 == NULL) { -var34 = 0; +var_nodearraylist2 = var4; +{ +var5 = nit___nit__Parser___pop(var_p); +} +var_nodearraylist1 = var5; +var_pdocnode2 = var_nodearraylist1; +/* isa nullable ADoc */ +cltype = type_nullable__nit__ADoc.color; +idtype = type_nullable__nit__ADoc.id; +if(var_pdocnode2 == NULL) { +var6 = 1; } else { -if(cltype35 >= var_listnode12->type->table_size) { -var34 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var6 = 0; } else { -var34 = var_listnode12->type->type_table[cltype35] == idtype36; +var6 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var34)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2149); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2484); +fatal_exit(1); } -{ -var37 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12); +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype8 = type_nullable__nit__TKwredef.color; +idtype9 = type_nullable__nit__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var7 = 1; +} else { +if(cltype8 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var7 = 0; +} else { +var7 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype8] == idtype9; } -var_listnode13 = var37; -var38 = NEW_nit__AAnnotations(&type_nit__AAnnotations); -var39 = NULL; -var40 = NULL; -var41 = NULL; -{ -nit__parser_prod___AAnnotations___init_aannotations(var38, var39, var40, var_listnode13, var41); /* Direct call parser_prod#AAnnotations#init_aannotations on */ } -var_pannotationsnode9 = var38; -var_pexterncodeblocknode15 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype43 = type_nullable__nit__AExternCodeBlock.color; -idtype44 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode15 == NULL) { -var42 = 1; +if (unlikely(!var7)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2486); +fatal_exit(1); +} +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype11 = type_nullable__nit__AVisibility.color; +idtype12 = type_nullable__nit__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var10 = 1; } else { -if(cltype43 >= var_pexterncodeblocknode15->type->table_size) { -var42 = 0; +if(cltype11 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var10 = 0; } else { -var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44; +var10 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var42)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2158); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2488); +fatal_exit(1); } -var_listnode16 = var_nodearraylist10; -/* isa Array[Object] */ -cltype46 = type_standard__Array__standard__Object.color; -idtype47 = type_standard__Array__standard__Object.id; -if(var_listnode16 == NULL) { -var45 = 0; +var_tkwnewnode7 = var_nodearraylist4; +/* isa nullable TKwnew */ +cltype14 = type_nullable__nit__TKwnew.color; +idtype15 = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode7 == NULL) { +var13 = 1; } else { -if(cltype46 >= var_listnode16->type->table_size) { -var45 = 0; +if(cltype14 >= (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->table_size) { +var13 = 0; } else { -var45 = var_listnode16->type->type_table[cltype46] == idtype47; +var13 = (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->type_table[cltype14] == idtype15; } } -if (unlikely(!var45)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2160); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2490); +fatal_exit(1); } -{ -var48 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode17, var_listnode16); +var_psignaturenode9 = var_nodearraylist5; +/* isa nullable ASignature */ +cltype17 = type_nullable__nit__ASignature.color; +idtype18 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { +var16 = 1; +} else { +if(cltype17 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var16 = 0; +} else { +var16 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype17] == idtype18; +} +} +if (unlikely(!var16)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2492); +fatal_exit(1); } -var_listnode17 = var48; -var_tkwendnode19 = var_nodearraylist12; -/* isa nullable TKwend */ -cltype50 = type_nullable__nit__TKwend.color; -idtype51 = type_nullable__nit__TKwend.id; -if(var_tkwendnode19 == NULL) { -var49 = 1; +var_pannotationsnode10 = var_nodearraylist6; +/* isa nullable AAnnotations */ +cltype20 = type_nullable__nit__AAnnotations.color; +idtype21 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { +var19 = 1; } else { -if(cltype50 >= var_tkwendnode19->type->table_size) { -var49 = 0; +if(cltype20 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { +var19 = 0; } else { -var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51; +var19 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype20] == idtype21; } } -if (unlikely(!var49)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2163); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2494); +fatal_exit(1); } -var52 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); +var22 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var22, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), ((val*)NULL), var_tkwnewnode7, ((val*)NULL), var_psignaturenode9, var_pannotationsnode10, ((val*)NULL), ((val*)NULL), ((val*)NULL), ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_pclassdefnode1 = var52; -var_node_list = var_pclassdefnode1; -var53 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var22; +var_node_list = var_ppropdefnode1; +var23 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var54 = nit___nit__Parser___go_to(var_p, var53); +var24 = nit___nit__Parser___go_to(var_p, var23); } { -nit___nit__Parser___push(var_p, var54, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var24, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction34#action for (self: ReduceAction34, Parser) */ -void nit__parser___nit__parser__ReduceAction34___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction52#action for (self: ReduceAction52, Parser) */ +void nit__parser___nit__parser__ReduceAction52___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 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var5 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var11 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var12 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var8 /* : Bool */; +int cltype9; +int idtype10; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var34 /* : Array[Object] */; -val* var_tkwendnode14 /* var tkwendnode14: nullable Object */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -val* var38 /* : AStdClassdef */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var41 /* : Int */; -long var42 /* : Int */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var26 /* : AMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var27 /* : Int */; +long var28 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist7 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var1; +var_nodearraylist6 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist5 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var3; +var_nodearraylist4 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var4; +var_nodearraylist3 = 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; -{ -var10 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var10; -var11 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var11); /* Direct call array#Array#init on */ -} -var_listnode8 = var11; -var12 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on */ -} -var_listnode11 = var12; -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist2 = var5; { -standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ +var6 = nit___nit__Parser___pop(var_p); } -var_listnode13 = var13; +var_nodearraylist1 = var6; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var14 = 1; +var7 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var7 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var7 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var14)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2200); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2528); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype16 = type_nullable__nit__TKwredef.color; -idtype17 = type_nullable__nit__TKwredef.id; +cltype9 = type_nullable__nit__TKwredef.color; +idtype10 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var15 = 1; +var8 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { -var15 = 0; +if(cltype9 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var8 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var8 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype9] == idtype10; } } -if (unlikely(!var15)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2202); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2530); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype19 = type_nullable__nit__AVisibility.color; -idtype20 = type_nullable__nit__AVisibility.id; +cltype12 = type_nullable__nit__AVisibility.color; +idtype13 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var18 = 1; -} else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { -var18 = 0; -} else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; -} -} -if (unlikely(!var18)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2204); -show_backtrace(1); -} -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype22 = type_nullable__nit__AClasskind.color; -idtype23 = type_nullable__nit__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var21 = 1; +var11 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; +if(cltype12 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var11 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var11 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var21)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2206); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2532); +fatal_exit(1); } -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype25 = type_nullable__nit__TClassid.color; -idtype26 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var24 = 1; +var_tkwnewnode7 = var_nodearraylist4; +/* isa nullable TKwnew */ +cltype15 = type_nullable__nit__TKwnew.color; +idtype16 = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode7 == NULL) { +var14 = 1; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { -var24 = 0; +if(cltype15 >= (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->table_size) { +var14 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var14 = (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->type_table[cltype15] == idtype16; } } -if (unlikely(!var24)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2208); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2534); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype28 = type_standard__Array__standard__Object.color; -idtype29 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var27 = 0; +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype18 = type_nullable__nit__AMethid.color; +idtype19 = type_nullable__nit__AMethid.id; +if(var_pmethidnode8 == NULL) { +var17 = 1; } else { -if(cltype28 >= var_listnode7->type->table_size) { -var27 = 0; +if(cltype18 >= (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->table_size) { +var17 = 0; } else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; +var17 = (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->type_table[cltype18] == idtype19; } } -if (unlikely(!var27)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2210); -show_backtrace(1); -} -{ -var30 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2536); +fatal_exit(1); } -var_listnode8 = var30; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype32 = type_standard__Array__standard__Object.color; -idtype33 = type_standard__Array__standard__Object.id; -if(var_listnode12 == NULL) { -var31 = 0; +var_psignaturenode9 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype21 = type_nullable__nit__ASignature.color; +idtype22 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { +var20 = 1; } else { -if(cltype32 >= var_listnode12->type->table_size) { -var31 = 0; +if(cltype21 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var20 = 0; } else { -var31 = var_listnode12->type->type_table[cltype32] == idtype33; +var20 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var31)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2213); -show_backtrace(1); -} -{ -var34 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2538); +fatal_exit(1); } -var_listnode13 = var34; -var_tkwendnode14 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype36 = type_nullable__nit__TKwend.color; -idtype37 = type_nullable__nit__TKwend.id; -if(var_tkwendnode14 == NULL) { -var35 = 1; +var_pannotationsnode10 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype24 = type_nullable__nit__AAnnotations.color; +idtype25 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { +var23 = 1; } else { -if(cltype36 >= var_tkwendnode14->type->table_size) { -var35 = 0; +if(cltype24 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { +var23 = 0; } else { -var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37; +var23 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype24] == idtype25; } } -if (unlikely(!var35)) { +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2216); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2540); +fatal_exit(1); } -var38 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); -var39 = NULL; -var40 = NULL; +var26 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode11, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var26, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), ((val*)NULL), var_tkwnewnode7, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, ((val*)NULL), ((val*)NULL), ((val*)NULL), ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_pclassdefnode1 = var38; -var_node_list = var_pclassdefnode1; -var41 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var26; +var_node_list = var_ppropdefnode1; +var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var42 = nit___nit__Parser___go_to(var_p, var41); +var28 = nit___nit__Parser___go_to(var_p, var27); } { -nit___nit__Parser___push(var_p, var42, 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#ReduceAction35#action for (self: ReduceAction35, Parser) */ -void nit__parser___nit__parser__ReduceAction35___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction53#action for (self: ReduceAction53, Parser) */ +void nit__parser___nit__parser__ReduceAction53___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 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var9 /* : Bool */; +int cltype10; +int idtype11; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : Array[Object] */; -val* var32 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var33 /* : Bool */; -int cltype34; -int idtype35; -val* var36 /* : Array[Object] */; -val* var37 /* : AAnnotations */; -val* var38 /* : null */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_listnode17 /* var listnode17: nullable Object */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -val* var44 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -val* var48 /* : AStdClassdef */; -val* var49 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var50 /* : Int */; -long var51 /* : Int */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var_tkwdonode13 /* var tkwdonode13: nullable Object */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var_pexprnode14 /* var pexprnode14: nullable Object */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : AMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var31 /* : Int */; +long var32 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist8 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist7 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist6 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var3; +var_nodearraylist5 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var4; +var_nodearraylist4 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var5; +var_nodearraylist3 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var6; +var_nodearraylist2 = 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; -var12 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on */ -} -var_listnode8 = var12; -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ -} -var_listnode16 = var13; -var14 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ -} -var_listnode18 = var14; +var_nodearraylist1 = var7; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var8 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var8 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var8 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var15)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2254); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2575); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype17 = type_nullable__nit__TKwredef.color; -idtype18 = type_nullable__nit__TKwredef.id; +cltype10 = type_nullable__nit__TKwredef.color; +idtype11 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var16 = 1; -} else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; -} else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; -} -} -if (unlikely(!var16)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2256); -show_backtrace(1); -} -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype20 = type_nullable__nit__AVisibility.color; -idtype21 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var19 = 1; -} else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; -} else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; -} -} -if (unlikely(!var19)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2258); -show_backtrace(1); -} -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype23 = type_nullable__nit__AClasskind.color; -idtype24 = type_nullable__nit__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var22 = 1; +var9 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype10 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var9 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var9 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype10] == idtype11; } } -if (unlikely(!var22)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2260); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2577); +fatal_exit(1); } -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype26 = type_nullable__nit__TClassid.color; -idtype27 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var25 = 1; +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype13 = type_nullable__nit__AVisibility.color; +idtype14 = type_nullable__nit__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var12 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; +if(cltype13 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var12 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var12 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype13] == idtype14; } } -if (unlikely(!var25)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2262); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2579); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype29 = type_standard__Array__standard__Object.color; -idtype30 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var28 = 0; +var_tkwnewnode7 = var_nodearraylist4; +/* isa nullable TKwnew */ +cltype16 = type_nullable__nit__TKwnew.color; +idtype17 = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode7 == NULL) { +var15 = 1; } else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; +if(cltype16 >= (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->table_size) { +var15 = 0; } else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var15 = (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->type_table[cltype16] == idtype17; } } -if (unlikely(!var28)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2264); -show_backtrace(1); -} -{ -var31 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); -} -var_listnode8 = var31; -var32 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var32); /* Direct call array#Array#init on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2581); +fatal_exit(1); } -var_listnode13 = var32; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype34 = type_standard__Array__standard__Object.color; -idtype35 = type_standard__Array__standard__Object.id; -if(var_listnode12 == NULL) { -var33 = 0; +var_psignaturenode9 = var_nodearraylist5; +/* isa nullable ASignature */ +cltype19 = type_nullable__nit__ASignature.color; +idtype20 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { +var18 = 1; } else { -if(cltype34 >= var_listnode12->type->table_size) { -var33 = 0; +if(cltype19 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var18 = 0; } else { -var33 = var_listnode12->type->type_table[cltype34] == idtype35; +var18 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype19] == idtype20; } } -if (unlikely(!var33)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2268); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2583); +fatal_exit(1); } -{ -var36 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12); +var_tkwdonode13 = var_nodearraylist6; +/* isa nullable TKwdo */ +cltype22 = type_nullable__nit__TKwdo.color; +idtype23 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode13 == NULL) { +var21 = 1; +} else { +if(cltype22 >= (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->table_size) { +var21 = 0; +} else { +var21 = (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->type_table[cltype22] == idtype23; } -var_listnode13 = var36; -var37 = NEW_nit__AAnnotations(&type_nit__AAnnotations); -var38 = NULL; -var39 = NULL; -var40 = NULL; -{ -nit__parser_prod___AAnnotations___init_aannotations(var37, var38, var39, var_listnode13, var40); /* Direct call parser_prod#AAnnotations#init_aannotations on */ } -var_pannotationsnode9 = var37; -var_listnode17 = var_nodearraylist9; -/* isa Array[Object] */ -cltype42 = type_standard__Array__standard__Object.color; -idtype43 = type_standard__Array__standard__Object.id; -if(var_listnode17 == NULL) { -var41 = 0; +if (unlikely(!var21)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2585); +fatal_exit(1); +} +var_pexprnode14 = var_nodearraylist7; +/* isa nullable AExpr */ +cltype25 = type_nullable__nit__AExpr.color; +idtype26 = type_nullable__nit__AExpr.id; +if(var_pexprnode14 == NULL) { +var24 = 1; } else { -if(cltype42 >= var_listnode17->type->table_size) { -var41 = 0; +if(cltype25 >= (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->table_size) { +var24 = 0; } else { -var41 = var_listnode17->type->type_table[cltype42] == idtype43; +var24 = (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->type_table[cltype25] == idtype26; } } -if (unlikely(!var41)) { +if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2277); -show_backtrace(1); -} -{ -var44 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode18, var_listnode17); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2587); +fatal_exit(1); } -var_listnode18 = var44; -var_tkwendnode19 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype46 = type_nullable__nit__TKwend.color; -idtype47 = type_nullable__nit__TKwend.id; -if(var_tkwendnode19 == NULL) { -var45 = 1; +var_tkwendnode15 = var_nodearraylist8; +/* isa nullable TKwend */ +cltype28 = type_nullable__nit__TKwend.color; +idtype29 = type_nullable__nit__TKwend.id; +if(var_tkwendnode15 == NULL) { +var27 = 1; } else { -if(cltype46 >= var_tkwendnode19->type->table_size) { -var45 = 0; +if(cltype28 >= (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->table_size) { +var27 = 0; } else { -var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47; +var27 = (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->type_table[cltype28] == idtype29; } } -if (unlikely(!var45)) { +if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2280); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2589); +fatal_exit(1); } -var48 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); -var49 = NULL; +var30 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode16, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var30, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), ((val*)NULL), var_tkwnewnode7, ((val*)NULL), var_psignaturenode9, ((val*)NULL), ((val*)NULL), ((val*)NULL), var_tkwdonode13, var_pexprnode14, var_tkwendnode15); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_pclassdefnode1 = var48; -var_node_list = var_pclassdefnode1; -var50 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var30; +var_node_list = var_ppropdefnode1; +var31 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var51 = nit___nit__Parser___go_to(var_p, var50); +var32 = nit___nit__Parser___go_to(var_p, var31); } { -nit___nit__Parser___push(var_p, var51, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var32, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction36#action for (self: ReduceAction36, Parser) */ -void nit__parser___nit__parser__ReduceAction36___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction54#action for (self: ReduceAction54, Parser) */ +void nit__parser___nit__parser__ReduceAction54___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 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; short int var16 /* : Bool */; int cltype17; int idtype18; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; short int var19 /* : Bool */; int cltype20; int idtype21; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; short int var22 /* : Bool */; int cltype23; int idtype24; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_tkwdonode13 /* var tkwdonode13: nullable Object */; short int var25 /* : Bool */; int cltype26; int idtype27; -val* var_listnode7 /* var listnode7: nullable Object */; +val* var_pexprnode14 /* var pexprnode14: nullable Object */; short int var28 /* : Bool */; int cltype29; int idtype30; -val* var31 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -val* var38 /* : Array[Object] */; -val* var_tkwendnode14 /* var tkwendnode14: nullable Object */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -val* var42 /* : AStdClassdef */; -val* var43 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var44 /* : Int */; -long var45 /* : Int */; +val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var35 /* : Int */; +long var36 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist9 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist8 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist7 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var3; +var_nodearraylist6 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var4; +var_nodearraylist5 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var5; +var_nodearraylist4 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var6; +var_nodearraylist3 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var7; +var_nodearraylist2 = 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; -var12 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on */ -} -var_listnode8 = var12; -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ -} -var_listnode11 = var13; -var14 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ -} -var_listnode13 = var14; +var_nodearraylist1 = var8; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var9 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var9 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var15)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2318); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2625); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype17 = type_nullable__nit__TKwredef.color; -idtype18 = type_nullable__nit__TKwredef.id; +cltype11 = type_nullable__nit__TKwredef.color; +idtype12 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var16 = 1; +var10 = 1; } else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; +if(cltype11 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var10 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var10 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var16)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2320); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2627); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype20 = type_nullable__nit__AVisibility.color; -idtype21 = type_nullable__nit__AVisibility.id; +cltype14 = type_nullable__nit__AVisibility.color; +idtype15 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var13 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype14 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var13 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var13 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype14] == idtype15; } } -if (unlikely(!var19)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2322); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2629); +fatal_exit(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype23 = type_nullable__nit__AClasskind.color; -idtype24 = type_nullable__nit__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var22 = 1; +var_tkwnewnode7 = var_nodearraylist4; +/* isa nullable TKwnew */ +cltype17 = type_nullable__nit__TKwnew.color; +idtype18 = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode7 == NULL) { +var16 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype17 >= (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->table_size) { +var16 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var16 = (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->type_table[cltype17] == idtype18; } } -if (unlikely(!var22)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2324); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2631); +fatal_exit(1); } -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype26 = type_nullable__nit__TClassid.color; -idtype27 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var25 = 1; +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype20 = type_nullable__nit__AMethid.color; +idtype21 = type_nullable__nit__AMethid.id; +if(var_pmethidnode8 == NULL) { +var19 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; +if(cltype20 >= (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->table_size) { +var19 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var19 = (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->type_table[cltype20] == idtype21; } } -if (unlikely(!var25)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2326); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2633); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype29 = type_standard__Array__standard__Object.color; -idtype30 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var28 = 0; +var_psignaturenode9 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype23 = type_nullable__nit__ASignature.color; +idtype24 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { +var22 = 1; } else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; +if(cltype23 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var22 = 0; } else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var22 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype23] == idtype24; } } -if (unlikely(!var28)) { +if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2328); -show_backtrace(1); -} -{ -var31 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2635); +fatal_exit(1); } -var_listnode8 = var31; -var_pexterncodeblocknode10 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype33 = type_nullable__nit__AExternCodeBlock.color; -idtype34 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var32 = 1; +var_tkwdonode13 = var_nodearraylist7; +/* isa nullable TKwdo */ +cltype26 = type_nullable__nit__TKwdo.color; +idtype27 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode13 == NULL) { +var25 = 1; } else { -if(cltype33 >= var_pexterncodeblocknode10->type->table_size) { -var32 = 0; +if(cltype26 >= (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->table_size) { +var25 = 0; } else { -var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34; +var25 = (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->type_table[cltype26] == idtype27; } } -if (unlikely(!var32)) { +if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2331); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2637); +fatal_exit(1); } -var_listnode12 = var_nodearraylist9; -/* isa Array[Object] */ -cltype36 = type_standard__Array__standard__Object.color; -idtype37 = type_standard__Array__standard__Object.id; -if(var_listnode12 == NULL) { -var35 = 0; +var_pexprnode14 = var_nodearraylist8; +/* isa nullable AExpr */ +cltype29 = type_nullable__nit__AExpr.color; +idtype30 = type_nullable__nit__AExpr.id; +if(var_pexprnode14 == NULL) { +var28 = 1; } else { -if(cltype36 >= var_listnode12->type->table_size) { -var35 = 0; +if(cltype29 >= (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->table_size) { +var28 = 0; } else { -var35 = var_listnode12->type->type_table[cltype36] == idtype37; +var28 = (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->type_table[cltype29] == idtype30; } } -if (unlikely(!var35)) { +if (unlikely(!var28)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2333); -show_backtrace(1); -} -{ -var38 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2639); +fatal_exit(1); } -var_listnode13 = var38; -var_tkwendnode14 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype40 = type_nullable__nit__TKwend.color; -idtype41 = type_nullable__nit__TKwend.id; -if(var_tkwendnode14 == NULL) { -var39 = 1; +var_tkwendnode15 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype32 = type_nullable__nit__TKwend.color; +idtype33 = type_nullable__nit__TKwend.id; +if(var_tkwendnode15 == NULL) { +var31 = 1; } else { -if(cltype40 >= var_tkwendnode14->type->table_size) { -var39 = 0; +if(cltype32 >= (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->table_size) { +var31 = 0; } else { -var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41; +var31 = (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->type_table[cltype32] == idtype33; } } -if (unlikely(!var39)) { +if (unlikely(!var31)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2336); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2641); +fatal_exit(1); } -var42 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); -var43 = NULL; +var34 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var43, var_pexterncodeblocknode10, var_listnode11, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), ((val*)NULL), var_tkwnewnode7, var_pmethidnode8, var_psignaturenode9, ((val*)NULL), ((val*)NULL), ((val*)NULL), var_tkwdonode13, var_pexprnode14, var_tkwendnode15); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_pclassdefnode1 = var42; -var_node_list = var_pclassdefnode1; -var44 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var34; +var_node_list = var_ppropdefnode1; +var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var45 = nit___nit__Parser___go_to(var_p, var44); +var36 = nit___nit__Parser___go_to(var_p, var35); } { -nit___nit__Parser___push(var_p, var45, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction37#action for (self: ReduceAction37, Parser) */ -void nit__parser___nit__parser__ReduceAction37___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction55#action for (self: ReduceAction55, Parser) */ +void nit__parser___nit__parser__ReduceAction55___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 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var5 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var6 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var7 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var8 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var9 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var10 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var11 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var12 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var13 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; -val* var15 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var16 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var10 /* : Bool */; +int cltype11; +int idtype12; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var32 /* : Array[Object] */; -val* var33 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -val* var37 /* : Array[Object] */; -val* var38 /* : AAnnotations */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var41 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -val* var_listnode17 /* var listnode17: nullable Object */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -val* var48 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; -short int var49 /* : Bool */; -int cltype50; -int idtype51; -val* var52 /* : AStdClassdef */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var53 /* : Int */; -long var54 /* : Int */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var_tkwdonode13 /* var tkwdonode13: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var_pexprnode14 /* var pexprnode14: nullable Object */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var35 /* : Int */; +long var36 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist9 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist12 = var1; +var_nodearraylist8 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var2; +var_nodearraylist7 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var3; +var_nodearraylist6 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var4; +var_nodearraylist5 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var5; +var_nodearraylist4 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var6; +var_nodearraylist3 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var7; +var_nodearraylist2 = 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; -{ -var11 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var11; -{ -var12 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var12; -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ -} -var_listnode8 = var13; -var14 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ -} -var_listnode16 = var14; -var15 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on */ -} -var_listnode18 = var15; +var_nodearraylist1 = var8; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var16 = 1; +var9 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var16 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var9 = 0; } else { -var16 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var16)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2375); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2677); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype18 = type_nullable__nit__TKwredef.color; -idtype19 = type_nullable__nit__TKwredef.id; +cltype11 = type_nullable__nit__TKwredef.color; +idtype12 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var17 = 1; +var10 = 1; } else { -if(cltype18 >= var_tkwredefnode3->type->table_size) { -var17 = 0; +if(cltype11 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var10 = 0; } else { -var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; +var10 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var17)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2377); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2679); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype21 = type_nullable__nit__AVisibility.color; -idtype22 = type_nullable__nit__AVisibility.id; +cltype14 = type_nullable__nit__AVisibility.color; +idtype15 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var20 = 1; -} else { -if(cltype21 >= var_pvisibilitynode4->type->table_size) { -var20 = 0; -} else { -var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; -} -} -if (unlikely(!var20)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2379); -show_backtrace(1); -} -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype24 = type_nullable__nit__AClasskind.color; -idtype25 = type_nullable__nit__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var23 = 1; +var13 = 1; } else { -if(cltype24 >= var_pclasskindnode5->type->table_size) { -var23 = 0; +if(cltype14 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var13 = 0; } else { -var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; +var13 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype14] == idtype15; } } -if (unlikely(!var23)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2381); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2681); +fatal_exit(1); } -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype27 = type_nullable__nit__TClassid.color; -idtype28 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var26 = 1; +var_tkwnewnode7 = var_nodearraylist4; +/* isa nullable TKwnew */ +cltype17 = type_nullable__nit__TKwnew.color; +idtype18 = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode7 == NULL) { +var16 = 1; } else { -if(cltype27 >= var_tclassidnode6->type->table_size) { -var26 = 0; +if(cltype17 >= (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->table_size) { +var16 = 0; } else { -var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; +var16 = (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->type_table[cltype17] == idtype18; } } -if (unlikely(!var26)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2383); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2683); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype30 = type_standard__Array__standard__Object.color; -idtype31 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var29 = 0; +var_psignaturenode9 = var_nodearraylist5; +/* isa nullable ASignature */ +cltype20 = type_nullable__nit__ASignature.color; +idtype21 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { +var19 = 1; } else { -if(cltype30 >= var_listnode7->type->table_size) { -var29 = 0; +if(cltype20 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var19 = 0; } else { -var29 = var_listnode7->type->type_table[cltype30] == idtype31; +var19 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype20] == idtype21; } } -if (unlikely(!var29)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2385); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2685); +fatal_exit(1); } -{ -var32 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); -} -var_listnode8 = var32; -var33 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var33); /* Direct call array#Array#init on */ -} -var_listnode13 = var33; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype35 = type_standard__Array__standard__Object.color; -idtype36 = type_standard__Array__standard__Object.id; -if(var_listnode12 == NULL) { -var34 = 0; +var_pannotationsnode10 = var_nodearraylist6; +/* isa nullable AAnnotations */ +cltype23 = type_nullable__nit__AAnnotations.color; +idtype24 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { +var22 = 1; } else { -if(cltype35 >= var_listnode12->type->table_size) { -var34 = 0; +if(cltype23 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { +var22 = 0; } else { -var34 = var_listnode12->type->type_table[cltype35] == idtype36; +var22 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype23] == idtype24; } } -if (unlikely(!var34)) { +if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2389); -show_backtrace(1); -} -{ -var37 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12); -} -var_listnode13 = var37; -var38 = NEW_nit__AAnnotations(&type_nit__AAnnotations); -var39 = NULL; -var40 = NULL; -var41 = NULL; -{ -nit__parser_prod___AAnnotations___init_aannotations(var38, var39, var40, var_listnode13, var41); /* Direct call parser_prod#AAnnotations#init_aannotations on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2687); +fatal_exit(1); } -var_pannotationsnode9 = var38; -var_pexterncodeblocknode15 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype43 = type_nullable__nit__AExternCodeBlock.color; -idtype44 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode15 == NULL) { -var42 = 1; +var_tkwdonode13 = var_nodearraylist7; +/* isa nullable TKwdo */ +cltype26 = type_nullable__nit__TKwdo.color; +idtype27 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode13 == NULL) { +var25 = 1; } else { -if(cltype43 >= var_pexterncodeblocknode15->type->table_size) { -var42 = 0; +if(cltype26 >= (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->table_size) { +var25 = 0; } else { -var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44; +var25 = (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->type_table[cltype26] == idtype27; } } -if (unlikely(!var42)) { +if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2398); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2689); +fatal_exit(1); } -var_listnode17 = var_nodearraylist10; -/* isa Array[Object] */ -cltype46 = type_standard__Array__standard__Object.color; -idtype47 = type_standard__Array__standard__Object.id; -if(var_listnode17 == NULL) { -var45 = 0; +var_pexprnode14 = var_nodearraylist8; +/* isa nullable AExpr */ +cltype29 = type_nullable__nit__AExpr.color; +idtype30 = type_nullable__nit__AExpr.id; +if(var_pexprnode14 == NULL) { +var28 = 1; } else { -if(cltype46 >= var_listnode17->type->table_size) { -var45 = 0; +if(cltype29 >= (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->table_size) { +var28 = 0; } else { -var45 = var_listnode17->type->type_table[cltype46] == idtype47; +var28 = (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->type_table[cltype29] == idtype30; } } -if (unlikely(!var45)) { +if (unlikely(!var28)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2400); -show_backtrace(1); -} -{ -var48 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode18, var_listnode17); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2691); +fatal_exit(1); } -var_listnode18 = var48; -var_tkwendnode19 = var_nodearraylist12; -/* isa nullable TKwend */ -cltype50 = type_nullable__nit__TKwend.color; -idtype51 = type_nullable__nit__TKwend.id; -if(var_tkwendnode19 == NULL) { -var49 = 1; +var_tkwendnode15 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype32 = type_nullable__nit__TKwend.color; +idtype33 = type_nullable__nit__TKwend.id; +if(var_tkwendnode15 == NULL) { +var31 = 1; } else { -if(cltype50 >= var_tkwendnode19->type->table_size) { -var49 = 0; +if(cltype32 >= (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->table_size) { +var31 = 0; } else { -var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51; +var31 = (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->type_table[cltype32] == idtype33; } } -if (unlikely(!var49)) { +if (unlikely(!var31)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2403); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2693); +fatal_exit(1); } -var52 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); +var34 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), ((val*)NULL), var_tkwnewnode7, ((val*)NULL), var_psignaturenode9, var_pannotationsnode10, ((val*)NULL), ((val*)NULL), var_tkwdonode13, var_pexprnode14, var_tkwendnode15); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_pclassdefnode1 = var52; -var_node_list = var_pclassdefnode1; -var53 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var34; +var_node_list = var_ppropdefnode1; +var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var54 = nit___nit__Parser___go_to(var_p, var53); +var36 = nit___nit__Parser___go_to(var_p, var35); } { -nit___nit__Parser___push(var_p, var54, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction38#action for (self: ReduceAction38, Parser) */ -void nit__parser___nit__parser__ReduceAction38___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction56#action for (self: ReduceAction56, Parser) */ +void nit__parser___nit__parser__ReduceAction56___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 /* : nullable Object */; val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var3 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode14 /* var listnode14: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var10 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var11 /* : Bool */; +int cltype12; +int idtype13; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var_tkwdonode13 /* var tkwdonode13: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var_pexprnode14 /* var pexprnode14: nullable Object */; short int var32 /* : Bool */; int cltype33; int idtype34; -val* var35 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: nullable Object */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; -val* var39 /* : Array[Object] */; val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; -short int var40 /* : Bool */; -int cltype41; -int idtype42; -val* var43 /* : AStdClassdef */; -val* var44 /* : null */; -val* var45 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var46 /* : Int */; -long var47 /* : Int */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +val* var38 /* : AMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var39 /* : Int */; +long var40 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist10 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist9 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist8 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var3; +var_nodearraylist7 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var4; +var_nodearraylist6 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var5; +var_nodearraylist5 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var6; +var_nodearraylist4 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var7; +var_nodearraylist3 = var7; { var8 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var8; +var_nodearraylist2 = 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; -var12 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var12); /* Direct call array#Array#init on */ -} -var_listnode8 = var12; -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ -} -var_listnode12 = var13; -var14 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ -} -var_listnode14 = var14; +var_nodearraylist1 = var9; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var10 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var10 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var10 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var15)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2441); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2730); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype17 = type_nullable__nit__TKwredef.color; -idtype18 = type_nullable__nit__TKwredef.id; +cltype12 = type_nullable__nit__TKwredef.color; +idtype13 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var16 = 1; +var11 = 1; } else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; +if(cltype12 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var11 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var11 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var16)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2443); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2732); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype20 = type_nullable__nit__AVisibility.color; -idtype21 = type_nullable__nit__AVisibility.id; +cltype15 = type_nullable__nit__AVisibility.color; +idtype16 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var14 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype15 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var14 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var14 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype15] == idtype16; } } -if (unlikely(!var19)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2445); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2734); +fatal_exit(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype23 = type_nullable__nit__AClasskind.color; -idtype24 = type_nullable__nit__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var22 = 1; +var_tkwnewnode7 = var_nodearraylist4; +/* isa nullable TKwnew */ +cltype18 = type_nullable__nit__TKwnew.color; +idtype19 = type_nullable__nit__TKwnew.id; +if(var_tkwnewnode7 == NULL) { +var17 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype18 >= (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->table_size) { +var17 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var17 = (((long)var_tkwnewnode7&3)?type_info[((long)var_tkwnewnode7&3)]:var_tkwnewnode7->type)->type_table[cltype18] == idtype19; } } -if (unlikely(!var22)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2447); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2736); +fatal_exit(1); } -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype26 = type_nullable__nit__TClassid.color; -idtype27 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var25 = 1; +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype21 = type_nullable__nit__AMethid.color; +idtype22 = type_nullable__nit__AMethid.id; +if(var_pmethidnode8 == NULL) { +var20 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; +if(cltype21 >= (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->table_size) { +var20 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var20 = (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var25)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2449); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2738); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype29 = type_standard__Array__standard__Object.color; -idtype30 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var28 = 0; +var_psignaturenode9 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype24 = type_nullable__nit__ASignature.color; +idtype25 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { +var23 = 1; } else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; +if(cltype24 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var23 = 0; } else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var23 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype24] == idtype25; } } -if (unlikely(!var28)) { +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2451); -show_backtrace(1); -} -{ -var31 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2740); +fatal_exit(1); } -var_listnode8 = var31; -var_listnode11 = var_nodearraylist8; -/* isa Array[Object] */ -cltype33 = type_standard__Array__standard__Object.color; -idtype34 = type_standard__Array__standard__Object.id; -if(var_listnode11 == NULL) { -var32 = 0; +var_pannotationsnode10 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype27 = type_nullable__nit__AAnnotations.color; +idtype28 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { +var26 = 1; } else { -if(cltype33 >= var_listnode11->type->table_size) { -var32 = 0; +if(cltype27 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { +var26 = 0; } else { -var32 = var_listnode11->type->type_table[cltype33] == idtype34; +var26 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype27] == idtype28; } } -if (unlikely(!var32)) { +if (unlikely(!var26)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2454); -show_backtrace(1); -} -{ -var35 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode12, var_listnode11); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2742); +fatal_exit(1); } -var_listnode12 = var35; -var_listnode13 = var_nodearraylist9; -/* isa Array[Object] */ -cltype37 = type_standard__Array__standard__Object.color; -idtype38 = type_standard__Array__standard__Object.id; -if(var_listnode13 == NULL) { -var36 = 0; +var_tkwdonode13 = var_nodearraylist8; +/* isa nullable TKwdo */ +cltype30 = type_nullable__nit__TKwdo.color; +idtype31 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode13 == NULL) { +var29 = 1; } else { -if(cltype37 >= var_listnode13->type->table_size) { -var36 = 0; +if(cltype30 >= (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->table_size) { +var29 = 0; } else { -var36 = var_listnode13->type->type_table[cltype37] == idtype38; +var29 = (((long)var_tkwdonode13&3)?type_info[((long)var_tkwdonode13&3)]:var_tkwdonode13->type)->type_table[cltype30] == idtype31; } } -if (unlikely(!var36)) { +if (unlikely(!var29)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2457); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2744); +fatal_exit(1); +} +var_pexprnode14 = var_nodearraylist9; +/* isa nullable AExpr */ +cltype33 = type_nullable__nit__AExpr.color; +idtype34 = type_nullable__nit__AExpr.id; +if(var_pexprnode14 == NULL) { +var32 = 1; +} else { +if(cltype33 >= (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->table_size) { +var32 = 0; +} else { +var32 = (((long)var_pexprnode14&3)?type_info[((long)var_pexprnode14&3)]:var_pexprnode14->type)->type_table[cltype33] == idtype34; } -{ -var39 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode14, var_listnode13); } -var_listnode14 = var39; -var_tkwendnode15 = var_nodearraylist11; +if (unlikely(!var32)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2746); +fatal_exit(1); +} +var_tkwendnode15 = var_nodearraylist10; /* isa nullable TKwend */ -cltype41 = type_nullable__nit__TKwend.color; -idtype42 = type_nullable__nit__TKwend.id; +cltype36 = type_nullable__nit__TKwend.color; +idtype37 = type_nullable__nit__TKwend.id; if(var_tkwendnode15 == NULL) { -var40 = 1; +var35 = 1; } else { -if(cltype41 >= var_tkwendnode15->type->table_size) { -var40 = 0; +if(cltype36 >= (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->table_size) { +var35 = 0; } else { -var40 = var_tkwendnode15->type->type_table[cltype41] == idtype42; +var35 = (((long)var_tkwendnode15&3)?type_info[((long)var_tkwendnode15&3)]:var_tkwendnode15->type)->type_table[cltype36] == idtype37; } } -if (unlikely(!var40)) { +if (unlikely(!var35)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2460); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2748); +fatal_exit(1); } -var43 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); -var44 = NULL; -var45 = NULL; +var38 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var44, var45, var_listnode12, var_listnode14, var_tkwendnode15); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, ((val*)NULL), ((val*)NULL), var_tkwnewnode7, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, ((val*)NULL), ((val*)NULL), var_tkwdonode13, var_pexprnode14, var_tkwendnode15); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_pclassdefnode1 = var43; -var_node_list = var_pclassdefnode1; -var46 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var38; +var_node_list = var_ppropdefnode1; +var39 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var47 = nit___nit__Parser___go_to(var_p, var46); +var40 = nit___nit__Parser___go_to(var_p, var39); } { -nit___nit__Parser___push(var_p, var47, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var40, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction39#action for (self: ReduceAction39, Parser) */ -void nit__parser___nit__parser__ReduceAction39___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction57#action for (self: ReduceAction57, Parser) */ +void nit__parser___nit__parser__ReduceAction57___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 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var6 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var7 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var8 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var9 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var10 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var11 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var12 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var13 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var15 /* : Array[Object] */; -val* var_listnode19 /* var listnode19: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var16 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var9 /* : Bool */; +int cltype10; +int idtype11; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var32 /* : Array[Object] */; -val* var33 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -val* var37 /* : Array[Object] */; -val* var38 /* : AAnnotations */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var41 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_listnode16 /* var listnode16: nullable Object */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -val* var45 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: nullable Object */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -val* var49 /* : Array[Object] */; -val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; -short int var50 /* : Bool */; -int cltype51; -int idtype52; -val* var53 /* : AStdClassdef */; -val* var54 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var55 /* : Int */; -long var56 /* : Int */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var_pexterncallsnode11 /* var pexterncallsnode11: nullable Object */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var_pexterncodeblocknode12 /* var pexterncodeblocknode12: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : AMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var31 /* : Int */; +long var32 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist8 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist12 = var1; +var_nodearraylist7 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var2; +var_nodearraylist6 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var3; +var_nodearraylist5 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var4; +var_nodearraylist4 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var5; +var_nodearraylist3 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var6; +var_nodearraylist2 = 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; -{ -var11 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var11; -{ -var12 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var12; -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ -} -var_listnode8 = var13; -var14 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ -} -var_listnode17 = var14; -var15 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on */ -} -var_listnode19 = var15; +var_nodearraylist1 = var7; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var16 = 1; +var8 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var16 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var8 = 0; } else { -var16 = var_pdocnode2->type->type_table[cltype] == idtype; +var8 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var16)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2499); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2783); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype18 = type_nullable__nit__TKwredef.color; -idtype19 = type_nullable__nit__TKwredef.id; +cltype10 = type_nullable__nit__TKwredef.color; +idtype11 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var17 = 1; +var9 = 1; } else { -if(cltype18 >= var_tkwredefnode3->type->table_size) { -var17 = 0; +if(cltype10 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var9 = 0; } else { -var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; +var9 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype10] == idtype11; } } -if (unlikely(!var17)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2501); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2785); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype21 = type_nullable__nit__AVisibility.color; -idtype22 = type_nullable__nit__AVisibility.id; +cltype13 = type_nullable__nit__AVisibility.color; +idtype14 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var20 = 1; -} else { -if(cltype21 >= var_pvisibilitynode4->type->table_size) { -var20 = 0; -} else { -var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; -} -} -if (unlikely(!var20)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2503); -show_backtrace(1); -} -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype24 = type_nullable__nit__AClasskind.color; -idtype25 = type_nullable__nit__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var23 = 1; -} else { -if(cltype24 >= var_pclasskindnode5->type->table_size) { -var23 = 0; -} else { -var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; -} -} -if (unlikely(!var23)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2505); -show_backtrace(1); -} -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype27 = type_nullable__nit__TClassid.color; -idtype28 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var26 = 1; +var12 = 1; } else { -if(cltype27 >= var_tclassidnode6->type->table_size) { -var26 = 0; +if(cltype13 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var12 = 0; } else { -var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; +var12 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype13] == idtype14; } } -if (unlikely(!var26)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2507); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2787); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype30 = type_standard__Array__standard__Object.color; -idtype31 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var29 = 0; +var_tkwmethnode5 = var_nodearraylist4; +/* isa nullable TKwmeth */ +cltype16 = type_nullable__nit__TKwmeth.color; +idtype17 = type_nullable__nit__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var15 = 1; } else { -if(cltype30 >= var_listnode7->type->table_size) { -var29 = 0; +if(cltype16 >= (((long)var_tkwmethnode5&3)?type_info[((long)var_tkwmethnode5&3)]:var_tkwmethnode5->type)->table_size) { +var15 = 0; } else { -var29 = var_listnode7->type->type_table[cltype30] == idtype31; +var15 = (((long)var_tkwmethnode5&3)?type_info[((long)var_tkwmethnode5&3)]:var_tkwmethnode5->type)->type_table[cltype16] == idtype17; } } -if (unlikely(!var29)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2509); -show_backtrace(1); -} -{ -var32 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2789); +fatal_exit(1); } -var_listnode8 = var32; -var33 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var33); /* Direct call array#Array#init on */ -} -var_listnode13 = var33; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype35 = type_standard__Array__standard__Object.color; -idtype36 = type_standard__Array__standard__Object.id; -if(var_listnode12 == NULL) { -var34 = 0; +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype19 = type_nullable__nit__AMethid.color; +idtype20 = type_nullable__nit__AMethid.id; +if(var_pmethidnode8 == NULL) { +var18 = 1; } else { -if(cltype35 >= var_listnode12->type->table_size) { -var34 = 0; +if(cltype19 >= (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->table_size) { +var18 = 0; } else { -var34 = var_listnode12->type->type_table[cltype35] == idtype36; +var18 = (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->type_table[cltype19] == idtype20; } } -if (unlikely(!var34)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2513); -show_backtrace(1); -} -{ -var37 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2791); +fatal_exit(1); } -var_listnode13 = var37; -var38 = NEW_nit__AAnnotations(&type_nit__AAnnotations); -var39 = NULL; -var40 = NULL; -var41 = NULL; -{ -nit__parser_prod___AAnnotations___init_aannotations(var38, var39, var40, var_listnode13, var41); /* Direct call parser_prod#AAnnotations#init_aannotations on */ -} -var_pannotationsnode9 = var38; -var_listnode16 = var_nodearraylist9; -/* isa Array[Object] */ -cltype43 = type_standard__Array__standard__Object.color; -idtype44 = type_standard__Array__standard__Object.id; -if(var_listnode16 == NULL) { -var42 = 0; +var_psignaturenode9 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype22 = type_nullable__nit__ASignature.color; +idtype23 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { +var21 = 1; } else { -if(cltype43 >= var_listnode16->type->table_size) { -var42 = 0; +if(cltype22 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var21 = 0; } else { -var42 = var_listnode16->type->type_table[cltype43] == idtype44; +var21 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype22] == idtype23; } } -if (unlikely(!var42)) { +if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2522); -show_backtrace(1); -} -{ -var45 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode17, var_listnode16); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2793); +fatal_exit(1); } -var_listnode17 = var45; -var_listnode18 = var_nodearraylist10; -/* isa Array[Object] */ -cltype47 = type_standard__Array__standard__Object.color; -idtype48 = type_standard__Array__standard__Object.id; -if(var_listnode18 == NULL) { -var46 = 0; +var_pexterncallsnode11 = var_nodearraylist7; +/* isa nullable AExternCalls */ +cltype25 = type_nullable__nit__AExternCalls.color; +idtype26 = type_nullable__nit__AExternCalls.id; +if(var_pexterncallsnode11 == NULL) { +var24 = 1; } else { -if(cltype47 >= var_listnode18->type->table_size) { -var46 = 0; +if(cltype25 >= (((long)var_pexterncallsnode11&3)?type_info[((long)var_pexterncallsnode11&3)]:var_pexterncallsnode11->type)->table_size) { +var24 = 0; } else { -var46 = var_listnode18->type->type_table[cltype47] == idtype48; +var24 = (((long)var_pexterncallsnode11&3)?type_info[((long)var_pexterncallsnode11&3)]:var_pexterncallsnode11->type)->type_table[cltype25] == idtype26; } } -if (unlikely(!var46)) { +if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2525); -show_backtrace(1); -} -{ -var49 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode19, var_listnode18); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2795); +fatal_exit(1); } -var_listnode19 = var49; -var_tkwendnode20 = var_nodearraylist12; -/* isa nullable TKwend */ -cltype51 = type_nullable__nit__TKwend.color; -idtype52 = type_nullable__nit__TKwend.id; -if(var_tkwendnode20 == NULL) { -var50 = 1; +var_pexterncodeblocknode12 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype28 = type_nullable__nit__AExternCodeBlock.color; +idtype29 = type_nullable__nit__AExternCodeBlock.id; +if(var_pexterncodeblocknode12 == NULL) { +var27 = 1; } else { -if(cltype51 >= var_tkwendnode20->type->table_size) { -var50 = 0; +if(cltype28 >= (((long)var_pexterncodeblocknode12&3)?type_info[((long)var_pexterncodeblocknode12&3)]:var_pexterncodeblocknode12->type)->table_size) { +var27 = 0; } else { -var50 = var_tkwendnode20->type->type_table[cltype51] == idtype52; +var27 = (((long)var_pexterncodeblocknode12&3)?type_info[((long)var_pexterncodeblocknode12&3)]:var_pexterncodeblocknode12->type)->type_table[cltype28] == idtype29; } } -if (unlikely(!var50)) { +if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2528); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2797); +fatal_exit(1); } -var53 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); -var54 = NULL; +var30 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var53, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var54, var_listnode17, var_listnode19, var_tkwendnode20); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var30, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, ((val*)NULL), ((val*)NULL), var_pmethidnode8, var_psignaturenode9, ((val*)NULL), var_pexterncallsnode11, var_pexterncodeblocknode12, ((val*)NULL), ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_pclassdefnode1 = var53; -var_node_list = var_pclassdefnode1; -var55 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var30; +var_node_list = var_ppropdefnode1; +var31 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var56 = nit___nit__Parser___go_to(var_p, var55); +var32 = nit___nit__Parser___go_to(var_p, var31); } { -nit___nit__Parser___push(var_p, var56, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var32, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction40#action for (self: ReduceAction40, Parser) */ -void nit__parser___nit__parser__ReduceAction40___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction58#action for (self: ReduceAction58, Parser) */ +void nit__parser___nit__parser__ReduceAction58___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 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var5 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var6 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var7 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var8 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var9 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var10 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var11 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var12 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var13 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var15 /* : Array[Object] */; -val* var_listnode14 /* var listnode14: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var16 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var10 /* : Bool */; +int cltype11; +int idtype12; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var32 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; -short int var33 /* : Bool */; -int cltype34; -int idtype35; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; -val* var39 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: nullable Object */; -short int var40 /* : Bool */; -int cltype41; -int idtype42; -val* var43 /* : Array[Object] */; -val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; -short int var44 /* : Bool */; -int cltype45; -int idtype46; -val* var47 /* : AStdClassdef */; -val* var48 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var49 /* : Int */; -long var50 /* : Int */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var_pexterncallsnode11 /* var pexterncallsnode11: nullable Object */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var_pexterncodeblocknode12 /* var pexterncodeblocknode12: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var35 /* : Int */; +long var36 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist9 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist12 = var1; +var_nodearraylist8 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var2; +var_nodearraylist7 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var3; +var_nodearraylist6 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var4; +var_nodearraylist5 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var5; +var_nodearraylist4 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist7 = var6; +var_nodearraylist3 = var6; { var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = var7; +var_nodearraylist2 = 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; -{ -var11 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var11; -{ -var12 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var12; -var13 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var13); /* Direct call array#Array#init on */ -} -var_listnode8 = var13; -var14 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ -} -var_listnode12 = var14; -var15 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on */ -} -var_listnode14 = var15; +var_nodearraylist1 = var8; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var16 = 1; +var9 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var16 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var9 = 0; } else { -var16 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var16)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2567); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2833); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype18 = type_nullable__nit__TKwredef.color; -idtype19 = type_nullable__nit__TKwredef.id; +cltype11 = type_nullable__nit__TKwredef.color; +idtype12 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var17 = 1; +var10 = 1; } else { -if(cltype18 >= var_tkwredefnode3->type->table_size) { -var17 = 0; +if(cltype11 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var10 = 0; } else { -var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; +var10 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var17)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2569); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2835); +fatal_exit(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype21 = type_nullable__nit__AVisibility.color; -idtype22 = type_nullable__nit__AVisibility.id; +cltype14 = type_nullable__nit__AVisibility.color; +idtype15 = type_nullable__nit__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var20 = 1; -} else { -if(cltype21 >= var_pvisibilitynode4->type->table_size) { -var20 = 0; -} else { -var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; -} -} -if (unlikely(!var20)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2571); -show_backtrace(1); -} -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype24 = type_nullable__nit__AClasskind.color; -idtype25 = type_nullable__nit__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var23 = 1; +var13 = 1; } else { -if(cltype24 >= var_pclasskindnode5->type->table_size) { -var23 = 0; +if(cltype14 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var13 = 0; } else { -var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; +var13 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype14] == idtype15; } } -if (unlikely(!var23)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2573); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2837); +fatal_exit(1); } -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype27 = type_nullable__nit__TClassid.color; -idtype28 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var26 = 1; +var_tkwmethnode5 = var_nodearraylist4; +/* isa nullable TKwmeth */ +cltype17 = type_nullable__nit__TKwmeth.color; +idtype18 = type_nullable__nit__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var16 = 1; } else { -if(cltype27 >= var_tclassidnode6->type->table_size) { -var26 = 0; +if(cltype17 >= (((long)var_tkwmethnode5&3)?type_info[((long)var_tkwmethnode5&3)]:var_tkwmethnode5->type)->table_size) { +var16 = 0; } else { -var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; +var16 = (((long)var_tkwmethnode5&3)?type_info[((long)var_tkwmethnode5&3)]:var_tkwmethnode5->type)->type_table[cltype17] == idtype18; } } -if (unlikely(!var26)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2575); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2839); +fatal_exit(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype30 = type_standard__Array__standard__Object.color; -idtype31 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var29 = 0; +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype20 = type_nullable__nit__AMethid.color; +idtype21 = type_nullable__nit__AMethid.id; +if(var_pmethidnode8 == NULL) { +var19 = 1; } else { -if(cltype30 >= var_listnode7->type->table_size) { -var29 = 0; +if(cltype20 >= (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->table_size) { +var19 = 0; } else { -var29 = var_listnode7->type->type_table[cltype30] == idtype31; +var19 = (((long)var_pmethidnode8&3)?type_info[((long)var_pmethidnode8&3)]:var_pmethidnode8->type)->type_table[cltype20] == idtype21; } } -if (unlikely(!var29)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2577); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2841); +fatal_exit(1); } -{ -var32 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); -} -var_listnode8 = var32; -var_pexterncodeblocknode10 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype34 = type_nullable__nit__AExternCodeBlock.color; -idtype35 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var33 = 1; +var_psignaturenode9 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype23 = type_nullable__nit__ASignature.color; +idtype24 = type_nullable__nit__ASignature.id; +if(var_psignaturenode9 == NULL) { +var22 = 1; } else { -if(cltype34 >= var_pexterncodeblocknode10->type->table_size) { -var33 = 0; +if(cltype23 >= (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->table_size) { +var22 = 0; } else { -var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35; +var22 = (((long)var_psignaturenode9&3)?type_info[((long)var_psignaturenode9&3)]:var_psignaturenode9->type)->type_table[cltype23] == idtype24; } } -if (unlikely(!var33)) { +if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2580); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2843); +fatal_exit(1); } -var_listnode11 = var_nodearraylist9; -/* isa Array[Object] */ -cltype37 = type_standard__Array__standard__Object.color; -idtype38 = type_standard__Array__standard__Object.id; -if(var_listnode11 == NULL) { -var36 = 0; +var_pannotationsnode10 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype26 = type_nullable__nit__AAnnotations.color; +idtype27 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { +var25 = 1; } else { -if(cltype37 >= var_listnode11->type->table_size) { -var36 = 0; +if(cltype26 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { +var25 = 0; } else { -var36 = var_listnode11->type->type_table[cltype37] == idtype38; +var25 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype26] == idtype27; } } -if (unlikely(!var36)) { +if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2582); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2845); +fatal_exit(1); } -{ -var39 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode12, var_listnode11); -} -var_listnode12 = var39; -var_listnode13 = var_nodearraylist10; -/* isa Array[Object] */ -cltype41 = type_standard__Array__standard__Object.color; -idtype42 = type_standard__Array__standard__Object.id; -if(var_listnode13 == NULL) { -var40 = 0; +var_pexterncallsnode11 = var_nodearraylist8; +/* isa nullable AExternCalls */ +cltype29 = type_nullable__nit__AExternCalls.color; +idtype30 = type_nullable__nit__AExternCalls.id; +if(var_pexterncallsnode11 == NULL) { +var28 = 1; } else { -if(cltype41 >= var_listnode13->type->table_size) { -var40 = 0; +if(cltype29 >= (((long)var_pexterncallsnode11&3)?type_info[((long)var_pexterncallsnode11&3)]:var_pexterncallsnode11->type)->table_size) { +var28 = 0; } else { -var40 = var_listnode13->type->type_table[cltype41] == idtype42; +var28 = (((long)var_pexterncallsnode11&3)?type_info[((long)var_pexterncallsnode11&3)]:var_pexterncallsnode11->type)->type_table[cltype29] == idtype30; } } -if (unlikely(!var40)) { +if (unlikely(!var28)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2585); -show_backtrace(1); -} -{ -var43 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode14, var_listnode13); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2847); +fatal_exit(1); } -var_listnode14 = var43; -var_tkwendnode15 = var_nodearraylist12; -/* isa nullable TKwend */ -cltype45 = type_nullable__nit__TKwend.color; -idtype46 = type_nullable__nit__TKwend.id; -if(var_tkwendnode15 == NULL) { -var44 = 1; +var_pexterncodeblocknode12 = var_nodearraylist9; +/* isa nullable AExternCodeBlock */ +cltype32 = type_nullable__nit__AExternCodeBlock.color; +idtype33 = type_nullable__nit__AExternCodeBlock.id; +if(var_pexterncodeblocknode12 == NULL) { +var31 = 1; } else { -if(cltype45 >= var_tkwendnode15->type->table_size) { -var44 = 0; +if(cltype32 >= (((long)var_pexterncodeblocknode12&3)?type_info[((long)var_pexterncodeblocknode12&3)]:var_pexterncodeblocknode12->type)->table_size) { +var31 = 0; } else { -var44 = var_tkwendnode15->type->type_table[cltype45] == idtype46; +var31 = (((long)var_pexterncodeblocknode12&3)?type_info[((long)var_pexterncodeblocknode12&3)]:var_pexterncodeblocknode12->type)->type_table[cltype32] == idtype33; } } -if (unlikely(!var44)) { +if (unlikely(!var31)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2588); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2849); +fatal_exit(1); } -var47 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); -var48 = NULL; +var34 = NEW_nit__AMethPropdef(&type_nit__AMethPropdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var48, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AMethPropdef___init_amethpropdef(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, ((val*)NULL), ((val*)NULL), var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, var_pexterncallsnode11, var_pexterncodeblocknode12, ((val*)NULL), ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_pclassdefnode1 = var47; -var_node_list = var_pclassdefnode1; -var49 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var34; +var_node_list = var_ppropdefnode1; +var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var50 = nit___nit__Parser___go_to(var_p, var49); +var36 = nit___nit__Parser___go_to(var_p, var35); } { -nit___nit__Parser___push(var_p, var50, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction41#action for (self: ReduceAction41, Parser) */ -void nit__parser___nit__parser__ReduceAction41___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction59#action for (self: ReduceAction59, Parser) */ +void nit__parser___nit__parser__ReduceAction59___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_nodearraylist13 /* var nodearraylist13: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var7 /* : nullable Object */; +val* var /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var8 /* : nullable Object */; +val* var1 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var9 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var10 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var11 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var12 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var13 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var14 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var15 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var16 /* : Array[Object] */; -val* var_listnode19 /* var listnode19: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var17 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var8 /* : Bool */; +int cltype9; +int idtype10; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : Array[Object] */; -val* var34 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -val* var38 /* : Array[Object] */; -val* var39 /* : AAnnotations */; -val* var40 /* : null */; -val* var41 /* : null */; -val* var42 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; -short int var43 /* : Bool */; -int cltype44; -int idtype45; -val* var_listnode16 /* var listnode16: nullable Object */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -val* var49 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: nullable Object */; -short int var50 /* : Bool */; -int cltype51; -int idtype52; -val* var53 /* : Array[Object] */; -val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; -short int var54 /* : Bool */; -int cltype55; -int idtype56; -val* var57 /* : AStdClassdef */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var58 /* : Int */; -long var59 /* : Int */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_tkwvarnode5 /* var tkwvarnode5: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_tidnode6 /* var tidnode6: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_ptypenode7 /* var ptypenode7: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var26 /* : AAttrPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; +long var27 /* : Int */; +long var28 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist7 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist13 = var1; +var_nodearraylist6 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist12 = var2; +var_nodearraylist5 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist11 = var3; +var_nodearraylist4 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist10 = var4; +var_nodearraylist3 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist9 = var5; +var_nodearraylist2 = var5; { var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist8 = var6; -{ -var7 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist7 = var7; -{ -var8 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist6 = var8; -{ -var9 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist5 = var9; -{ -var10 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist4 = var10; -{ -var11 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist3 = var11; -{ -var12 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist2 = var12; -{ -var13 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var13; -var14 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var14); /* Direct call array#Array#init on */ -} -var_listnode8 = var14; -var15 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var15); /* Direct call array#Array#init on */ -} -var_listnode17 = var15; -var16 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var16); /* Direct call array#Array#init on */ -} -var_listnode19 = var16; +var_nodearraylist1 = var6; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable__nit__ADoc.color; idtype = type_nullable__nit__ADoc.id; if(var_pdocnode2 == NULL) { -var17 = 1; +var7 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var17 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var7 = 0; } else { -var17 = var_pdocnode2->type->type_table[cltype] == idtype; +var7 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var17)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2628); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2883); +fatal_exit(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype19 = type_nullable__nit__TKwredef.color; -idtype20 = type_nullable__nit__TKwredef.id; +cltype9 = type_nullable__nit__TKwredef.color; +idtype10 = type_nullable__nit__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var18 = 1; -} else { -if(cltype19 >= var_tkwredefnode3->type->table_size) { -var18 = 0; -} else { -var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20; -} -} -if (unlikely(!var18)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2630); -show_backtrace(1); -} -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype22 = type_nullable__nit__AVisibility.color; -idtype23 = type_nullable__nit__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var21 = 1; -} else { -if(cltype22 >= var_pvisibilitynode4->type->table_size) { -var21 = 0; -} else { -var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23; -} -} -if (unlikely(!var21)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2632); -show_backtrace(1); -} -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype25 = type_nullable__nit__AClasskind.color; -idtype26 = type_nullable__nit__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var24 = 1; -} else { -if(cltype25 >= var_pclasskindnode5->type->table_size) { -var24 = 0; -} else { -var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26; -} -} -if (unlikely(!var24)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2634); -show_backtrace(1); -} -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype28 = type_nullable__nit__TClassid.color; -idtype29 = type_nullable__nit__TClassid.id; -if(var_tclassidnode6 == NULL) { -var27 = 1; -} else { -if(cltype28 >= var_tclassidnode6->type->table_size) { -var27 = 0; -} else { -var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29; -} -} -if (unlikely(!var27)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2636); -show_backtrace(1); -} -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype31 = type_standard__Array__standard__Object.color; -idtype32 = type_standard__Array__standard__Object.id; -if(var_listnode7 == NULL) { -var30 = 0; +var8 = 1; } else { -if(cltype31 >= var_listnode7->type->table_size) { -var30 = 0; +if(cltype9 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var8 = 0; } else { -var30 = var_listnode7->type->type_table[cltype31] == idtype32; -} -} -if (unlikely(!var30)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2638); -show_backtrace(1); +var8 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype9] == idtype10; } -{ -var33 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7); } -var_listnode8 = var33; -var34 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var34); /* Direct call array#Array#init on */ +if (unlikely(!var8)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2885); +fatal_exit(1); } -var_listnode13 = var34; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype36 = type_standard__Array__standard__Object.color; -idtype37 = type_standard__Array__standard__Object.id; -if(var_listnode12 == NULL) { -var35 = 0; +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype12 = type_nullable__nit__AVisibility.color; +idtype13 = type_nullable__nit__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var11 = 1; } else { -if(cltype36 >= var_listnode12->type->table_size) { -var35 = 0; +if(cltype12 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var11 = 0; } else { -var35 = var_listnode12->type->type_table[cltype36] == idtype37; +var11 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype12] == idtype13; } } -if (unlikely(!var35)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2642); -show_backtrace(1); -} -{ -var38 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode13, var_listnode12); -} -var_listnode13 = var38; -var39 = NEW_nit__AAnnotations(&type_nit__AAnnotations); -var40 = NULL; -var41 = NULL; -var42 = NULL; -{ -nit__parser_prod___AAnnotations___init_aannotations(var39, var40, var41, var_listnode13, var42); /* Direct call parser_prod#AAnnotations#init_aannotations on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2887); +fatal_exit(1); } -var_pannotationsnode9 = var39; -var_pexterncodeblocknode15 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype44 = type_nullable__nit__AExternCodeBlock.color; -idtype45 = type_nullable__nit__AExternCodeBlock.id; -if(var_pexterncodeblocknode15 == NULL) { -var43 = 1; +var_tkwvarnode5 = var_nodearraylist4; +/* isa nullable TKwvar */ +cltype15 = type_nullable__nit__TKwvar.color; +idtype16 = type_nullable__nit__TKwvar.id; +if(var_tkwvarnode5 == NULL) { +var14 = 1; } else { -if(cltype44 >= var_pexterncodeblocknode15->type->table_size) { -var43 = 0; +if(cltype15 >= (((long)var_tkwvarnode5&3)?type_info[((long)var_tkwvarnode5&3)]:var_tkwvarnode5->type)->table_size) { +var14 = 0; } else { -var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45; +var14 = (((long)var_tkwvarnode5&3)?type_info[((long)var_tkwvarnode5&3)]:var_tkwvarnode5->type)->type_table[cltype15] == idtype16; } } -if (unlikely(!var43)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2651); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2889); +fatal_exit(1); } -var_listnode16 = var_nodearraylist10; -/* isa Array[Object] */ -cltype47 = type_standard__Array__standard__Object.color; -idtype48 = type_standard__Array__standard__Object.id; -if(var_listnode16 == NULL) { -var46 = 0; +var_tidnode6 = var_nodearraylist5; +/* isa nullable TId */ +cltype18 = type_nullable__nit__TId.color; +idtype19 = type_nullable__nit__TId.id; +if(var_tidnode6 == NULL) { +var17 = 1; } else { -if(cltype47 >= var_listnode16->type->table_size) { -var46 = 0; +if(cltype18 >= (((long)var_tidnode6&3)?type_info[((long)var_tidnode6&3)]:var_tidnode6->type)->table_size) { +var17 = 0; } else { -var46 = var_listnode16->type->type_table[cltype47] == idtype48; +var17 = (((long)var_tidnode6&3)?type_info[((long)var_tidnode6&3)]:var_tidnode6->type)->type_table[cltype18] == idtype19; } } -if (unlikely(!var46)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2653); -show_backtrace(1); -} -{ -var49 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode17, var_listnode16); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2891); +fatal_exit(1); } -var_listnode17 = var49; -var_listnode18 = var_nodearraylist11; -/* isa Array[Object] */ -cltype51 = type_standard__Array__standard__Object.color; -idtype52 = type_standard__Array__standard__Object.id; -if(var_listnode18 == NULL) { -var50 = 0; +var_ptypenode7 = var_nodearraylist6; +/* isa nullable AType */ +cltype21 = type_nullable__nit__AType.color; +idtype22 = type_nullable__nit__AType.id; +if(var_ptypenode7 == NULL) { +var20 = 1; } else { -if(cltype51 >= var_listnode18->type->table_size) { -var50 = 0; +if(cltype21 >= (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->table_size) { +var20 = 0; } else { -var50 = var_listnode18->type->type_table[cltype51] == idtype52; +var20 = (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var50)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2656); -show_backtrace(1); -} -{ -var53 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode19, var_listnode18); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2893); +fatal_exit(1); } -var_listnode19 = var53; -var_tkwendnode20 = var_nodearraylist13; -/* isa nullable TKwend */ -cltype55 = type_nullable__nit__TKwend.color; -idtype56 = type_nullable__nit__TKwend.id; -if(var_tkwendnode20 == NULL) { -var54 = 1; +var_pannotationsnode10 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype24 = type_nullable__nit__AAnnotations.color; +idtype25 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { +var23 = 1; } else { -if(cltype55 >= var_tkwendnode20->type->table_size) { -var54 = 0; +if(cltype24 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { +var23 = 0; } else { -var54 = var_tkwendnode20->type->type_table[cltype55] == idtype56; +var23 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype24] == idtype25; } } -if (unlikely(!var54)) { +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2659); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2895); +fatal_exit(1); } -var57 = NEW_nit__AStdClassdef(&type_nit__AStdClassdef); +var26 = NEW_nit__AAttrPropdef(&type_nit__AAttrPropdef); { -nit__parser_prod___AStdClassdef___init_astdclassdef(var57, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +nit__parser_prod___AAttrPropdef___init_aattrpropdef(var26, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwvarnode5, var_tidnode6, var_ptypenode7, ((val*)NULL), ((val*)NULL), var_pannotationsnode10, ((val*)NULL), ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ } -var_pclassdefnode1 = var57; -var_node_list = var_pclassdefnode1; -var58 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var26; +var_node_list = var_ppropdefnode1; +var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var59 = nit___nit__Parser___go_to(var_p, var58); +var28 = nit___nit__Parser___go_to(var_p, var27); } { -nit___nit__Parser___push(var_p, var59, 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#ReduceAction43#action for (self: ReduceAction43, Parser) */ -void nit__parser___nit__parser__ReduceAction43___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction60#action for (self: ReduceAction60, Parser) */ +void nit__parser___nit__parser__ReduceAction60___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var1 /* : nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var2 /* : nullable Object */; +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_tkwredefnode1 /* var tkwredefnode1: nullable Object */; -long var2 /* : Int */; -long var3 /* : Int */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var10 /* : Bool */; +int cltype; +int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_tkwvarnode5 /* var tkwvarnode5: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_tidnode6 /* var tidnode6: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_ptypenode7 /* var ptypenode7: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_tassignnode8 /* var tassignnode8: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var_pexprnode9 /* var pexprnode9: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; +val* var35 /* : AAttrPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; +long var36 /* : Int */; +long var37 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); { -var1 = nit___nit__Parser___pop(var_p); +var = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var1; -var_tkwredefnode1 = var_nodearraylist1; -var_node_list = var_tkwredefnode1; -var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist10 = var; { -var3 = nit___nit__Parser___go_to(var_p, var2); +var1 = nit___nit__Parser___pop(var_p); } +var_nodearraylist9 = var1; { -nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ -} -RET_LABEL:; +var2 = nit___nit__Parser___pop(var_p); } -/* method parser#ReduceAction44#action for (self: ReduceAction44, Parser) */ -void nit__parser___nit__parser__ReduceAction44___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_tkwclassnode2 /* var tkwclassnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AConcreteClasskind */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AConcreteClasskind */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +var_nodearraylist8 = var2; { -var1 = nit___nit__Parser___pop(var_p); -} -var_nodearraylist1 = var1; -var_tkwclassnode2 = var_nodearraylist1; -/* isa nullable TKwclass */ -cltype = type_nullable__nit__TKwclass.color; -idtype = type_nullable__nit__TKwclass.id; -if(var_tkwclassnode2 == NULL) { -var2 = 1; -} else { -if(cltype >= var_tkwclassnode2->type->table_size) { -var2 = 0; -} else { -var2 = var_tkwclassnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var2)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2695); -show_backtrace(1); +var3 = nit___nit__Parser___pop(var_p); } -var3 = NEW_nit__AConcreteClasskind(&type_nit__AConcreteClasskind); +var_nodearraylist7 = var3; { -nit__parser_prod___AConcreteClasskind___init_aconcreteclasskind(var3, var_tkwclassnode2); /* Direct call parser_prod#AConcreteClasskind#init_aconcreteclasskind on */ +var4 = nit___nit__Parser___pop(var_p); } -var_pclasskindnode1 = var3; -var_node_list = var_pclasskindnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist6 = var4; { -var5 = nit___nit__Parser___go_to(var_p, var4); +var5 = nit___nit__Parser___pop(var_p); } +var_nodearraylist5 = var5; { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +var6 = nit___nit__Parser___pop(var_p); } -RET_LABEL:; +var_nodearraylist4 = var6; +{ +var7 = nit___nit__Parser___pop(var_p); } -/* method parser#ReduceAction45#action for (self: ReduceAction45, Parser) */ -void nit__parser___nit__parser__ReduceAction45___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_tkwabstractnode2 /* var tkwabstractnode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AAbstractClasskind */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AAbstractClasskind */; -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_tkwabstractnode2 = var_nodearraylist1; -/* isa nullable TKwabstract */ -cltype = type_nullable__nit__TKwabstract.color; -idtype = type_nullable__nit__TKwabstract.id; -if(var_tkwabstractnode2 == NULL) { -var3 = 1; +var_nodearraylist1 = var9; +var_pdocnode2 = var_nodearraylist1; +/* isa nullable ADoc */ +cltype = type_nullable__nit__ADoc.color; +idtype = type_nullable__nit__ADoc.id; +if(var_pdocnode2 == NULL) { +var10 = 1; } else { -if(cltype >= var_tkwabstractnode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var10 = 0; } else { -var3 = var_tkwabstractnode2->type->type_table[cltype] == idtype; +var10 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var3)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2711); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2930); +fatal_exit(1); } -var_tkwclassnode3 = var_nodearraylist2; -/* isa nullable TKwclass */ -cltype5 = type_nullable__nit__TKwclass.color; -idtype6 = type_nullable__nit__TKwclass.id; -if(var_tkwclassnode3 == NULL) { -var4 = 1; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype12 = type_nullable__nit__TKwredef.color; +idtype13 = type_nullable__nit__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var11 = 1; } else { -if(cltype5 >= var_tkwclassnode3->type->table_size) { -var4 = 0; +if(cltype12 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var11 = 0; } else { -var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6; +var11 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->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, 2713); -show_backtrace(1); -} -var7 = NEW_nit__AAbstractClasskind(&type_nit__AAbstractClasskind); -{ -nit__parser_prod___AAbstractClasskind___init_aabstractclasskind(var7, var_tkwabstractnode2, var_tkwclassnode3); /* Direct call parser_prod#AAbstractClasskind#init_aabstractclasskind on */ -} -var_pclasskindnode1 = var7; -var_node_list = var_pclasskindnode1; -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 */ -} -RET_LABEL:; -} -/* method parser#ReduceAction46#action for (self: ReduceAction46, Parser) */ -void nit__parser___nit__parser__ReduceAction46___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_tkwinterfacenode2 /* var tkwinterfacenode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AInterfaceClasskind */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AInterfaceClasskind */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2932); +fatal_exit(1); } -var_nodearraylist1 = var1; -var_tkwinterfacenode2 = var_nodearraylist1; -/* isa nullable TKwinterface */ -cltype = type_nullable__nit__TKwinterface.color; -idtype = type_nullable__nit__TKwinterface.id; -if(var_tkwinterfacenode2 == NULL) { -var2 = 1; +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype15 = type_nullable__nit__AVisibility.color; +idtype16 = type_nullable__nit__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var14 = 1; } else { -if(cltype >= var_tkwinterfacenode2->type->table_size) { -var2 = 0; +if(cltype15 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var14 = 0; } else { -var2 = var_tkwinterfacenode2->type->type_table[cltype] == idtype; -} +var14 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype15] == idtype16; } -if (unlikely(!var2)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2729); -show_backtrace(1); -} -var3 = NEW_nit__AInterfaceClasskind(&type_nit__AInterfaceClasskind); -{ -nit__parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(var3, var_tkwinterfacenode2); /* Direct call parser_prod#AInterfaceClasskind#init_ainterfaceclasskind on */ -} -var_pclasskindnode1 = var3; -var_node_list = var_pclasskindnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var5 = nit___nit__Parser___go_to(var_p, var4); } -{ -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +if (unlikely(!var14)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2934); +fatal_exit(1); } -RET_LABEL:; +var_tkwvarnode5 = var_nodearraylist4; +/* isa nullable TKwvar */ +cltype18 = type_nullable__nit__TKwvar.color; +idtype19 = type_nullable__nit__TKwvar.id; +if(var_tkwvarnode5 == NULL) { +var17 = 1; +} else { +if(cltype18 >= (((long)var_tkwvarnode5&3)?type_info[((long)var_tkwvarnode5&3)]:var_tkwvarnode5->type)->table_size) { +var17 = 0; +} else { +var17 = (((long)var_tkwvarnode5&3)?type_info[((long)var_tkwvarnode5&3)]:var_tkwvarnode5->type)->type_table[cltype18] == idtype19; } -/* method parser#ReduceAction47#action for (self: ReduceAction47, Parser) */ -void nit__parser___nit__parser__ReduceAction47___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_tkwenumnode2 /* var tkwenumnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AEnumClasskind */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AEnumClasskind */; -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_tkwenumnode2 = var_nodearraylist1; -/* isa nullable TKwenum */ -cltype = type_nullable__nit__TKwenum.color; -idtype = type_nullable__nit__TKwenum.id; -if(var_tkwenumnode2 == NULL) { -var2 = 1; +if (unlikely(!var17)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2936); +fatal_exit(1); +} +var_tidnode6 = var_nodearraylist5; +/* isa nullable TId */ +cltype21 = type_nullable__nit__TId.color; +idtype22 = type_nullable__nit__TId.id; +if(var_tidnode6 == NULL) { +var20 = 1; } else { -if(cltype >= var_tkwenumnode2->type->table_size) { -var2 = 0; +if(cltype21 >= (((long)var_tidnode6&3)?type_info[((long)var_tidnode6&3)]:var_tidnode6->type)->table_size) { +var20 = 0; } else { -var2 = var_tkwenumnode2->type->type_table[cltype] == idtype; +var20 = (((long)var_tidnode6&3)?type_info[((long)var_tidnode6&3)]:var_tidnode6->type)->type_table[cltype21] == idtype22; } } -if (unlikely(!var2)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2744); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2938); +fatal_exit(1); } -var3 = NEW_nit__AEnumClasskind(&type_nit__AEnumClasskind); -{ -nit__parser_prod___AEnumClasskind___init_aenumclasskind(var3, var_tkwenumnode2); /* Direct call parser_prod#AEnumClasskind#init_aenumclasskind on */ +var_ptypenode7 = var_nodearraylist6; +/* isa nullable AType */ +cltype24 = type_nullable__nit__AType.color; +idtype25 = type_nullable__nit__AType.id; +if(var_ptypenode7 == NULL) { +var23 = 1; +} else { +if(cltype24 >= (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->table_size) { +var23 = 0; +} else { +var23 = (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->type_table[cltype24] == idtype25; } -var_pclasskindnode1 = var3; -var_node_list = var_pclasskindnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var5 = nit___nit__Parser___go_to(var_p, var4); } -{ -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +if (unlikely(!var23)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2940); +fatal_exit(1); } -RET_LABEL:; +var_tassignnode8 = var_nodearraylist7; +/* isa nullable TAssign */ +cltype27 = type_nullable__nit__TAssign.color; +idtype28 = type_nullable__nit__TAssign.id; +if(var_tassignnode8 == NULL) { +var26 = 1; +} else { +if(cltype27 >= (((long)var_tassignnode8&3)?type_info[((long)var_tassignnode8&3)]:var_tassignnode8->type)->table_size) { +var26 = 0; +} else { +var26 = (((long)var_tassignnode8&3)?type_info[((long)var_tassignnode8&3)]:var_tassignnode8->type)->type_table[cltype27] == idtype28; } -/* method parser#ReduceAction48#action for (self: ReduceAction48, Parser) */ -void nit__parser___nit__parser__ReduceAction48___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_tkwexternnode2 /* var tkwexternnode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AExternClasskind */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AExternClasskind */; -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(!var26)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2942); +fatal_exit(1); } -var_nodearraylist1 = var2; -var_tkwexternnode2 = var_nodearraylist1; -/* isa nullable TKwextern */ -cltype = type_nullable__nit__TKwextern.color; -idtype = type_nullable__nit__TKwextern.id; -if(var_tkwexternnode2 == NULL) { -var3 = 1; +var_pexprnode9 = var_nodearraylist9; +/* isa nullable AExpr */ +cltype30 = type_nullable__nit__AExpr.color; +idtype31 = type_nullable__nit__AExpr.id; +if(var_pexprnode9 == NULL) { +var29 = 1; } else { -if(cltype >= var_tkwexternnode2->type->table_size) { -var3 = 0; +if(cltype30 >= (((long)var_pexprnode9&3)?type_info[((long)var_pexprnode9&3)]:var_pexprnode9->type)->table_size) { +var29 = 0; } else { -var3 = var_tkwexternnode2->type->type_table[cltype] == idtype; +var29 = (((long)var_pexprnode9&3)?type_info[((long)var_pexprnode9&3)]:var_pexprnode9->type)->type_table[cltype30] == idtype31; } } -if (unlikely(!var3)) { +if (unlikely(!var29)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2760); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2944); +fatal_exit(1); } -var_tkwclassnode3 = var_nodearraylist2; -/* isa nullable TKwclass */ -cltype5 = type_nullable__nit__TKwclass.color; -idtype6 = type_nullable__nit__TKwclass.id; -if(var_tkwclassnode3 == NULL) { -var4 = 1; +var_pannotationsnode10 = var_nodearraylist10; +/* isa nullable AAnnotations */ +cltype33 = type_nullable__nit__AAnnotations.color; +idtype34 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { +var32 = 1; } else { -if(cltype5 >= var_tkwclassnode3->type->table_size) { -var4 = 0; +if(cltype33 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { +var32 = 0; } else { -var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6; +var32 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype33] == idtype34; } } -if (unlikely(!var4)) { +if (unlikely(!var32)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2762); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2946); +fatal_exit(1); } -var7 = NEW_nit__AExternClasskind(&type_nit__AExternClasskind); +var35 = NEW_nit__AAttrPropdef(&type_nit__AAttrPropdef); { -nit__parser_prod___AExternClasskind___init_aexternclasskind(var7, var_tkwexternnode2, var_tkwclassnode3); /* Direct call parser_prod#AExternClasskind#init_aexternclasskind on */ +nit__parser_prod___AAttrPropdef___init_aattrpropdef(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwvarnode5, var_tidnode6, var_ptypenode7, var_tassignnode8, var_pexprnode9, var_pannotationsnode10, ((val*)NULL), ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ } -var_pclasskindnode1 = var7; -var_node_list = var_pclasskindnode1; -var8 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var35; +var_node_list = var_ppropdefnode1; +var36 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var9 = nit___nit__Parser___go_to(var_p, var8); +var37 = nit___nit__Parser___go_to(var_p, var36); } { -nit___nit__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var37, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction49#action for (self: ReduceAction49, Parser) */ -void nit__parser___nit__parser__ReduceAction49___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction61#action for (self: ReduceAction61, Parser) */ +void nit__parser___nit__parser__ReduceAction61___nit__parser_work__ReduceAction__action(val* self, val* p0) { val* var_p /* var p: Parser */; -val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; +val* var /* : nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var5 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var6 /* : Array[Object] */; -val* var_listnode2 /* var listnode2: Array[Object] */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */; -val* var7 /* : null */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var8 /* : Bool */; +int cltype; +int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; short int var9 /* : Bool */; -long var10 /* : Int */; -long var11 /* : Int */; +int cltype10; +int idtype11; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var_tkwvarnode5 /* var tkwvarnode5: nullable Object */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var_tidnode6 /* var tidnode6: nullable Object */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var_ptypenode7 /* var ptypenode7: nullable Object */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var_tkwdonode11 /* var tkwdonode11: nullable Object */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var_pexprnode12 /* var pexprnode12: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : AAttrPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; +long var31 /* : Int */; +long var32 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist8 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var1; +var_nodearraylist7 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var2; +var_nodearraylist6 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var3; +var_nodearraylist5 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var4; +var_nodearraylist4 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var5; -var6 = NEW_standard__Array(&type_standard__Array__standard__Object); +var_nodearraylist3 = var5; { -standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on */ -} -var_listnode2 = var6; -var_pformaldefnode1 = var_nodearraylist3; -var7 = NULL; -if (var_pformaldefnode1 == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ -} -if (0) { -var9 = ((short int (*)(val* self, val* p0))(var_pformaldefnode1->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pformaldefnode1, var7) /* != on */; -var8 = var9; +var6 = nit___nit__Parser___pop(var_p); } -if (var8){ +var_nodearraylist2 = var6; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2, var_pformaldefnode1); /* Direct call array#Array#add on */ +var7 = nit___nit__Parser___pop(var_p); } +var_nodearraylist1 = var7; +var_pdocnode2 = var_nodearraylist1; +/* isa nullable ADoc */ +cltype = type_nullable__nit__ADoc.color; +idtype = type_nullable__nit__ADoc.id; +if(var_pdocnode2 == NULL) { +var8 = 1; } else { +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var8 = 0; +} else { +var8 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } -var_node_list = var_listnode2; -var10 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var11 = nit___nit__Parser___go_to(var_p, var10); } -{ -nit___nit__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ +if (unlikely(!var8)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2979); +fatal_exit(1); } -RET_LABEL:; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype10 = type_nullable__nit__TKwredef.color; +idtype11 = type_nullable__nit__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var9 = 1; +} else { +if(cltype10 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var9 = 0; +} else { +var9 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype10] == idtype11; } -/* method parser#ReduceAction50#action for (self: ReduceAction50, Parser) */ -void nit__parser___nit__parser__ReduceAction50___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_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var7 /* : Array[Object] */; -val* var_listnode3 /* var listnode3: Array[Object] */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */; -val* var_listnode2 /* var listnode2: nullable Object */; -short int var8 /* : Bool */; -int cltype; -int idtype; -val* var9 /* : null */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; -val* var12 /* : Array[Object] */; -long var13 /* : Int */; -long var14 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist6 = 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, 2981); +fatal_exit(1); } -var_nodearraylist5 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype13 = type_nullable__nit__AVisibility.color; +idtype14 = type_nullable__nit__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var12 = 1; +} else { +if(cltype13 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var12 = 0; +} else { +var12 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype13] == idtype14; } -var_nodearraylist4 = var3; -{ -var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var4; -{ -var5 = nit___nit__Parser___pop(var_p); +if (unlikely(!var12)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2983); +fatal_exit(1); +} +var_tkwvarnode5 = var_nodearraylist4; +/* isa nullable TKwvar */ +cltype16 = type_nullable__nit__TKwvar.color; +idtype17 = type_nullable__nit__TKwvar.id; +if(var_tkwvarnode5 == NULL) { +var15 = 1; +} else { +if(cltype16 >= (((long)var_tkwvarnode5&3)?type_info[((long)var_tkwvarnode5&3)]:var_tkwvarnode5->type)->table_size) { +var15 = 0; +} else { +var15 = (((long)var_tkwvarnode5&3)?type_info[((long)var_tkwvarnode5&3)]:var_tkwvarnode5->type)->type_table[cltype16] == idtype17; } -var_nodearraylist2 = var5; -{ -var6 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var6; -var7 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ -standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on */ +if (unlikely(!var15)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2985); +fatal_exit(1); } -var_listnode3 = var7; -var_pformaldefnode1 = var_nodearraylist3; -var_listnode2 = var_nodearraylist4; -/* isa Array[Object] */ -cltype = type_standard__Array__standard__Object.color; -idtype = type_standard__Array__standard__Object.id; -if(var_listnode2 == NULL) { -var8 = 0; +var_tidnode6 = var_nodearraylist5; +/* isa nullable TId */ +cltype19 = type_nullable__nit__TId.color; +idtype20 = type_nullable__nit__TId.id; +if(var_tidnode6 == NULL) { +var18 = 1; } else { -if(cltype >= var_listnode2->type->table_size) { -var8 = 0; +if(cltype19 >= (((long)var_tidnode6&3)?type_info[((long)var_tidnode6&3)]:var_tidnode6->type)->table_size) { +var18 = 0; } else { -var8 = var_listnode2->type->type_table[cltype] == idtype; +var18 = (((long)var_tidnode6&3)?type_info[((long)var_tidnode6&3)]:var_tidnode6->type)->type_table[cltype19] == idtype20; } } -if (unlikely(!var8)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2804); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2987); +fatal_exit(1); } -var9 = NULL; -if (var_pformaldefnode1 == NULL) { -var10 = 0; /* is null */ +var_ptypenode7 = var_nodearraylist6; +/* isa nullable AType */ +cltype22 = type_nullable__nit__AType.color; +idtype23 = type_nullable__nit__AType.id; +if(var_ptypenode7 == NULL) { +var21 = 1; } else { -var10 = 1; /* arg is null and recv is not */ +if(cltype22 >= (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->table_size) { +var21 = 0; +} else { +var21 = (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->type_table[cltype22] == idtype23; } -if (0) { -var11 = ((short int (*)(val* self, val* p0))(var_pformaldefnode1->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pformaldefnode1, var9) /* != on */; -var10 = var11; } -if (var10){ -{ -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pformaldefnode1); /* Direct call array#Array#add on */ +if (unlikely(!var21)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2989); +fatal_exit(1); } +var_tkwdonode11 = var_nodearraylist7; +/* isa nullable TKwdo */ +cltype25 = type_nullable__nit__TKwdo.color; +idtype26 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode11 == NULL) { +var24 = 1; +} else { +if(cltype25 >= (((long)var_tkwdonode11&3)?type_info[((long)var_tkwdonode11&3)]:var_tkwdonode11->type)->table_size) { +var24 = 0; } else { +var24 = (((long)var_tkwdonode11&3)?type_info[((long)var_tkwdonode11&3)]:var_tkwdonode11->type)->type_table[cltype25] == idtype26; } -{ -var12 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode3, var_listnode2); } -var_listnode3 = var12; -var_node_list = var_listnode3; -var13 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var14 = nit___nit__Parser___go_to(var_p, var13); +if (unlikely(!var24)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2991); +fatal_exit(1); } -{ -nit___nit__Parser___push(var_p, var14, var_node_list); /* Direct call parser_work#Parser#push on */ +var_pexprnode12 = var_nodearraylist8; +/* isa nullable AExpr */ +cltype28 = type_nullable__nit__AExpr.color; +idtype29 = type_nullable__nit__AExpr.id; +if(var_pexprnode12 == NULL) { +var27 = 1; +} else { +if(cltype28 >= (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->table_size) { +var27 = 0; +} else { +var27 = (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->type_table[cltype28] == idtype29; } -RET_LABEL:; } -/* method parser#ReduceAction51#action for (self: ReduceAction51, Parser) */ -void nit__parser___nit__parser__ReduceAction51___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 /* : Array[Object] */; -val* var_listnode1 /* var listnode1: Array[Object] */; -long var2 /* : Int */; -long var3 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = NEW_standard__Array(&type_standard__Array__standard__Object); +if (unlikely(!var27)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2993); +fatal_exit(1); +} +var30 = NEW_nit__AAttrPropdef(&type_nit__AAttrPropdef); { -standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ +nit__parser_prod___AAttrPropdef___init_aattrpropdef(var30, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwvarnode5, var_tidnode6, var_ptypenode7, ((val*)NULL), ((val*)NULL), ((val*)NULL), var_tkwdonode11, var_pexprnode12, ((val*)NULL)); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ } -var_listnode1 = var1; -var_node_list = var_listnode1; -var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var30; +var_node_list = var_ppropdefnode1; +var31 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var3 = nit___nit__Parser___go_to(var_p, var2); +var32 = nit___nit__Parser___go_to(var_p, var31); } { -nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var32, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction52#action for (self: ReduceAction52, Parser) */ -void nit__parser___nit__parser__ReduceAction52___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction62#action for (self: ReduceAction62, Parser) */ +void nit__parser___nit__parser__ReduceAction62___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_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var3 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var9 /* : Bool */; +int cltype; +int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_tkwvarnode5 /* var tkwvarnode5: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_tidnode6 /* var tidnode6: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_ptypenode7 /* var ptypenode7: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var_tkwdonode11 /* var tkwdonode11: nullable Object */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var_pexprnode12 /* var pexprnode12: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AAttrPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; +long var35 /* : Int */; +long var36 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist9 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist8 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist7 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var3; -var_pformaldefnode1 = var_nodearraylist3; -var_node_list = var_pformaldefnode1; -var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist6 = var3; { -var5 = nit___nit__Parser___go_to(var_p, var4); +var4 = nit___nit__Parser___pop(var_p); } +var_nodearraylist5 = var4; { -nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +var5 = nit___nit__Parser___pop(var_p); } -RET_LABEL:; +var_nodearraylist4 = var5; +{ +var6 = nit___nit__Parser___pop(var_p); } -/* method parser#ReduceAction53#action for (self: ReduceAction53, Parser) */ -void nit__parser___nit__parser__ReduceAction53___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_tclassidnode2 /* var tclassidnode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AFormaldef */; -val* var8 /* : null */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; -long var9 /* : Int */; -long var10 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +var_nodearraylist3 = var6; { -var1 = nit___nit__Parser___pop(var_p); +var7 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist2 = var7; { -var2 = nit___nit__Parser___pop(var_p); +var8 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var2; -var_tclassidnode2 = var_nodearraylist1; -/* isa nullable TClassid */ -cltype = type_nullable__nit__TClassid.color; -idtype = type_nullable__nit__TClassid.id; -if(var_tclassidnode2 == NULL) { -var3 = 1; +var_nodearraylist1 = var8; +var_pdocnode2 = var_nodearraylist1; +/* isa nullable ADoc */ +cltype = type_nullable__nit__ADoc.color; +idtype = type_nullable__nit__ADoc.id; +if(var_pdocnode2 == NULL) { +var9 = 1; } else { -if(cltype >= var_tclassidnode2->type->table_size) { -var3 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var9 = 0; } else { -var3 = var_tclassidnode2->type->type_table[cltype] == idtype; +var9 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var3)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2844); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3027); +fatal_exit(1); } -var_ptypenode3 = var_nodearraylist2; -/* isa nullable AType */ -cltype5 = type_nullable__nit__AType.color; -idtype6 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { -var4 = 1; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype11 = type_nullable__nit__TKwredef.color; +idtype12 = type_nullable__nit__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var10 = 1; } else { -if(cltype5 >= var_ptypenode3->type->table_size) { -var4 = 0; +if(cltype11 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { +var10 = 0; } else { -var4 = var_ptypenode3->type->type_table[cltype5] == idtype6; +var10 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype11] == idtype12; } } -if (unlikely(!var4)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2846); -show_backtrace(1); -} -var7 = NEW_nit__AFormaldef(&type_nit__AFormaldef); -var8 = NULL; -{ -nit__parser_prod___AFormaldef___init_aformaldef(var7, var_tclassidnode2, var_ptypenode3, var8); /* Direct call parser_prod#AFormaldef#init_aformaldef on */ +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3029); +fatal_exit(1); } -var_pformaldefnode1 = var7; -var_node_list = var_pformaldefnode1; -var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var10 = nit___nit__Parser___go_to(var_p, var9); +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype14 = type_nullable__nit__AVisibility.color; +idtype15 = type_nullable__nit__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var13 = 1; +} else { +if(cltype14 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var13 = 0; +} else { +var13 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype14] == idtype15; } -{ -nit___nit__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work#Parser#push on */ } -RET_LABEL:; +if (unlikely(!var13)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3031); +fatal_exit(1); } -/* method parser#ReduceAction54#action for (self: ReduceAction54, Parser) */ -void nit__parser___nit__parser__ReduceAction54___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_tclassidnode2 /* var tclassidnode2: nullable Object */; -short int var4 /* : Bool */; -int cltype; -int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var5 /* : Bool */; -int cltype6; -int idtype7; -val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var11 /* : AFormaldef */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; -long var12 /* : Int */; -long var13 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); +var_tkwvarnode5 = var_nodearraylist4; +/* isa nullable TKwvar */ +cltype17 = type_nullable__nit__TKwvar.color; +idtype18 = type_nullable__nit__TKwvar.id; +if(var_tkwvarnode5 == NULL) { +var16 = 1; +} else { +if(cltype17 >= (((long)var_tkwvarnode5&3)?type_info[((long)var_tkwvarnode5&3)]:var_tkwvarnode5->type)->table_size) { +var16 = 0; +} else { +var16 = (((long)var_tkwvarnode5&3)?type_info[((long)var_tkwvarnode5&3)]:var_tkwvarnode5->type)->type_table[cltype17] == idtype18; } -var_nodearraylist3 = var1; -{ -var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var2; -{ -var3 = nit___nit__Parser___pop(var_p); +if (unlikely(!var16)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3033); +fatal_exit(1); } -var_nodearraylist1 = var3; -var_tclassidnode2 = var_nodearraylist1; -/* isa nullable TClassid */ -cltype = type_nullable__nit__TClassid.color; -idtype = type_nullable__nit__TClassid.id; -if(var_tclassidnode2 == NULL) { -var4 = 1; +var_tidnode6 = var_nodearraylist5; +/* isa nullable TId */ +cltype20 = type_nullable__nit__TId.color; +idtype21 = type_nullable__nit__TId.id; +if(var_tidnode6 == NULL) { +var19 = 1; } else { -if(cltype >= var_tclassidnode2->type->table_size) { -var4 = 0; +if(cltype20 >= (((long)var_tidnode6&3)?type_info[((long)var_tidnode6&3)]:var_tidnode6->type)->table_size) { +var19 = 0; } else { -var4 = var_tclassidnode2->type->type_table[cltype] == idtype; +var19 = (((long)var_tidnode6&3)?type_info[((long)var_tidnode6&3)]:var_tidnode6->type)->type_table[cltype20] == idtype21; } } -if (unlikely(!var4)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2865); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3035); +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_ptypenode7 = var_nodearraylist6; +/* isa nullable AType */ +cltype23 = type_nullable__nit__AType.color; +idtype24 = type_nullable__nit__AType.id; +if(var_ptypenode7 == NULL) { +var22 = 1; } else { -if(cltype6 >= var_ptypenode3->type->table_size) { -var5 = 0; +if(cltype23 >= (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->table_size) { +var22 = 0; } else { -var5 = var_ptypenode3->type->type_table[cltype6] == idtype7; +var22 = (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->type_table[cltype23] == idtype24; } } -if (unlikely(!var5)) { +if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2867); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3037); +fatal_exit(1); } -var_pannotationsnode4 = var_nodearraylist2; -/* isa nullable AAnnotations */ -cltype9 = type_nullable__nit__AAnnotations.color; -idtype10 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode4 == NULL) { -var8 = 1; +var_pannotationsnode10 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype26 = type_nullable__nit__AAnnotations.color; +idtype27 = type_nullable__nit__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { +var25 = 1; } else { -if(cltype9 >= var_pannotationsnode4->type->table_size) { -var8 = 0; +if(cltype26 >= (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->table_size) { +var25 = 0; } else { -var8 = var_pannotationsnode4->type->type_table[cltype9] == idtype10; +var25 = (((long)var_pannotationsnode10&3)?type_info[((long)var_pannotationsnode10&3)]:var_pannotationsnode10->type)->type_table[cltype26] == idtype27; } } -if (unlikely(!var8)) { +if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2869); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3039); +fatal_exit(1); } -var11 = NEW_nit__AFormaldef(&type_nit__AFormaldef); +var_tkwdonode11 = var_nodearraylist8; +/* isa nullable TKwdo */ +cltype29 = type_nullable__nit__TKwdo.color; +idtype30 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode11 == NULL) { +var28 = 1; +} else { +if(cltype29 >= (((long)var_tkwdonode11&3)?type_info[((long)var_tkwdonode11&3)]:var_tkwdonode11->type)->table_size) { +var28 = 0; +} else { +var28 = (((long)var_tkwdonode11&3)?type_info[((long)var_tkwdonode11&3)]:var_tkwdonode11->type)->type_table[cltype29] == idtype30; +} +} +if (unlikely(!var28)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3041); +fatal_exit(1); +} +var_pexprnode12 = var_nodearraylist9; +/* isa nullable AExpr */ +cltype32 = type_nullable__nit__AExpr.color; +idtype33 = type_nullable__nit__AExpr.id; +if(var_pexprnode12 == NULL) { +var31 = 1; +} else { +if(cltype32 >= (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->table_size) { +var31 = 0; +} else { +var31 = (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->type_table[cltype32] == idtype33; +} +} +if (unlikely(!var31)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3043); +fatal_exit(1); +} +var34 = NEW_nit__AAttrPropdef(&type_nit__AAttrPropdef); { -nit__parser_prod___AFormaldef___init_aformaldef(var11, var_tclassidnode2, var_ptypenode3, var_pannotationsnode4); /* Direct call parser_prod#AFormaldef#init_aformaldef on */ +nit__parser_prod___AAttrPropdef___init_aattrpropdef(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwvarnode5, var_tidnode6, var_ptypenode7, ((val*)NULL), ((val*)NULL), var_pannotationsnode10, var_tkwdonode11, var_pexprnode12, ((val*)NULL)); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ } -var_pformaldefnode1 = var11; -var_node_list = var_pformaldefnode1; -var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var34; +var_node_list = var_ppropdefnode1; +var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var13 = nit___nit__Parser___go_to(var_p, var12); +var36 = nit___nit__Parser___go_to(var_p, var35); } { -nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction55#action for (self: ReduceAction55, Parser) */ -void nit__parser___nit__parser__ReduceAction55___nit__parser_work__ReduceAction__action(val* self, val* p0) { +/* method parser#ReduceAction63#action for (self: ReduceAction63, Parser) */ +void nit__parser___nit__parser__ReduceAction63___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_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var5 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */; -short int var6 /* : Bool */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var9 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var7 /* : Bool */; -int cltype8; -int idtype9; -val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; short int var10 /* : Bool */; int cltype11; int idtype12; -val* var13 /* : ASuperclass */; -val* var_psuperclassnode1 /* var psuperclassnode1: nullable ASuperclass */; -long var14 /* : Int */; -long var15 /* : Int */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_tkwvarnode5 /* var tkwvarnode5: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_tidnode6 /* var tidnode6: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_ptypenode7 /* var ptypenode7: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var_tkwdonode11 /* var tkwdonode11: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var_pexprnode12 /* var pexprnode12: nullable Object */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AAttrPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; +long var35 /* : Int */; +long var36 /* : Int */; var_p = p0; -var = NULL; -var_node_list = var; +var_node_list = ((val*)NULL); +{ +var = nit___nit__Parser___pop(var_p); +} +var_nodearraylist9 = var; { var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist5 = var1; +var_nodearraylist8 = var1; { var2 = nit___nit__Parser___pop(var_p); } -var_nodearraylist4 = var2; +var_nodearraylist7 = var2; { var3 = nit___nit__Parser___pop(var_p); } -var_nodearraylist3 = var3; +var_nodearraylist6 = var3; { var4 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var4; +var_nodearraylist5 = var4; { var5 = nit___nit__Parser___pop(var_p); } -var_nodearraylist1 = var5; -var_tkwsupernode2 = var_nodearraylist2; -/* isa nullable TKwsuper */ -cltype = type_nullable__nit__TKwsuper.color; -idtype = type_nullable__nit__TKwsuper.id; -if(var_tkwsupernode2 == NULL) { -var6 = 1; -} else { -if(cltype >= var_tkwsupernode2->type->table_size) { -var6 = 0; -} else { -var6 = var_tkwsupernode2->type->type_table[cltype] == idtype; +var_nodearraylist4 = var5; +{ +var6 = nit___nit__Parser___pop(var_p); } +var_nodearraylist3 = var6; +{ +var7 = nit___nit__Parser___pop(var_p); } -if (unlikely(!var6)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2890); -show_backtrace(1); +var_nodearraylist2 = var7; +{ +var8 = nit___nit__Parser___pop(var_p); } -var_ptypenode3 = var_nodearraylist4; -/* isa nullable AType */ -cltype8 = type_nullable__nit__AType.color; -idtype9 = type_nullable__nit__AType.id; -if(var_ptypenode3 == NULL) { -var7 = 1; +var_nodearraylist1 = var8; +var_pdocnode2 = var_nodearraylist1; +/* isa nullable ADoc */ +cltype = type_nullable__nit__ADoc.color; +idtype = type_nullable__nit__ADoc.id; +if(var_pdocnode2 == NULL) { +var9 = 1; } else { -if(cltype8 >= var_ptypenode3->type->table_size) { -var7 = 0; +if(cltype >= (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->table_size) { +var9 = 0; } else { -var7 = var_ptypenode3->type->type_table[cltype8] == idtype9; +var9 = (((long)var_pdocnode2&3)?type_info[((long)var_pdocnode2&3)]:var_pdocnode2->type)->type_table[cltype] == idtype; } } -if (unlikely(!var7)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2892); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3077); +fatal_exit(1); } -var_pannotationsnode4 = var_nodearraylist5; -/* isa nullable AAnnotations */ -cltype11 = type_nullable__nit__AAnnotations.color; -idtype12 = type_nullable__nit__AAnnotations.id; -if(var_pannotationsnode4 == NULL) { +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype11 = type_nullable__nit__TKwredef.color; +idtype12 = type_nullable__nit__TKwredef.id; +if(var_tkwredefnode3 == NULL) { var10 = 1; } else { -if(cltype11 >= var_pannotationsnode4->type->table_size) { +if(cltype11 >= (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->table_size) { var10 = 0; } else { -var10 = var_pannotationsnode4->type->type_table[cltype11] == idtype12; +var10 = (((long)var_tkwredefnode3&3)?type_info[((long)var_tkwredefnode3&3)]:var_tkwredefnode3->type)->type_table[cltype11] == idtype12; } } if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 2894); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3079); +fatal_exit(1); } -var13 = NEW_nit__ASuperclass(&type_nit__ASuperclass); -{ -nit__parser_prod___ASuperclass___init_asuperclass(var13, var_tkwsupernode2, var_ptypenode3, var_pannotationsnode4); /* Direct call parser_prod#ASuperclass#init_asuperclass on */ +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype14 = type_nullable__nit__AVisibility.color; +idtype15 = type_nullable__nit__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var13 = 1; +} else { +if(cltype14 >= (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->table_size) { +var13 = 0; +} else { +var13 = (((long)var_pvisibilitynode4&3)?type_info[((long)var_pvisibilitynode4&3)]:var_pvisibilitynode4->type)->type_table[cltype14] == idtype15; } -var_psuperclassnode1 = var13; -var_node_list = var_psuperclassnode1; -var14 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var15 = nit___nit__Parser___go_to(var_p, var14); } -{ -nit___nit__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on */ +if (unlikely(!var13)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3081); +fatal_exit(1); } -RET_LABEL:; +var_tkwvarnode5 = var_nodearraylist4; +/* isa nullable TKwvar */ +cltype17 = type_nullable__nit__TKwvar.color; +idtype18 = type_nullable__nit__TKwvar.id; +if(var_tkwvarnode5 == NULL) { +var16 = 1; +} else { +if(cltype17 >= (((long)var_tkwvarnode5&3)?type_info[((long)var_tkwvarnode5&3)]:var_tkwvarnode5->type)->table_size) { +var16 = 0; +} else { +var16 = (((long)var_tkwvarnode5&3)?type_info[((long)var_tkwvarnode5&3)]:var_tkwvarnode5->type)->type_table[cltype17] == idtype18; } -/* method parser#ReduceAction56#action for (self: ReduceAction56, Parser) */ -void nit__parser___nit__parser__ReduceAction56___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_ppropdefnode1 /* var ppropdefnode1: nullable Object */; -long var3 /* : Int */; -long var4 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = nit___nit__Parser___pop(var_p); } -var_nodearraylist2 = var1; +if (unlikely(!var16)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3083); +fatal_exit(1); +} +var_tidnode6 = var_nodearraylist5; +/* isa nullable TId */ +cltype20 = type_nullable__nit__TId.color; +idtype21 = type_nullable__nit__TId.id; +if(var_tidnode6 == NULL) { +var19 = 1; +} else { +if(cltype20 >= (((long)var_tidnode6&3)?type_info[((long)var_tidnode6&3)]:var_tidnode6->type)->table_size) { +var19 = 0; +} else { +var19 = (((long)var_tidnode6&3)?type_info[((long)var_tidnode6&3)]:var_tidnode6->type)->type_table[cltype20] == idtype21; +} +} +if (unlikely(!var19)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3085); +fatal_exit(1); +} +var_ptypenode7 = var_nodearraylist6; +/* isa nullable AType */ +cltype23 = type_nullable__nit__AType.color; +idtype24 = type_nullable__nit__AType.id; +if(var_ptypenode7 == NULL) { +var22 = 1; +} else { +if(cltype23 >= (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->table_size) { +var22 = 0; +} else { +var22 = (((long)var_ptypenode7&3)?type_info[((long)var_ptypenode7&3)]:var_ptypenode7->type)->type_table[cltype23] == idtype24; +} +} +if (unlikely(!var22)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3087); +fatal_exit(1); +} +var_tkwdonode11 = var_nodearraylist7; +/* isa nullable TKwdo */ +cltype26 = type_nullable__nit__TKwdo.color; +idtype27 = type_nullable__nit__TKwdo.id; +if(var_tkwdonode11 == NULL) { +var25 = 1; +} else { +if(cltype26 >= (((long)var_tkwdonode11&3)?type_info[((long)var_tkwdonode11&3)]:var_tkwdonode11->type)->table_size) { +var25 = 0; +} else { +var25 = (((long)var_tkwdonode11&3)?type_info[((long)var_tkwdonode11&3)]:var_tkwdonode11->type)->type_table[cltype26] == idtype27; +} +} +if (unlikely(!var25)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3089); +fatal_exit(1); +} +var_pexprnode12 = var_nodearraylist8; +/* isa nullable AExpr */ +cltype29 = type_nullable__nit__AExpr.color; +idtype30 = type_nullable__nit__AExpr.id; +if(var_pexprnode12 == NULL) { +var28 = 1; +} else { +if(cltype29 >= (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->table_size) { +var28 = 0; +} else { +var28 = (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->type_table[cltype29] == idtype30; +} +} +if (unlikely(!var28)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3091); +fatal_exit(1); +} +var_tkwendnode13 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype32 = type_nullable__nit__TKwend.color; +idtype33 = type_nullable__nit__TKwend.id; +if(var_tkwendnode13 == NULL) { +var31 = 1; +} else { +if(cltype32 >= (((long)var_tkwendnode13&3)?type_info[((long)var_tkwendnode13&3)]:var_tkwendnode13->type)->table_size) { +var31 = 0; +} else { +var31 = (((long)var_tkwendnode13&3)?type_info[((long)var_tkwendnode13&3)]:var_tkwendnode13->type)->type_table[cltype32] == idtype33; +} +} +if (unlikely(!var31)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 3093); +fatal_exit(1); +} +var34 = NEW_nit__AAttrPropdef(&type_nit__AAttrPropdef); { -var2 = nit___nit__Parser___pop(var_p); +nit__parser_prod___AAttrPropdef___init_aattrpropdef(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwvarnode5, var_tidnode6, var_ptypenode7, ((val*)NULL), ((val*)NULL), ((val*)NULL), var_tkwdonode11, var_pexprnode12, var_tkwendnode13); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ } -var_nodearraylist1 = var2; -var_ppropdefnode1 = var_nodearraylist1; +var_ppropdefnode1 = var34; var_node_list = var_ppropdefnode1; -var3 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ +var35 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on */ { -var4 = nit___nit__Parser___go_to(var_p, var3); +var36 = nit___nit__Parser___go_to(var_p, var35); } { -nit___nit__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ +nit___nit__Parser___push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; }