X-Git-Url: http://nitlanguage.org diff --git a/c_src/parser.sep.4.c b/c_src/parser.sep.4.c index db499e5..d786549 100644 --- a/c_src/parser.sep.4.c +++ b/c_src/parser.sep.4.c @@ -1,1110 +1,1054 @@ #include "parser.sep.0.h" -/* method parser#ReduceAction65#action for (self: ReduceAction65, Parser) */ -void parser__ReduceAction65__action(val* self, val* p0) { +/* method parser#ReduceAction74#action for (self: ReduceAction74, Parser) */ +void parser__ReduceAction74__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* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var6 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var9 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; +val* var10 /* : Array[Object] */; +val* var_listnode10 /* var listnode10: Array[Object] */; +val* var11 /* : Array[Object] */; +val* var_listnode11 /* var listnode11: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var7 /* : Bool */; +short int var12 /* : Bool */; int cltype; int idtype; -val* var_tkwmodulenode3 /* var tkwmodulenode3: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var_pmodulenamenode4 /* var pmodulenamenode4: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var17 /* : AModuledecl */; -val* var_pmoduledeclnode1 /* var pmoduledeclnode1: nullable AModuledecl */; -long var18 /* : Int */; -long var19 /* : Int */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var28 /* : AStdClassdef */; +val* var29 /* : null */; +val* var30 /* : null */; +val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; +long var31 /* : Int */; +long var32 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var1; +var_nodearraylist8 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var2; +var_nodearraylist7 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var3; +var_nodearraylist6 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var4; +var_nodearraylist5 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var5; +var_nodearraylist4 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var6; +var_nodearraylist3 = var6; +var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var7; +var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var8; +var9 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on */; +var_listnode7 = var9; +var10 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; +var_listnode10 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; +var_listnode11 = var11; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var7 = 1; +var12 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var7 = 0; -} else { -var7 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (!var7) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4037); -exit(1); -} -var_tkwmodulenode3 = var_nodearraylist2; -/* isa nullable TKwmodule */ -cltype9 = type_nullable_parser_nodes__TKwmodule.color; -idtype10 = type_nullable_parser_nodes__TKwmodule.id; -if(var_tkwmodulenode3 == NULL) { -var8 = 1; -} else { -if(cltype9 >= var_tkwmodulenode3->type->table_size) { -var8 = 0; +var12 = 0; } else { -var8 = var_tkwmodulenode3->type->type_table[cltype9] == idtype10; +var12 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var8) { +if (!var12) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4039); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4230); +show_backtrace(1); } -var_pmodulenamenode4 = var_nodearraylist4; -/* isa nullable AModuleName */ -cltype12 = type_nullable_parser_nodes__AModuleName.color; -idtype13 = type_nullable_parser_nodes__AModuleName.id; -if(var_pmodulenamenode4 == NULL) { -var11 = 1; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype14 = type_nullable_parser_nodes__TKwredef.color; +idtype15 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var13 = 1; } else { -if(cltype12 >= var_pmodulenamenode4->type->table_size) { -var11 = 0; +if(cltype14 >= var_tkwredefnode3->type->table_size) { +var13 = 0; } else { -var11 = var_pmodulenamenode4->type->type_table[cltype12] == idtype13; +var13 = var_tkwredefnode3->type->type_table[cltype14] == idtype15; } } -if (!var11) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4041); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4232); +show_backtrace(1); } -var_pannotationsnode5 = var_nodearraylist5; -/* isa nullable AAnnotations */ -cltype15 = type_nullable_parser_nodes__AAnnotations.color; -idtype16 = type_nullable_parser_nodes__AAnnotations.id; -if(var_pannotationsnode5 == NULL) { -var14 = 1; +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype17 = type_nullable_parser_nodes__AVisibility.color; +idtype18 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var16 = 1; } else { -if(cltype15 >= var_pannotationsnode5->type->table_size) { -var14 = 0; +if(cltype17 >= var_pvisibilitynode4->type->table_size) { +var16 = 0; } else { -var14 = var_pannotationsnode5->type->type_table[cltype15] == idtype16; +var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18; } } -if (!var14) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4043); -exit(1); -} -var17 = NEW_parser_nodes__AModuledecl(&type_parser_nodes__AModuledecl); -((void (*)(val*, val*, val*, val*, val*))(var17->class->vft[COLOR_parser_prod__AModuledecl__init_amoduledecl]))(var17, var_pdocnode2, var_tkwmodulenode3, var_pmodulenamenode4, var_pannotationsnode5) /* init_amoduledecl on */; -CHECK_NEW_parser_nodes__AModuledecl(var17); -var_pmoduledeclnode1 = var17; -var_node_list = var_pmoduledeclnode1; -var18 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var19 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var18) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var19, var_node_list) /* push on */; -RET_LABEL:; -} -/* method parser#ReduceAction65#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction65__action(val* self, val* p0) { -parser__ReduceAction65__action(self, p0); -RET_LABEL:; +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4234); +show_backtrace(1); } -/* method parser#ReduceAction66#action for (self: ReduceAction66, Parser) */ -void parser__ReduceAction66__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* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */; -short int var7 /* : Bool */; -int cltype; -int idtype; -val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var_pmodulenamenode4 /* var pmodulenamenode4: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var14 /* : AStdImport */; -val* var15 /* : null */; -val* var_pimportnode1 /* var pimportnode1: nullable AStdImport */; -long var16 /* : Int */; -long var17 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var1; -var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var2; -var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var3; -var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var4; -var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var5; -var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var6; -var_pvisibilitynode2 = var_nodearraylist2; -/* isa nullable AVisibility */ -cltype = type_nullable_parser_nodes__AVisibility.color; -idtype = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode2 == NULL) { -var7 = 1; +var_pclasskindnode5 = var_nodearraylist4; +/* isa nullable AClasskind */ +cltype20 = type_nullable_parser_nodes__AClasskind.color; +idtype21 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { +var19 = 1; } else { -if(cltype >= var_pvisibilitynode2->type->table_size) { -var7 = 0; +if(cltype20 >= var_pclasskindnode5->type->table_size) { +var19 = 0; } else { -var7 = var_pvisibilitynode2->type->type_table[cltype] == idtype; +var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21; } } -if (!var7) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4066); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4236); +show_backtrace(1); } -var_tkwimportnode3 = var_nodearraylist3; -/* isa nullable TKwimport */ -cltype9 = type_nullable_parser_nodes__TKwimport.color; -idtype10 = type_nullable_parser_nodes__TKwimport.id; -if(var_tkwimportnode3 == NULL) { -var8 = 1; +var_tclassidnode6 = var_nodearraylist6; +/* isa nullable TClassid */ +cltype23 = type_nullable_parser_nodes__TClassid.color; +idtype24 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { +var22 = 1; } else { -if(cltype9 >= var_tkwimportnode3->type->table_size) { -var8 = 0; +if(cltype23 >= var_tclassidnode6->type->table_size) { +var22 = 0; } else { -var8 = var_tkwimportnode3->type->type_table[cltype9] == idtype10; +var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24; } } -if (!var8) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4068); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4238); +show_backtrace(1); } -var_pmodulenamenode4 = var_nodearraylist5; -/* isa nullable AModuleName */ -cltype12 = type_nullable_parser_nodes__AModuleName.color; -idtype13 = type_nullable_parser_nodes__AModuleName.id; -if(var_pmodulenamenode4 == NULL) { -var11 = 1; +var_tkwendnode12 = var_nodearraylist8; +/* isa nullable TKwend */ +cltype26 = type_nullable_parser_nodes__TKwend.color; +idtype27 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode12 == NULL) { +var25 = 1; } else { -if(cltype12 >= var_pmodulenamenode4->type->table_size) { -var11 = 0; +if(cltype26 >= var_tkwendnode12->type->table_size) { +var25 = 0; } else { -var11 = var_pmodulenamenode4->type->type_table[cltype12] == idtype13; +var25 = var_tkwendnode12->type->type_table[cltype26] == idtype27; } } -if (!var11) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4070); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4240); +show_backtrace(1); } -var14 = NEW_parser_nodes__AStdImport(&type_parser_nodes__AStdImport); -var15 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var14->class->vft[COLOR_parser_prod__AStdImport__init_astdimport]))(var14, var_pvisibilitynode2, var_tkwimportnode3, var_pmodulenamenode4, var15) /* init_astdimport on */; -CHECK_NEW_parser_nodes__AStdImport(var14); -var_pimportnode1 = var14; -var_node_list = var_pimportnode1; -var16 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var17 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var16) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var17, var_node_list) /* push on */; +var28 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var29 = NULL; +var30 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var29, var30, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; +var_pclassdefnode1 = var28; +var_node_list = var_pclassdefnode1; +var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction66#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction66__action(val* self, val* p0) { -parser__ReduceAction66__action(self, p0); +/* method parser#ReduceAction74#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction74__action(val* self, val* p0) { +parser__ReduceAction74__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction67#action for (self: ReduceAction67, Parser) */ -void parser__ReduceAction67__action(val* self, val* p0) { +/* method parser#ReduceAction75#action for (self: ReduceAction75, Parser) */ +void parser__ReduceAction75__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var7 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */; -short int var8 /* : Bool */; +val* var9 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; +val* var10 /* : Array[Object] */; +val* var_listnode10 /* var listnode10: Array[Object] */; +val* var11 /* : Array[Object] */; +val* var_listnode11 /* var listnode11: Array[Object] */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var12 /* : Bool */; int cltype; int idtype; -val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var_pmodulenamenode4 /* var pmodulenamenode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var18 /* : AStdImport */; -val* var_pimportnode1 /* var pimportnode1: nullable AStdImport */; -long var19 /* : Int */; -long var20 /* : Int */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var25 /* : AStdClassdef */; +val* var26 /* : null */; +val* var27 /* : null */; +val* var28 /* : null */; +val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; +long var29 /* : Int */; +long var30 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var1; +var_nodearraylist8 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var2; +var_nodearraylist7 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var3; +var_nodearraylist6 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var4; +var_nodearraylist5 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var5; +var_nodearraylist4 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var6; +var_nodearraylist3 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var7; -var_pvisibilitynode2 = var_nodearraylist2; -/* isa nullable AVisibility */ -cltype = type_nullable_parser_nodes__AVisibility.color; -idtype = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode2 == NULL) { -var8 = 1; +var_nodearraylist2 = var7; +var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var8; +var9 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on */; +var_listnode7 = var9; +var10 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; +var_listnode10 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; +var_listnode11 = var11; +var_pdocnode2 = var_nodearraylist1; +/* isa nullable ADoc */ +cltype = type_nullable_parser_nodes__ADoc.color; +idtype = type_nullable_parser_nodes__ADoc.id; +if(var_pdocnode2 == NULL) { +var12 = 1; } else { -if(cltype >= var_pvisibilitynode2->type->table_size) { -var8 = 0; +if(cltype >= var_pdocnode2->type->table_size) { +var12 = 0; } else { -var8 = var_pvisibilitynode2->type->type_table[cltype] == idtype; +var12 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var8) { +if (!var12) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4094); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4275); +show_backtrace(1); } -var_tkwimportnode3 = var_nodearraylist3; -/* isa nullable TKwimport */ -cltype10 = type_nullable_parser_nodes__TKwimport.color; -idtype11 = type_nullable_parser_nodes__TKwimport.id; -if(var_tkwimportnode3 == NULL) { -var9 = 1; -} else { -if(cltype10 >= var_tkwimportnode3->type->table_size) { -var9 = 0; -} else { -var9 = var_tkwimportnode3->type->type_table[cltype10] == idtype11; -} -} -if (!var9) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4096); -exit(1); -} -var_pmodulenamenode4 = var_nodearraylist5; -/* isa nullable AModuleName */ -cltype13 = type_nullable_parser_nodes__AModuleName.color; -idtype14 = type_nullable_parser_nodes__AModuleName.id; -if(var_pmodulenamenode4 == NULL) { -var12 = 1; -} else { -if(cltype13 >= var_pmodulenamenode4->type->table_size) { -var12 = 0; -} else { -var12 = var_pmodulenamenode4->type->type_table[cltype13] == idtype14; -} -} -if (!var12) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4098); -exit(1); -} -var_pannotationsnode5 = var_nodearraylist6; -/* isa nullable AAnnotations */ -cltype16 = type_nullable_parser_nodes__AAnnotations.color; -idtype17 = type_nullable_parser_nodes__AAnnotations.id; -if(var_pannotationsnode5 == NULL) { -var15 = 1; -} else { -if(cltype16 >= var_pannotationsnode5->type->table_size) { -var15 = 0; -} else { -var15 = var_pannotationsnode5->type->type_table[cltype16] == idtype17; -} -} -if (!var15) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4100); -exit(1); -} -var18 = NEW_parser_nodes__AStdImport(&type_parser_nodes__AStdImport); -((void (*)(val*, val*, val*, val*, val*))(var18->class->vft[COLOR_parser_prod__AStdImport__init_astdimport]))(var18, var_pvisibilitynode2, var_tkwimportnode3, var_pmodulenamenode4, var_pannotationsnode5) /* init_astdimport on */; -CHECK_NEW_parser_nodes__AStdImport(var18); -var_pimportnode1 = var18; -var_node_list = var_pimportnode1; -var19 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var20 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var19) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var20, var_node_list) /* push on */; -RET_LABEL:; -} -/* method parser#ReduceAction67#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction67__action(val* self, val* p0) { -parser__ReduceAction67__action(self, p0); -RET_LABEL:; -} -/* method parser#ReduceAction68#action for (self: ReduceAction68, Parser) */ -void parser__ReduceAction68__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* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */; -short int var7 /* : Bool */; -int cltype; -int idtype; -val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var_tkwendnode4 /* var tkwendnode4: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var14 /* : ANoImport */; -val* var_pimportnode1 /* var pimportnode1: nullable ANoImport */; -long var15 /* : Int */; -long var16 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var1; -var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var2; -var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var3; -var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var4; -var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var5; -var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var6; -var_pvisibilitynode2 = var_nodearraylist2; -/* isa nullable AVisibility */ -cltype = type_nullable_parser_nodes__AVisibility.color; -idtype = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode2 == NULL) { -var7 = 1; +var_pvisibilitynode4 = var_nodearraylist2; +/* isa nullable AVisibility */ +cltype14 = type_nullable_parser_nodes__AVisibility.color; +idtype15 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var13 = 1; } else { -if(cltype >= var_pvisibilitynode2->type->table_size) { -var7 = 0; +if(cltype14 >= var_pvisibilitynode4->type->table_size) { +var13 = 0; } else { -var7 = var_pvisibilitynode2->type->type_table[cltype] == idtype; +var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; } } -if (!var7) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4123); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4277); +show_backtrace(1); } -var_tkwimportnode3 = var_nodearraylist3; -/* isa nullable TKwimport */ -cltype9 = type_nullable_parser_nodes__TKwimport.color; -idtype10 = type_nullable_parser_nodes__TKwimport.id; -if(var_tkwimportnode3 == NULL) { -var8 = 1; +var_pclasskindnode5 = var_nodearraylist3; +/* isa nullable AClasskind */ +cltype17 = type_nullable_parser_nodes__AClasskind.color; +idtype18 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { +var16 = 1; } else { -if(cltype9 >= var_tkwimportnode3->type->table_size) { -var8 = 0; +if(cltype17 >= var_pclasskindnode5->type->table_size) { +var16 = 0; } else { -var8 = var_tkwimportnode3->type->type_table[cltype9] == idtype10; +var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18; } } -if (!var8) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4125); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4279); +show_backtrace(1); } -var_tkwendnode4 = var_nodearraylist5; -/* isa nullable TKwend */ -cltype12 = type_nullable_parser_nodes__TKwend.color; -idtype13 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode4 == NULL) { -var11 = 1; +var_tclassidnode6 = var_nodearraylist6; +/* isa nullable TClassid */ +cltype20 = type_nullable_parser_nodes__TClassid.color; +idtype21 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { +var19 = 1; } else { -if(cltype12 >= var_tkwendnode4->type->table_size) { -var11 = 0; +if(cltype20 >= var_tclassidnode6->type->table_size) { +var19 = 0; } else { -var11 = var_tkwendnode4->type->type_table[cltype12] == idtype13; +var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21; } } -if (!var11) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4127); -exit(1); -} -var14 = NEW_parser_nodes__ANoImport(&type_parser_nodes__ANoImport); -((void (*)(val*, val*, val*, val*))(var14->class->vft[COLOR_parser_prod__ANoImport__init_anoimport]))(var14, var_pvisibilitynode2, var_tkwimportnode3, var_tkwendnode4) /* init_anoimport on */; -CHECK_NEW_parser_nodes__ANoImport(var14); -var_pimportnode1 = var14; -var_node_list = var_pimportnode1; -var15 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var16 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var15) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var16, var_node_list) /* push on */; -RET_LABEL:; -} -/* method parser#ReduceAction68#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction68__action(val* self, val* p0) { -parser__ReduceAction68__action(self, p0); -RET_LABEL:; +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4281); +show_backtrace(1); } -/* method parser#ReduceAction69#action for (self: ReduceAction69, Parser) */ -void parser__ReduceAction69__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* var2 /* : Array[Object] */; -val* var_listnode3 /* var listnode3: Array[Object] */; -val* var_ppropdefnode2 /* var ppropdefnode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var4 /* : null */; -short int var5 /* : Bool */; -val* var6 /* : AMainClassdef */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AMainClassdef */; -long var7 /* : Int */; -long var8 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var1; -var2 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var2->class->vft[COLOR_array__Array__init]))(var2) /* init on */; -CHECK_NEW_array__Array(var2); -var_listnode3 = var2; -var_ppropdefnode2 = var_nodearraylist1; -/* isa nullable APropdef */ -cltype = type_nullable_parser_nodes__APropdef.color; -idtype = type_nullable_parser_nodes__APropdef.id; -if(var_ppropdefnode2 == NULL) { -var3 = 1; +var_tkwendnode12 = var_nodearraylist8; +/* isa nullable TKwend */ +cltype23 = type_nullable_parser_nodes__TKwend.color; +idtype24 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode12 == NULL) { +var22 = 1; } else { -if(cltype >= var_ppropdefnode2->type->table_size) { -var3 = 0; +if(cltype23 >= var_tkwendnode12->type->table_size) { +var22 = 0; } else { -var3 = var_ppropdefnode2->type->type_table[cltype] == idtype; +var22 = var_tkwendnode12->type->type_table[cltype23] == idtype24; } } -if (!var3) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4145); -exit(1); -} -var4 = NULL; -if (var_ppropdefnode2 == NULL) { -var5 = 0; /* is null */ -} else { -var5 = 1; /* arg is null and recv is not */ +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4283); +show_backtrace(1); } -if (var5){ -((void (*)(val*, val*))(var_listnode3->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_listnode3, var_ppropdefnode2) /* add on */; -} else { -} -var6 = NEW_parser_nodes__AMainClassdef(&type_parser_nodes__AMainClassdef); -((void (*)(val*, val*))(var6->class->vft[COLOR_parser_prod__AMainClassdef__init_amainclassdef]))(var6, var_listnode3) /* init_amainclassdef on */; -CHECK_NEW_parser_nodes__AMainClassdef(var6); -var_pclassdefnode1 = var6; +var25 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var26 = NULL; +var27 = NULL; +var28 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var27, var28, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; +var_pclassdefnode1 = var25; var_node_list = var_pclassdefnode1; -var7 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var8 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var7) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var8, var_node_list) /* push on */; -RET_LABEL:; -} -/* method parser#ReduceAction69#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction69__action(val* self, val* p0) { -parser__ReduceAction69__action(self, p0); -RET_LABEL:; -} -/* method parser#ReduceAction70#action for (self: ReduceAction70, Parser) */ -void parser__ReduceAction70__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* var2 /* : null */; -long var3 /* : Int */; -long var4 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var1; -var2 = NULL; -var_node_list = var2; -var3 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var4 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var3) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var4, var_node_list) /* push on */; +var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction70#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction70__action(val* self, val* p0) { -parser__ReduceAction70__action(self, p0); +/* method parser#ReduceAction75#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction75__action(val* self, val* p0) { +parser__ReduceAction75__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction71#action for (self: ReduceAction71, Parser) */ -void parser__ReduceAction71__action(val* self, val* p0) { +/* method parser#ReduceAction76#action for (self: ReduceAction76, Parser) */ +void parser__ReduceAction76__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* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pexprnode3 /* var pexprnode3: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var4 /* : AMainMethPropdef */; -val* var5 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMainMethPropdef */; -long var6 /* : Int */; -long var7 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var1; -var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var2; -var_pexprnode3 = var_nodearraylist2; -/* isa nullable AExpr */ -cltype = type_nullable_parser_nodes__AExpr.color; -idtype = type_nullable_parser_nodes__AExpr.id; -if(var_pexprnode3 == NULL) { -var3 = 1; -} else { -if(cltype >= var_pexprnode3->type->table_size) { -var3 = 0; -} else { -var3 = var_pexprnode3->type->type_table[cltype] == idtype; -} -} -if (!var3) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4174); -exit(1); -} -var4 = NEW_parser_nodes__AMainMethPropdef(&type_parser_nodes__AMainMethPropdef); -var5 = NULL; -((void (*)(val*, val*, val*))(var4->class->vft[COLOR_parser_prod__AMainMethPropdef__init_amainmethpropdef]))(var4, var5, var_pexprnode3) /* init_amainmethpropdef on */; -CHECK_NEW_parser_nodes__AMainMethPropdef(var4); -var_ppropdefnode1 = var4; -var_node_list = var_ppropdefnode1; -var6 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var7 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var6) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var7, var_node_list) /* push on */; -RET_LABEL:; -} -/* method parser#ReduceAction71#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction71__action(val* self, val* p0) { -parser__ReduceAction71__action(self, p0); -RET_LABEL:; -} -/* method parser#ReduceAction73#action for (self: ReduceAction73, Parser) */ -void parser__ReduceAction73__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var2 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var3 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var4 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var5 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var6 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var7 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var8 /* : Array[Object] */; +val* var10 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; -val* var9 /* : Array[Object] */; +val* var11 /* : Array[Object] */; val* var_listnode10 /* var listnode10: Array[Object] */; -val* var10 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var11 /* : Bool */; +short int var13 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var24 /* : AStdClassdef */; -val* var25 /* : null */; -val* var26 /* : null */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var26 /* : AStdClassdef */; val* var27 /* : null */; +val* var28 /* : null */; +val* var29 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var28 /* : Int */; -long var29 /* : Int */; +long var30 /* : Int */; +long var31 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var1; +var_nodearraylist9 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var2; +var_nodearraylist8 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var3; +var_nodearraylist7 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var4; +var_nodearraylist6 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var5; +var_nodearraylist5 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var6; +var_nodearraylist4 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var7; -var8 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var8->class->vft[COLOR_array__Array__init]))(var8) /* init on */; -CHECK_NEW_array__Array(var8); -var_listnode7 = var8; -var9 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on */; -CHECK_NEW_array__Array(var9); -var_listnode10 = var9; +var_nodearraylist3 = var7; +var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var8; +var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var9; var10 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode11 = var10; +var_listnode7 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; +var_listnode10 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; +var_listnode11 = var12; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var11 = 1; +var13 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var11 = 0; +var13 = 0; } else { -var11 = var_pdocnode2->type->type_table[cltype] == idtype; +var13 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var11) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4199); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4319); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype13 = type_nullable_parser_nodes__AVisibility.color; -idtype14 = type_nullable_parser_nodes__AVisibility.id; +cltype15 = type_nullable_parser_nodes__AVisibility.color; +idtype16 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var12 = 1; +var14 = 1; } else { -if(cltype13 >= var_pvisibilitynode4->type->table_size) { -var12 = 0; +if(cltype15 >= var_pvisibilitynode4->type->table_size) { +var14 = 0; } else { -var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14; +var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; } } -if (!var12) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4201); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4321); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ -cltype16 = type_nullable_parser_nodes__AClasskind.color; -idtype17 = type_nullable_parser_nodes__AClasskind.id; +cltype18 = type_nullable_parser_nodes__AClasskind.color; +idtype19 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var15 = 1; +var17 = 1; } else { -if(cltype16 >= var_pclasskindnode5->type->table_size) { -var15 = 0; +if(cltype18 >= var_pclasskindnode5->type->table_size) { +var17 = 0; } else { -var15 = var_pclasskindnode5->type->type_table[cltype16] == idtype17; +var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19; } } -if (!var15) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4203); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4323); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist5; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype19 = type_nullable_parser_nodes__TClassid.color; -idtype20 = type_nullable_parser_nodes__TClassid.id; +cltype21 = type_nullable_parser_nodes__TClassid.color; +idtype22 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var18 = 1; +var20 = 1; } else { -if(cltype19 >= var_tclassidnode6->type->table_size) { -var18 = 0; +if(cltype21 >= var_tclassidnode6->type->table_size) { +var20 = 0; } else { -var18 = var_tclassidnode6->type->type_table[cltype19] == idtype20; +var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22; } } -if (!var18) { +if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4205); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4325); +show_backtrace(1); } -var_tkwendnode12 = var_nodearraylist7; +var_tkwendnode12 = var_nodearraylist9; /* isa nullable TKwend */ -cltype22 = type_nullable_parser_nodes__TKwend.color; -idtype23 = type_nullable_parser_nodes__TKwend.id; +cltype24 = type_nullable_parser_nodes__TKwend.color; +idtype25 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode12 == NULL) { -var21 = 1; +var23 = 1; } else { -if(cltype22 >= var_tkwendnode12->type->table_size) { -var21 = 0; +if(cltype24 >= var_tkwendnode12->type->table_size) { +var23 = 0; } else { -var21 = var_tkwendnode12->type->type_table[cltype22] == idtype23; +var23 = var_tkwendnode12->type->type_table[cltype24] == idtype25; } } -if (!var21) { +if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4207); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4327); +show_backtrace(1); } -var24 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var25 = NULL; -var26 = NULL; +var26 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); var27 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var24, var_pdocnode2, var25, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var26, var27, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var24); -var_pclassdefnode1 = var24; +var28 = NULL; +var29 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var26->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var26, var_pdocnode2, var27, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var28, var29, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; +var_pclassdefnode1 = var26; var_node_list = var_pclassdefnode1; -var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on */; +var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction73#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction73__action(val* self, val* p0) { -parser__ReduceAction73__action(self, p0); +/* method parser#ReduceAction76#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction76__action(val* self, val* p0) { +parser__ReduceAction76__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction74#action for (self: ReduceAction74, Parser) */ -void parser__ReduceAction74__action(val* self, val* p0) { +/* method parser#ReduceAction78#action for (self: ReduceAction78, Parser) */ +void parser__ReduceAction78__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: 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* var9 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; val* var10 /* : Array[Object] */; -val* var_listnode10 /* var listnode10: Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var11 /* : Array[Object] */; +val* var_listnode10 /* var listnode10: Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var12 /* : Bool */; +short int var13 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; +short int var23 /* : Bool */; +int cltype24; +int idtype25; val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : AStdClassdef */; -val* var29 /* : null */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : AStdClassdef */; val* var30 /* : null */; +val* var31 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var31 /* : Int */; long var32 /* : Int */; +long var33 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var1; +var_nodearraylist9 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var2; +var_nodearraylist8 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var3; +var_nodearraylist7 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var4; +var_nodearraylist6 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var5; +var_nodearraylist5 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var6; +var_nodearraylist4 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var7; +var_nodearraylist3 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var8; -var9 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on */; -CHECK_NEW_array__Array(var9); -var_listnode7 = var9; +var_nodearraylist2 = var8; +var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var9; var10 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode10 = var10; +var_listnode7 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode11 = var11; +var_listnode10 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; +var_listnode11 = var12; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var12 = 1; +var13 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var12 = 0; +var13 = 0; } else { -var12 = var_pdocnode2->type->type_table[cltype] == idtype; +var13 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var12) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4242); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4363); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype14 = type_nullable_parser_nodes__TKwredef.color; -idtype15 = type_nullable_parser_nodes__TKwredef.id; +cltype15 = type_nullable_parser_nodes__TKwredef.color; +idtype16 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var13 = 1; +var14 = 1; } else { -if(cltype14 >= var_tkwredefnode3->type->table_size) { -var13 = 0; +if(cltype15 >= var_tkwredefnode3->type->table_size) { +var14 = 0; } else { -var13 = var_tkwredefnode3->type->type_table[cltype14] == idtype15; +var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16; } } -if (!var13) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4244); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4365); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype17 = type_nullable_parser_nodes__AVisibility.color; -idtype18 = type_nullable_parser_nodes__AVisibility.id; +cltype18 = type_nullable_parser_nodes__AVisibility.color; +idtype19 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var16 = 1; +var17 = 1; } else { -if(cltype17 >= var_pvisibilitynode4->type->table_size) { -var16 = 0; +if(cltype18 >= var_pvisibilitynode4->type->table_size) { +var17 = 0; } else { -var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18; +var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; } } -if (!var16) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4246); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4367); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype20 = type_nullable_parser_nodes__AClasskind.color; -idtype21 = type_nullable_parser_nodes__AClasskind.id; +cltype21 = type_nullable_parser_nodes__AClasskind.color; +idtype22 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var19 = 1; +var20 = 1; } else { -if(cltype20 >= var_pclasskindnode5->type->table_size) { -var19 = 0; +if(cltype21 >= var_pclasskindnode5->type->table_size) { +var20 = 0; } else { -var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21; +var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; } } -if (!var19) { +if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4248); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4369); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype23 = type_nullable_parser_nodes__TClassid.color; -idtype24 = type_nullable_parser_nodes__TClassid.id; +cltype24 = type_nullable_parser_nodes__TClassid.color; +idtype25 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var22 = 1; +var23 = 1; } else { -if(cltype23 >= var_tclassidnode6->type->table_size) { -var22 = 0; +if(cltype24 >= var_tclassidnode6->type->table_size) { +var23 = 0; } else { -var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24; +var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; } } -if (!var22) { +if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4250); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4371); +show_backtrace(1); } -var_tkwendnode12 = var_nodearraylist8; +var_tkwendnode12 = var_nodearraylist9; /* isa nullable TKwend */ -cltype26 = type_nullable_parser_nodes__TKwend.color; -idtype27 = type_nullable_parser_nodes__TKwend.id; +cltype27 = type_nullable_parser_nodes__TKwend.color; +idtype28 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode12 == NULL) { -var25 = 1; +var26 = 1; } else { -if(cltype26 >= var_tkwendnode12->type->table_size) { -var25 = 0; +if(cltype27 >= var_tkwendnode12->type->table_size) { +var26 = 0; } else { -var25 = var_tkwendnode12->type->type_table[cltype26] == idtype27; +var26 = var_tkwendnode12->type->type_table[cltype27] == idtype28; } } -if (!var25) { +if (!var26) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4252); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4373); +show_backtrace(1); } -var28 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var29 = NULL; +var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); var30 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var29, var30, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var28); -var_pclassdefnode1 = var28; +var31 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var30, var31, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; +var_pclassdefnode1 = var29; var_node_list = var_pclassdefnode1; -var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on */; +var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction74#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction74__action(val* self, val* p0) { -parser__ReduceAction74__action(self, p0); +/* method parser#ReduceAction78#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction78__action(val* self, val* p0) { +parser__ReduceAction78__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction75#action for (self: ReduceAction75, Parser) */ -void parser__ReduceAction75__action(val* self, val* p0) { +/* method parser#ReduceAction79#action for (self: ReduceAction79, Parser) */ +void parser__ReduceAction79__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var8 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var9 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var9 /* : Array[Object] */; +val* var11 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; -val* var10 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode10 /* var listnode10: Array[Object] */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var12 /* : Bool */; +short int var14 /* : 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_tkwendnode12 /* var tkwendnode12: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : AStdClassdef */; +val* var31 /* : null */; +val* var32 /* : null */; +val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; +long var33 /* : Int */; +long var34 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist10 = var1; +var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist9 = var2; +var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist8 = var3; +var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist7 = var4; +var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist6 = var5; +var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist5 = var6; +var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist4 = var7; +var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist3 = var8; +var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var9; +var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; +var_listnode7 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; +var_listnode10 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; +var_listnode11 = var13; +var_pdocnode2 = var_nodearraylist1; +/* isa nullable ADoc */ +cltype = type_nullable_parser_nodes__ADoc.color; +idtype = type_nullable_parser_nodes__ADoc.id; +if(var_pdocnode2 == NULL) { +var14 = 1; +} else { +if(cltype >= var_pdocnode2->type->table_size) { +var14 = 0; +} else { +var14 = var_pdocnode2->type->type_table[cltype] == idtype; +} +} +if (!var14) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4410); +show_backtrace(1); +} +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var15 = 1; +} else { +if(cltype16 >= var_tkwredefnode3->type->table_size) { +var15 = 0; +} else { +var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +} +} +if (!var15) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4412); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype19 = type_nullable_parser_nodes__AVisibility.color; +idtype20 = type_nullable_parser_nodes__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 (!var18) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4414); +show_backtrace(1); +} +var_pclasskindnode5 = var_nodearraylist4; +/* isa nullable AClasskind */ +cltype22 = type_nullable_parser_nodes__AClasskind.color; +idtype23 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { +var21 = 1; +} else { +if(cltype22 >= var_pclasskindnode5->type->table_size) { +var21 = 0; +} else { +var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +} +} +if (!var21) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4416); +show_backtrace(1); +} +var_tclassidnode6 = var_nodearraylist8; +/* isa nullable TClassid */ +cltype25 = type_nullable_parser_nodes__TClassid.color; +idtype26 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { +var24 = 1; +} else { +if(cltype25 >= var_tclassidnode6->type->table_size) { +var24 = 0; +} else { +var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +} +} +if (!var24) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4418); +show_backtrace(1); +} +var_tkwendnode12 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype28 = type_nullable_parser_nodes__TKwend.color; +idtype29 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode12 == NULL) { +var27 = 1; +} else { +if(cltype28 >= var_tkwendnode12->type->table_size) { +var27 = 0; +} else { +var27 = var_tkwendnode12->type->type_table[cltype28] == idtype29; +} +} +if (!var27) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4420); +show_backtrace(1); +} +var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var31 = NULL; +var32 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var32, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; +var_pclassdefnode1 = var30; +var_node_list = var_pclassdefnode1; +var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on */; +RET_LABEL:; +} +/* method parser#ReduceAction79#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction79__action(val* self, val* p0) { +parser__ReduceAction79__action(self, p0); +RET_LABEL:; +} +/* method parser#ReduceAction81#action for (self: ReduceAction81, Parser) */ +void parser__ReduceAction81__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var9 /* : Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; +val* var10 /* : Array[Object] */; +val* var_listnode11 /* var listnode11: Array[Object] */; +val* var11 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var12 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; @@ -1119,17 +1063,22 @@ val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var19 /* : Bool */; int cltype20; int idtype21; -val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; +val* var_listnode7 /* var listnode7: nullable Object */; short int var22 /* : Bool */; int cltype23; int idtype24; -val* var25 /* : AStdClassdef */; -val* var26 /* : null */; -val* var27 /* : null */; -val* var28 /* : null */; +val* var25 /* : Array[Object] */; +val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : AStdClassdef */; +val* var30 /* : null */; +val* var31 /* : null */; +val* var32 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var29 /* : Int */; -long var30 /* : Int */; +long var33 /* : Int */; +long var34 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -1151,16 +1100,13 @@ var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) / var_nodearraylist1 = var8; var9 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on */; -CHECK_NEW_array__Array(var9); -var_listnode7 = var9; +var_listnode8 = var9; var10 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode10 = var10; +var_listnode11 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode11 = var11; +var_listnode12 = var11; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -1176,8 +1122,8 @@ var12 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var12) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4287); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4455); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ @@ -1194,8 +1140,8 @@ var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; } if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4289); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4457); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ @@ -1212,10 +1158,10 @@ var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18; } if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4291); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4459); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist5; /* isa nullable TClassid */ cltype20 = type_nullable_parser_nodes__TClassid.color; idtype21 = type_nullable_parser_nodes__TClassid.id; @@ -1230,47 +1176,66 @@ var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21; } if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4293); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4461); +show_backtrace(1); } -var_tkwendnode12 = var_nodearraylist8; -/* isa nullable TKwend */ -cltype23 = type_nullable_parser_nodes__TKwend.color; -idtype24 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode12 == NULL) { -var22 = 1; +var_listnode7 = var_nodearraylist6; +/* isa Array[Object] */ +cltype23 = type_array__Arraykernel__Object.color; +idtype24 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var22 = 0; } else { -if(cltype23 >= var_tkwendnode12->type->table_size) { +if(cltype23 >= var_listnode7->type->table_size) { var22 = 0; } else { -var22 = var_tkwendnode12->type->type_table[cltype23] == idtype24; +var22 = var_listnode7->type->type_table[cltype23] == idtype24; } } if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4295); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4463); +show_backtrace(1); } -var25 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var26 = NULL; -var27 = NULL; -var28 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var27, var28, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var25); -var_pclassdefnode1 = var25; -var_node_list = var_pclassdefnode1; -var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on */; -RET_LABEL:; -} -/* method parser#ReduceAction75#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction75__action(val* self, val* p0) { -parser__ReduceAction75__action(self, p0); -RET_LABEL:; +var25 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var25; +var_tkwendnode13 = var_nodearraylist8; +/* isa nullable TKwend */ +cltype27 = type_nullable_parser_nodes__TKwend.color; +idtype28 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode13 == NULL) { +var26 = 1; +} else { +if(cltype27 >= var_tkwendnode13->type->table_size) { +var26 = 0; +} else { +var26 = var_tkwendnode13->type->type_table[cltype27] == idtype28; } -/* method parser#ReduceAction76#action for (self: ReduceAction76, Parser) */ -void parser__ReduceAction76__action(val* self, val* p0) { +} +if (!var26) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4466); +show_backtrace(1); +} +var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var30 = NULL; +var31 = NULL; +var32 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var31, var32, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; +var_pclassdefnode1 = var29; +var_node_list = var_pclassdefnode1; +var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on */; +RET_LABEL:; +} +/* method parser#ReduceAction81#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction81__action(val* self, val* p0) { +parser__ReduceAction81__action(self, p0); +RET_LABEL:; +} +/* method parser#ReduceAction82#action for (self: ReduceAction82, Parser) */ +void parser__ReduceAction82__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -1293,38 +1258,46 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var10 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var11 /* : Array[Object] */; -val* var_listnode10 /* var listnode10: Array[Object] */; -val* var12 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; +val* var12 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var13 /* : Bool */; int cltype; int idtype; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; short int var14 /* : Bool */; int cltype15; int idtype16; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var17 /* : Bool */; int cltype18; int idtype19; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var23 /* : Bool */; int cltype24; int idtype25; -val* var26 /* : AStdClassdef */; -val* var27 /* : null */; -val* var28 /* : null */; -val* var29 /* : null */; +val* var_listnode7 /* var listnode7: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : 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 */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var30 /* : Int */; -long var31 /* : Int */; +long var36 /* : Int */; +long var37 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -1348,16 +1321,13 @@ var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) / var_nodearraylist1 = var9; var10 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode7 = var10; +var_listnode8 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode10 = var11; +var_listnode11 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode11 = var12; +var_listnode12 = var12; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -1373,101 +1343,137 @@ var13 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4331); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4502); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; -/* isa nullable AVisibility */ -cltype15 = type_nullable_parser_nodes__AVisibility.color; -idtype16 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype15 = type_nullable_parser_nodes__TKwredef.color; +idtype16 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { var14 = 1; } else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { +if(cltype15 >= var_tkwredefnode3->type->table_size) { var14 = 0; } else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16; } } if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4333); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4504); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; -/* isa nullable AClasskind */ -cltype18 = type_nullable_parser_nodes__AClasskind.color; -idtype19 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype18 = type_nullable_parser_nodes__AVisibility.color; +idtype19 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { var17 = 1; } else { -if(cltype18 >= var_pclasskindnode5->type->table_size) { +if(cltype18 >= var_pvisibilitynode4->type->table_size) { var17 = 0; } else { -var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19; +var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; } } if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4335); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4506); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; -/* isa nullable TClassid */ -cltype21 = type_nullable_parser_nodes__TClassid.color; -idtype22 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { +var_pclasskindnode5 = var_nodearraylist4; +/* isa nullable AClasskind */ +cltype21 = type_nullable_parser_nodes__AClasskind.color; +idtype22 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { var20 = 1; } else { -if(cltype21 >= var_tclassidnode6->type->table_size) { +if(cltype21 >= var_pclasskindnode5->type->table_size) { var20 = 0; } else { -var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22; +var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; } } if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4337); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4508); +show_backtrace(1); } -var_tkwendnode12 = var_nodearraylist9; -/* isa nullable TKwend */ -cltype24 = type_nullable_parser_nodes__TKwend.color; -idtype25 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode12 == NULL) { +var_tclassidnode6 = var_nodearraylist6; +/* isa nullable TClassid */ +cltype24 = type_nullable_parser_nodes__TClassid.color; +idtype25 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { var23 = 1; } else { -if(cltype24 >= var_tkwendnode12->type->table_size) { +if(cltype24 >= var_tclassidnode6->type->table_size) { var23 = 0; } else { -var23 = var_tkwendnode12->type->type_table[cltype24] == idtype25; +var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; } } if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4339); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4510); +show_backtrace(1); } -var26 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var27 = NULL; -var28 = NULL; -var29 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var26->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var26, var_pdocnode2, var27, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var28, var29, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var26); -var_pclassdefnode1 = var26; +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype27 = type_array__Arraykernel__Object.color; +idtype28 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var26 = 0; +} else { +if(cltype27 >= var_listnode7->type->table_size) { +var26 = 0; +} else { +var26 = var_listnode7->type->type_table[cltype27] == idtype28; +} +} +if (!var26) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4512); +show_backtrace(1); +} +var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var29; +var_tkwendnode13 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype31 = type_nullable_parser_nodes__TKwend.color; +idtype32 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode13 == NULL) { +var30 = 1; +} else { +if(cltype31 >= var_tkwendnode13->type->table_size) { +var30 = 0; +} else { +var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32; +} +} +if (!var30) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4515); +show_backtrace(1); +} +var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var34 = NULL; +var35 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_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) /* init_astdclassdef on */; +var_pclassdefnode1 = var33; var_node_list = var_pclassdefnode1; -var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on */; +var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction76#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction76__action(val* self, val* p0) { -parser__ReduceAction76__action(self, p0); +/* method parser#ReduceAction82#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction82__action(val* self, val* p0) { +parser__ReduceAction82__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction78#action for (self: ReduceAction78, Parser) */ -void parser__ReduceAction78__action(val* self, val* p0) { +/* method parser#ReduceAction83#action for (self: ReduceAction83, Parser) */ +void parser__ReduceAction83__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -1490,41 +1496,43 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var10 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var11 /* : Array[Object] */; -val* var_listnode10 /* var listnode10: Array[Object] */; -val* var12 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; +val* var12 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var13 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +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_listnode7 /* var listnode7: nullable Object */; short int var23 /* : Bool */; int cltype24; int idtype25; -val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : AStdClassdef */; -val* var30 /* : null */; +val* var26 /* : Array[Object] */; +val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : AStdClassdef */; val* var31 /* : null */; +val* var32 /* : null */; +val* var33 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var32 /* : Int */; -long var33 /* : Int */; +long var34 /* : Int */; +long var35 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -1548,16 +1556,13 @@ var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) / var_nodearraylist1 = var9; var10 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode7 = var10; +var_listnode8 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode10 = var11; +var_listnode11 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode11 = var12; +var_listnode12 = var12; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -1573,118 +1578,120 @@ var13 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4375); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4551); +show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype15 = type_nullable_parser_nodes__TKwredef.color; -idtype16 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { +var_pvisibilitynode4 = var_nodearraylist2; +/* isa nullable AVisibility */ +cltype15 = type_nullable_parser_nodes__AVisibility.color; +idtype16 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { var14 = 1; } else { -if(cltype15 >= var_tkwredefnode3->type->table_size) { +if(cltype15 >= var_pvisibilitynode4->type->table_size) { var14 = 0; } else { -var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16; +var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; } } if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4377); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4553); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype18 = type_nullable_parser_nodes__AVisibility.color; -idtype19 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var17 = 1; -} else { -if(cltype18 >= var_pvisibilitynode4->type->table_size) { -var17 = 0; +var_pclasskindnode5 = var_nodearraylist3; +/* isa nullable AClasskind */ +cltype18 = type_nullable_parser_nodes__AClasskind.color; +idtype19 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { +var17 = 1; } else { -var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; +if(cltype18 >= var_pclasskindnode5->type->table_size) { +var17 = 0; +} else { +var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19; } } if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4379); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4555); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype21 = type_nullable_parser_nodes__AClasskind.color; -idtype22 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_tclassidnode6 = var_nodearraylist6; +/* isa nullable TClassid */ +cltype21 = type_nullable_parser_nodes__TClassid.color; +idtype22 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { var20 = 1; } else { -if(cltype21 >= var_pclasskindnode5->type->table_size) { +if(cltype21 >= var_tclassidnode6->type->table_size) { var20 = 0; } else { -var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; +var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22; } } if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4381); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4557); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; -/* isa nullable TClassid */ -cltype24 = type_nullable_parser_nodes__TClassid.color; -idtype25 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { -var23 = 1; +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype24 = type_array__Arraykernel__Object.color; +idtype25 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var23 = 0; } else { -if(cltype24 >= var_tclassidnode6->type->table_size) { +if(cltype24 >= var_listnode7->type->table_size) { var23 = 0; } else { -var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; +var23 = var_listnode7->type->type_table[cltype24] == idtype25; } } if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4383); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4559); +show_backtrace(1); } -var_tkwendnode12 = var_nodearraylist9; -/* isa nullable TKwend */ -cltype27 = type_nullable_parser_nodes__TKwend.color; -idtype28 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode12 == NULL) { -var26 = 1; +var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var26; +var_tkwendnode13 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype28 = type_nullable_parser_nodes__TKwend.color; +idtype29 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode13 == NULL) { +var27 = 1; } else { -if(cltype27 >= var_tkwendnode12->type->table_size) { -var26 = 0; +if(cltype28 >= var_tkwendnode13->type->table_size) { +var27 = 0; } else { -var26 = var_tkwendnode12->type->type_table[cltype27] == idtype28; +var27 = var_tkwendnode13->type->type_table[cltype28] == idtype29; } } -if (!var26) { +if (!var27) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4385); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4562); +show_backtrace(1); } -var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var30 = NULL; +var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); var31 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var30, var31, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var29); -var_pclassdefnode1 = var29; +var32 = NULL; +var33 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var32, var33, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; +var_pclassdefnode1 = var30; var_node_list = var_pclassdefnode1; -var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on */; +var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction78#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction78__action(val* self, val* p0) { -parser__ReduceAction78__action(self, p0); +/* method parser#ReduceAction83#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction83__action(val* self, val* p0) { +parser__ReduceAction83__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction79#action for (self: ReduceAction79, Parser) */ -void parser__ReduceAction79__action(val* self, val* p0) { +/* method parser#ReduceAction84#action for (self: ReduceAction84, Parser) */ +void parser__ReduceAction84__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -1709,41 +1716,43 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var11 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode10 /* var listnode10: Array[Object] */; -val* var13 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; +val* var13 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var14 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +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_listnode7 /* var listnode7: nullable Object */; short int var24 /* : Bool */; int cltype25; int idtype26; -val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : AStdClassdef */; -val* var31 /* : null */; +val* var27 /* : Array[Object] */; +val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var31 /* : AStdClassdef */; val* var32 /* : null */; +val* var33 /* : null */; +val* var34 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var33 /* : Int */; -long var34 /* : Int */; +long var35 /* : Int */; +long var36 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -1769,16 +1778,13 @@ var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) var_nodearraylist1 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode7 = var11; +var_listnode8 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode10 = var12; +var_listnode11 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode11 = var13; +var_listnode12 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -1794,2014 +1800,2072 @@ var14 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4422); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4599); +show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype16 = type_nullable_parser_nodes__TKwredef.color; -idtype17 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { +var_pvisibilitynode4 = var_nodearraylist2; +/* isa nullable AVisibility */ +cltype16 = type_nullable_parser_nodes__AVisibility.color; +idtype17 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { var15 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { +if(cltype16 >= var_pvisibilitynode4->type->table_size) { var15 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; } } if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4424); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4601); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype19 = type_nullable_parser_nodes__AVisibility.color; -idtype20 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { +var_pclasskindnode5 = var_nodearraylist3; +/* isa nullable AClasskind */ +cltype19 = type_nullable_parser_nodes__AClasskind.color; +idtype20 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { var18 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { +if(cltype19 >= var_pclasskindnode5->type->table_size) { var18 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20; } } if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4426); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4603); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_tclassidnode6 = var_nodearraylist7; +/* isa nullable TClassid */ +cltype22 = type_nullable_parser_nodes__TClassid.color; +idtype23 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { var21 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { +if(cltype22 >= var_tclassidnode6->type->table_size) { var21 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23; } } if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4428); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4605); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist8; -/* isa nullable TClassid */ -cltype25 = type_nullable_parser_nodes__TClassid.color; -idtype26 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { -var24 = 1; +var_listnode7 = var_nodearraylist8; +/* isa Array[Object] */ +cltype25 = type_array__Arraykernel__Object.color; +idtype26 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var24 = 0; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { +if(cltype25 >= var_listnode7->type->table_size) { var24 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var24 = var_listnode7->type->type_table[cltype25] == idtype26; } } if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4430); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4607); +show_backtrace(1); } -var_tkwendnode12 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype28 = type_nullable_parser_nodes__TKwend.color; -idtype29 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode12 == NULL) { -var27 = 1; +var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var27; +var_tkwendnode13 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype29 = type_nullable_parser_nodes__TKwend.color; +idtype30 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode13 == NULL) { +var28 = 1; } else { -if(cltype28 >= var_tkwendnode12->type->table_size) { -var27 = 0; +if(cltype29 >= var_tkwendnode13->type->table_size) { +var28 = 0; } else { -var27 = var_tkwendnode12->type->type_table[cltype28] == idtype29; +var28 = var_tkwendnode13->type->type_table[cltype29] == idtype30; } } -if (!var27) { +if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4432); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4610); +show_backtrace(1); } -var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var31 = NULL; +var31 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); var32 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var32, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var30); -var_pclassdefnode1 = var30; +var33 = NULL; +var34 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var31, var_pdocnode2, var32, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var33, var34, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; +var_pclassdefnode1 = var31; var_node_list = var_pclassdefnode1; -var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on */; +var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction79#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction79__action(val* self, val* p0) { -parser__ReduceAction79__action(self, p0); +/* method parser#ReduceAction84#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction84__action(val* self, val* p0) { +parser__ReduceAction84__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction81#action for (self: ReduceAction81, Parser) */ -void parser__ReduceAction81__action(val* self, val* p0) { +/* method parser#ReduceAction86#action for (self: ReduceAction86, Parser) */ +void parser__ReduceAction86__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var8 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var9 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var9 /* : Array[Object] */; +val* var11 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; -val* var10 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var12 /* : Bool */; +short int var14 /* : 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 var13 /* : Bool */; -int cltype14; -int idtype15; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var21 /* : Bool */; +int cltype22; +int idtype23; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var24 /* : Bool */; +int cltype25; +int idtype26; val* var_listnode7 /* var listnode7: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var25 /* : Array[Object] */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : Array[Object] */; val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : AStdClassdef */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var32 /* : null */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AStdClassdef */; +val* var35 /* : null */; +val* var36 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var33 /* : Int */; -long var34 /* : Int */; +long var37 /* : Int */; +long var38 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var1; +var_nodearraylist10 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var2; +var_nodearraylist9 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var3; +var_nodearraylist8 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var4; +var_nodearraylist7 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var5; +var_nodearraylist6 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var6; +var_nodearraylist5 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var7; +var_nodearraylist4 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var8; -var9 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on */; -CHECK_NEW_array__Array(var9); -var_listnode8 = var9; -var10 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode11 = var10; +var_nodearraylist3 = var8; +var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var9; +var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode12 = var11; +var_listnode8 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; +var_listnode11 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; +var_listnode12 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var12 = 1; +var14 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var12 = 0; +var14 = 0; } else { -var12 = var_pdocnode2->type->type_table[cltype] == idtype; +var14 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var12) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4467); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4647); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var15 = 1; +} else { +if(cltype16 >= var_tkwredefnode3->type->table_size) { +var15 = 0; +} else { +var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +} +} +if (!var15) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4649); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype14 = type_nullable_parser_nodes__AVisibility.color; -idtype15 = type_nullable_parser_nodes__AVisibility.id; +cltype19 = type_nullable_parser_nodes__AVisibility.color; +idtype20 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var13 = 1; +var18 = 1; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; +if(cltype19 >= var_pvisibilitynode4->type->table_size) { +var18 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; } } -if (!var13) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4469); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4651); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; +var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype17 = type_nullable_parser_nodes__AClasskind.color; -idtype18 = type_nullable_parser_nodes__AClasskind.id; +cltype22 = type_nullable_parser_nodes__AClasskind.color; +idtype23 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var16 = 1; +var21 = 1; } else { -if(cltype17 >= var_pclasskindnode5->type->table_size) { -var16 = 0; +if(cltype22 >= var_pclasskindnode5->type->table_size) { +var21 = 0; } else { -var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18; +var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; } } -if (!var16) { +if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4471); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4653); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist5; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype20 = type_nullable_parser_nodes__TClassid.color; -idtype21 = type_nullable_parser_nodes__TClassid.id; +cltype25 = type_nullable_parser_nodes__TClassid.color; +idtype26 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var19 = 1; +var24 = 1; } else { -if(cltype20 >= var_tclassidnode6->type->table_size) { -var19 = 0; +if(cltype25 >= var_tclassidnode6->type->table_size) { +var24 = 0; } else { -var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21; +var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; } } -if (!var19) { +if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4473); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4655); +show_backtrace(1); } -var_listnode7 = var_nodearraylist6; +var_listnode7 = var_nodearraylist8; /* isa Array[Object] */ -cltype23 = type_array__Arraykernel__Object.color; -idtype24 = type_array__Arraykernel__Object.id; +cltype28 = type_array__Arraykernel__Object.color; +idtype29 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var22 = 0; +var27 = 0; } else { -if(cltype23 >= var_listnode7->type->table_size) { -var22 = 0; +if(cltype28 >= var_listnode7->type->table_size) { +var27 = 0; } else { -var22 = var_listnode7->type->type_table[cltype23] == idtype24; +var27 = var_listnode7->type->type_table[cltype28] == idtype29; } } -if (!var22) { +if (!var27) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4475); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4657); +show_backtrace(1); } -var25 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var25; -var_tkwendnode13 = var_nodearraylist8; +var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var30; +var_tkwendnode13 = var_nodearraylist10; /* isa nullable TKwend */ -cltype27 = type_nullable_parser_nodes__TKwend.color; -idtype28 = type_nullable_parser_nodes__TKwend.id; +cltype32 = type_nullable_parser_nodes__TKwend.color; +idtype33 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode13 == NULL) { -var26 = 1; +var31 = 1; } else { -if(cltype27 >= var_tkwendnode13->type->table_size) { -var26 = 0; +if(cltype32 >= var_tkwendnode13->type->table_size) { +var31 = 0; } else { -var26 = var_tkwendnode13->type->type_table[cltype27] == idtype28; +var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33; } } -if (!var26) { +if (!var31) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4478); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4660); +show_backtrace(1); } -var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var30 = NULL; -var31 = NULL; -var32 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var31, var32, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var29); -var_pclassdefnode1 = var29; +var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var35 = NULL; +var36 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var35, var36, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; +var_pclassdefnode1 = var34; var_node_list = var_pclassdefnode1; -var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on */; +var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction81#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction81__action(val* self, val* p0) { -parser__ReduceAction81__action(self, p0); +/* method parser#ReduceAction86#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction86__action(val* self, val* p0) { +parser__ReduceAction86__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction82#action for (self: ReduceAction82, Parser) */ -void parser__ReduceAction82__action(val* self, val* p0) { +/* method parser#ReduceAction87#action for (self: ReduceAction87, Parser) */ +void parser__ReduceAction87__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var9 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var10 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var10 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; -val* var12 /* : Array[Object] */; +val* var14 /* : Array[Object] */; val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var13 /* : Bool */; +short int var15 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +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 var23 /* : Bool */; -int cltype24; -int idtype25; +short int var25 /* : Bool */; +int cltype26; +int idtype27; val* var_listnode7 /* var listnode7: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : Array[Object] */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var31 /* : 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 var32 /* : Bool */; +int cltype33; +int idtype34; +val* var35 /* : AStdClassdef */; +val* var36 /* : null */; +val* var37 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var36 /* : Int */; -long var37 /* : Int */; +long var38 /* : Int */; +long var39 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var1; +var_nodearraylist11 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var2; +var_nodearraylist10 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var3; +var_nodearraylist9 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var4; +var_nodearraylist8 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var5; +var_nodearraylist7 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var6; +var_nodearraylist6 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var7; +var_nodearraylist5 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var8; +var_nodearraylist4 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var9; -var10 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode8 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode11 = var11; +var_nodearraylist3 = var9; +var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var10; +var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode12 = var12; +var_listnode8 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; +var_listnode11 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; +var_listnode12 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var13 = 1; +var15 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var13 = 0; +var15 = 0; } else { -var13 = var_pdocnode2->type->type_table[cltype] == idtype; +var15 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var13) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4514); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4698); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype15 = type_nullable_parser_nodes__TKwredef.color; -idtype16 = type_nullable_parser_nodes__TKwredef.id; +cltype17 = type_nullable_parser_nodes__TKwredef.color; +idtype18 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var14 = 1; +var16 = 1; } else { -if(cltype15 >= var_tkwredefnode3->type->table_size) { -var14 = 0; +if(cltype17 >= var_tkwredefnode3->type->table_size) { +var16 = 0; } else { -var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16; +var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; } } -if (!var14) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4516); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4700); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype18 = type_nullable_parser_nodes__AVisibility.color; -idtype19 = type_nullable_parser_nodes__AVisibility.id; +cltype20 = type_nullable_parser_nodes__AVisibility.color; +idtype21 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var17 = 1; +var19 = 1; } else { -if(cltype18 >= var_pvisibilitynode4->type->table_size) { -var17 = 0; +if(cltype20 >= var_pvisibilitynode4->type->table_size) { +var19 = 0; } else { -var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; +var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; } } -if (!var17) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4518); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4702); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype21 = type_nullable_parser_nodes__AClasskind.color; -idtype22 = type_nullable_parser_nodes__AClasskind.id; +cltype23 = type_nullable_parser_nodes__AClasskind.color; +idtype24 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var20 = 1; +var22 = 1; } else { -if(cltype21 >= var_pclasskindnode5->type->table_size) { -var20 = 0; +if(cltype23 >= var_pclasskindnode5->type->table_size) { +var22 = 0; } else { -var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; +var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; } } -if (!var20) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4520); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4704); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist8; /* isa nullable TClassid */ -cltype24 = type_nullable_parser_nodes__TClassid.color; -idtype25 = type_nullable_parser_nodes__TClassid.id; +cltype26 = type_nullable_parser_nodes__TClassid.color; +idtype27 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var23 = 1; +var25 = 1; } else { -if(cltype24 >= var_tclassidnode6->type->table_size) { -var23 = 0; +if(cltype26 >= var_tclassidnode6->type->table_size) { +var25 = 0; } else { -var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; +var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; } } -if (!var23) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4522); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4706); +show_backtrace(1); } -var_listnode7 = var_nodearraylist7; +var_listnode7 = var_nodearraylist9; /* isa Array[Object] */ -cltype27 = type_array__Arraykernel__Object.color; -idtype28 = type_array__Arraykernel__Object.id; +cltype29 = type_array__Arraykernel__Object.color; +idtype30 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var26 = 0; +var28 = 0; } else { -if(cltype27 >= var_listnode7->type->table_size) { -var26 = 0; +if(cltype29 >= var_listnode7->type->table_size) { +var28 = 0; } else { -var26 = var_listnode7->type->type_table[cltype27] == idtype28; +var28 = var_listnode7->type->type_table[cltype29] == idtype30; } } -if (!var26) { +if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4524); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4708); +show_backtrace(1); } -var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var29; -var_tkwendnode13 = var_nodearraylist9; +var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var31; +var_tkwendnode13 = var_nodearraylist11; /* isa nullable TKwend */ -cltype31 = type_nullable_parser_nodes__TKwend.color; -idtype32 = type_nullable_parser_nodes__TKwend.id; +cltype33 = type_nullable_parser_nodes__TKwend.color; +idtype34 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode13 == NULL) { -var30 = 1; +var32 = 1; } else { -if(cltype31 >= var_tkwendnode13->type->table_size) { -var30 = 0; +if(cltype33 >= var_tkwendnode13->type->table_size) { +var32 = 0; } else { -var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32; +var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34; } } -if (!var30) { +if (!var32) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4527); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4711); +show_backtrace(1); } -var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var34 = NULL; -var35 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_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) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var33); -var_pclassdefnode1 = var33; +var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var36 = NULL; +var37 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var37, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; +var_pclassdefnode1 = var35; var_node_list = var_pclassdefnode1; -var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on */; +var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction82#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction82__action(val* self, val* p0) { -parser__ReduceAction82__action(self, p0); +/* method parser#ReduceAction87#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction87__action(val* self, val* p0) { +parser__ReduceAction87__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction83#action for (self: ReduceAction83, Parser) */ -void parser__ReduceAction83__action(val* self, val* p0) { +/* method parser#ReduceAction89#action for (self: ReduceAction89, Parser) */ +void parser__ReduceAction89__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var2 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var9 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var10 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode15 /* var listnode15: Array[Object] */; val* var11 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var12 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var13 /* : Bool */; +short int var12 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var13 /* : Bool */; +int cltype14; +int idtype15; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_listnode7 /* var listnode7: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var22 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode11 /* var listnode11: nullable Object */; short int var23 /* : Bool */; int cltype24; int idtype25; val* var26 /* : Array[Object] */; -val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : AStdClassdef */; -val* var31 /* : null */; -val* var32 /* : null */; -val* var33 /* : null */; +val* var27 /* : AAnnotations */; +val* var28 /* : null */; +val* var29 /* : null */; +val* var30 /* : null */; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; +val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AStdClassdef */; +val* var35 /* : null */; +val* var36 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var34 /* : Int */; -long var35 /* : Int */; +long var37 /* : Int */; +long var38 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var1; +var_nodearraylist8 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var2; +var_nodearraylist7 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var3; +var_nodearraylist6 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var4; +var_nodearraylist5 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var5; +var_nodearraylist4 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var6; +var_nodearraylist3 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var7; +var_nodearraylist2 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var8; -var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var9; +var_nodearraylist1 = var8; +var9 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on */; +var_listnode7 = var9; var10 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode8 = var10; +var_listnode15 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode11 = var11; -var12 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode12 = var12; +var_listnode16 = var11; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var13 = 1; +var12 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var13 = 0; +var12 = 0; } else { -var13 = var_pdocnode2->type->type_table[cltype] == idtype; +var12 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var13) { +if (!var12) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4563); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4746); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype15 = type_nullable_parser_nodes__AVisibility.color; -idtype16 = type_nullable_parser_nodes__AVisibility.id; +cltype14 = type_nullable_parser_nodes__AVisibility.color; +idtype15 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var14 = 1; +var13 = 1; } else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; +if(cltype14 >= var_pvisibilitynode4->type->table_size) { +var13 = 0; } else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; } } -if (!var14) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4565); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4748); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ -cltype18 = type_nullable_parser_nodes__AClasskind.color; -idtype19 = type_nullable_parser_nodes__AClasskind.id; +cltype17 = type_nullable_parser_nodes__AClasskind.color; +idtype18 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var17 = 1; +var16 = 1; } else { -if(cltype18 >= var_pclasskindnode5->type->table_size) { -var17 = 0; +if(cltype17 >= var_pclasskindnode5->type->table_size) { +var16 = 0; } else { -var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19; +var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18; } } -if (!var17) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4567); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4750); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist5; /* isa nullable TClassid */ -cltype21 = type_nullable_parser_nodes__TClassid.color; -idtype22 = type_nullable_parser_nodes__TClassid.id; +cltype20 = type_nullable_parser_nodes__TClassid.color; +idtype21 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var20 = 1; +var19 = 1; } else { -if(cltype21 >= var_tclassidnode6->type->table_size) { -var20 = 0; +if(cltype20 >= var_tclassidnode6->type->table_size) { +var19 = 0; } else { -var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22; +var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21; } } -if (!var20) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4569); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4752); +show_backtrace(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ +var22 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var22->class->vft[COLOR_array__Array__init]))(var22) /* init on */; +var_listnode12 = var22; +var_listnode11 = var_nodearraylist6; +/* isa Array[Object] */ cltype24 = type_array__Arraykernel__Object.color; idtype25 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { +if(var_listnode11 == NULL) { var23 = 0; } else { -if(cltype24 >= var_listnode7->type->table_size) { +if(cltype24 >= var_listnode11->type->table_size) { var23 = 0; } else { -var23 = var_listnode7->type->type_table[cltype24] == idtype25; +var23 = var_listnode11->type->type_table[cltype24] == idtype25; } } if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4571); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4755); +show_backtrace(1); } -var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var26; -var_tkwendnode13 = var_nodearraylist9; -/* isa nullable TKwend */ -cltype28 = type_nullable_parser_nodes__TKwend.color; -idtype29 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode13 == NULL) { -var27 = 1; +var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var26; +var27 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var28 = NULL; +var29 = NULL; +var30 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var27, var28, var29, var_listnode12, var30) /* init_aannotations on */; +var_pannotationsnode8 = var27; +var_tkwendnode17 = var_nodearraylist8; +/* isa nullable TKwend */ +cltype32 = type_nullable_parser_nodes__TKwend.color; +idtype33 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode17 == NULL) { +var31 = 1; } else { -if(cltype28 >= var_tkwendnode13->type->table_size) { -var27 = 0; +if(cltype32 >= var_tkwendnode17->type->table_size) { +var31 = 0; } else { -var27 = var_tkwendnode13->type->type_table[cltype28] == idtype29; +var31 = var_tkwendnode17->type->type_table[cltype32] == idtype33; } } -if (!var27) { +if (!var31) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4574); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4764); +show_backtrace(1); } -var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var31 = NULL; -var32 = NULL; -var33 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var32, var33, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var30); -var_pclassdefnode1 = var30; +var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var35 = NULL; +var36 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var36, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; +var_pclassdefnode1 = var34; var_node_list = var_pclassdefnode1; -var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on */; +var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction83#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction83__action(val* self, val* p0) { -parser__ReduceAction83__action(self, p0); +/* method parser#ReduceAction89#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction89__action(val* self, val* p0) { +parser__ReduceAction89__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction84#action for (self: ReduceAction84, Parser) */ -void parser__ReduceAction84__action(val* self, val* p0) { +/* method parser#ReduceAction90#action for (self: ReduceAction90, Parser) */ +void parser__ReduceAction90__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* var2 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var10 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var11 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode15 /* var listnode15: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +short int var13 /* : Bool */; int cltype; int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var27 /* : Array[Object] */; -val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : AStdClassdef */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var26 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode11 /* var listnode11: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : Array[Object] */; +val* var31 /* : AAnnotations */; val* var32 /* : null */; val* var33 /* : null */; val* var34 /* : null */; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; +val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +val* var38 /* : AStdClassdef */; +val* var39 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var35 /* : Int */; -long var36 /* : Int */; +long var40 /* : Int */; +long var41 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var1; +var_nodearraylist9 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var2; +var_nodearraylist8 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var3; +var_nodearraylist7 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var4; +var_nodearraylist6 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var5; +var_nodearraylist5 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var6; +var_nodearraylist4 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var7; +var_nodearraylist3 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var8; +var_nodearraylist2 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var9; -var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var10; +var_nodearraylist1 = var9; +var10 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; +var_listnode7 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode8 = var11; +var_listnode15 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode11 = var12; -var13 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode12 = var13; +var_listnode16 = var12; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var14 = 1; +var13 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { +var13 = 0; +} else { +var13 = var_pdocnode2->type->type_table[cltype] == idtype; +} +} +if (!var13) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4800); +show_backtrace(1); +} +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype15 = type_nullable_parser_nodes__TKwredef.color; +idtype16 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var14 = 1; +} else { +if(cltype15 >= var_tkwredefnode3->type->table_size) { var14 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16; } } if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4611); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4802); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; +var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype16 = type_nullable_parser_nodes__AVisibility.color; -idtype17 = type_nullable_parser_nodes__AVisibility.id; +cltype18 = type_nullable_parser_nodes__AVisibility.color; +idtype19 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var15 = 1; +var17 = 1; } else { -if(cltype16 >= var_pvisibilitynode4->type->table_size) { -var15 = 0; +if(cltype18 >= var_pvisibilitynode4->type->table_size) { +var17 = 0; } else { -var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; +var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; } } -if (!var15) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4613); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4804); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; +var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype19 = type_nullable_parser_nodes__AClasskind.color; -idtype20 = type_nullable_parser_nodes__AClasskind.id; +cltype21 = type_nullable_parser_nodes__AClasskind.color; +idtype22 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var18 = 1; +var20 = 1; } else { -if(cltype19 >= var_pclasskindnode5->type->table_size) { -var18 = 0; +if(cltype21 >= var_pclasskindnode5->type->table_size) { +var20 = 0; } else { -var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20; +var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; } } -if (!var18) { +if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4615); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4806); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; +var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype22 = type_nullable_parser_nodes__TClassid.color; -idtype23 = type_nullable_parser_nodes__TClassid.id; +cltype24 = type_nullable_parser_nodes__TClassid.color; +idtype25 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var21 = 1; +var23 = 1; } else { -if(cltype22 >= var_tclassidnode6->type->table_size) { -var21 = 0; +if(cltype24 >= var_tclassidnode6->type->table_size) { +var23 = 0; } else { -var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23; +var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; } } -if (!var21) { +if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4617); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4808); +show_backtrace(1); } -var_listnode7 = var_nodearraylist8; -/* isa Array[Object] */ -cltype25 = type_array__Arraykernel__Object.color; -idtype26 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var24 = 0; +var26 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on */; +var_listnode12 = var26; +var_listnode11 = var_nodearraylist7; +/* isa Array[Object] */ +cltype28 = type_array__Arraykernel__Object.color; +idtype29 = type_array__Arraykernel__Object.id; +if(var_listnode11 == NULL) { +var27 = 0; } else { -if(cltype25 >= var_listnode7->type->table_size) { -var24 = 0; +if(cltype28 >= var_listnode11->type->table_size) { +var27 = 0; } else { -var24 = var_listnode7->type->type_table[cltype25] == idtype26; +var27 = var_listnode11->type->type_table[cltype28] == idtype29; } } -if (!var24) { +if (!var27) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4619); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4811); +show_backtrace(1); } -var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var27; -var_tkwendnode13 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype29 = type_nullable_parser_nodes__TKwend.color; -idtype30 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode13 == NULL) { -var28 = 1; +var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var30; +var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var32 = NULL; +var33 = NULL; +var34 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var31, var32, var33, var_listnode12, var34) /* init_aannotations on */; +var_pannotationsnode8 = var31; +var_tkwendnode17 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype36 = type_nullable_parser_nodes__TKwend.color; +idtype37 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode17 == NULL) { +var35 = 1; } else { -if(cltype29 >= var_tkwendnode13->type->table_size) { -var28 = 0; +if(cltype36 >= var_tkwendnode17->type->table_size) { +var35 = 0; } else { -var28 = var_tkwendnode13->type->type_table[cltype29] == idtype30; +var35 = var_tkwendnode17->type->type_table[cltype36] == idtype37; } } -if (!var28) { +if (!var35) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4622); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4820); +show_backtrace(1); } -var31 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var32 = NULL; -var33 = NULL; -var34 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var31, var_pdocnode2, var32, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var33, var34, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var31); -var_pclassdefnode1 = var31; +var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var39 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var39, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; +var_pclassdefnode1 = var38; var_node_list = var_pclassdefnode1; -var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on */; +var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction84#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction84__action(val* self, val* p0) { -parser__ReduceAction84__action(self, p0); +/* method parser#ReduceAction90#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction90__action(val* self, val* p0) { +parser__ReduceAction90__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction86#action for (self: ReduceAction86, Parser) */ -void parser__ReduceAction86__action(val* self, val* p0) { +/* method parser#ReduceAction91#action for (self: ReduceAction91, Parser) */ +void parser__ReduceAction91__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* var2 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var10 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var11 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode15 /* var listnode15: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +short int var13 /* : 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; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var23 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode11 /* var listnode11: 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_tkwendnode13 /* var tkwendnode13: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var34 /* : AStdClassdef */; -val* var35 /* : null */; +val* var27 /* : Array[Object] */; +val* var28 /* : AAnnotations */; +val* var29 /* : null */; +val* var30 /* : null */; +val* var31 /* : null */; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; +val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; +val* var35 /* : AStdClassdef */; val* var36 /* : null */; +val* var37 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var37 /* : Int */; long var38 /* : Int */; +long var39 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var1; +var_nodearraylist9 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var2; +var_nodearraylist8 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var3; +var_nodearraylist7 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var4; +var_nodearraylist6 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var5; +var_nodearraylist5 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var6; +var_nodearraylist4 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var7; +var_nodearraylist3 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var8; +var_nodearraylist2 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var9; -var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var10; +var_nodearraylist1 = var9; +var10 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; +var_listnode7 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode8 = var11; +var_listnode15 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode11 = var12; -var13 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode12 = var13; +var_listnode16 = var12; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var14 = 1; +var13 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; -} else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (!var14) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4659); -exit(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype16 = type_nullable_parser_nodes__TKwredef.color; -idtype17 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var15 = 1; -} else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { -var15 = 0; +var13 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var13 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var15) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4661); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4856); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; +var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype19 = type_nullable_parser_nodes__AVisibility.color; -idtype20 = type_nullable_parser_nodes__AVisibility.id; +cltype15 = type_nullable_parser_nodes__AVisibility.color; +idtype16 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var18 = 1; +var14 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { -var18 = 0; +if(cltype15 >= var_pvisibilitynode4->type->table_size) { +var14 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; } } -if (!var18) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4663); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4858); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; +var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; +cltype18 = type_nullable_parser_nodes__AClasskind.color; +idtype19 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var21 = 1; +var17 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; +if(cltype18 >= var_pclasskindnode5->type->table_size) { +var17 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19; } } -if (!var21) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4665); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4860); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; +var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype25 = type_nullable_parser_nodes__TClassid.color; -idtype26 = type_nullable_parser_nodes__TClassid.id; +cltype21 = type_nullable_parser_nodes__TClassid.color; +idtype22 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var24 = 1; +var20 = 1; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { -var24 = 0; +if(cltype21 >= var_tclassidnode6->type->table_size) { +var20 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22; } } -if (!var24) { +if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4667); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4862); +show_backtrace(1); } -var_listnode7 = var_nodearraylist8; -/* isa Array[Object] */ -cltype28 = type_array__Arraykernel__Object.color; -idtype29 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var27 = 0; +var23 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on */; +var_listnode12 = var23; +var_listnode11 = var_nodearraylist7; +/* isa Array[Object] */ +cltype25 = type_array__Arraykernel__Object.color; +idtype26 = type_array__Arraykernel__Object.id; +if(var_listnode11 == NULL) { +var24 = 0; } else { -if(cltype28 >= var_listnode7->type->table_size) { -var27 = 0; +if(cltype25 >= var_listnode11->type->table_size) { +var24 = 0; } else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; +var24 = var_listnode11->type->type_table[cltype25] == idtype26; } } -if (!var27) { +if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4669); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4865); +show_backtrace(1); } -var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var30; -var_tkwendnode13 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype32 = type_nullable_parser_nodes__TKwend.color; -idtype33 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode13 == NULL) { -var31 = 1; +var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var27; +var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var29 = NULL; +var30 = NULL; +var31 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var28, var29, var30, var_listnode12, var31) /* init_aannotations on */; +var_pannotationsnode8 = var28; +var_tkwendnode17 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype33 = type_nullable_parser_nodes__TKwend.color; +idtype34 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode17 == NULL) { +var32 = 1; } else { -if(cltype32 >= var_tkwendnode13->type->table_size) { -var31 = 0; +if(cltype33 >= var_tkwendnode17->type->table_size) { +var32 = 0; } else { -var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33; +var32 = var_tkwendnode17->type->type_table[cltype33] == idtype34; } } -if (!var31) { +if (!var32) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4672); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4874); +show_backtrace(1); } -var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var35 = NULL; +var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); var36 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var35, var36, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var34); -var_pclassdefnode1 = var34; +var37 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var37, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; +var_pclassdefnode1 = var35; var_node_list = var_pclassdefnode1; -var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on */; +var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction86#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction86__action(val* self, val* p0) { -parser__ReduceAction86__action(self, p0); +/* method parser#ReduceAction91#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction91__action(val* self, val* p0) { +parser__ReduceAction91__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction87#action for (self: ReduceAction87, Parser) */ -void parser__ReduceAction87__action(val* self, val* p0) { +/* method parser#ReduceAction92#action for (self: ReduceAction92, Parser) */ +void parser__ReduceAction92__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* var2 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var11 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode15 /* var listnode15: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var14 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var24 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode11 /* var listnode11: 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_tkwendnode13 /* var tkwendnode13: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : AStdClassdef */; -val* var36 /* : null */; +val* var28 /* : Array[Object] */; +val* var29 /* : AAnnotations */; +val* var30 /* : null */; +val* var31 /* : null */; +val* var32 /* : null */; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; +val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; +short int var33 /* : Bool */; +int cltype34; +int idtype35; +val* var36 /* : AStdClassdef */; val* var37 /* : null */; +val* var38 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var38 /* : Int */; long var39 /* : Int */; +long var40 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var1; +var_nodearraylist10 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var2; +var_nodearraylist9 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var3; +var_nodearraylist8 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var4; +var_nodearraylist7 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var5; +var_nodearraylist6 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var6; +var_nodearraylist5 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var7; +var_nodearraylist4 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var8; +var_nodearraylist3 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var9; +var_nodearraylist2 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var10; -var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var11; +var_nodearraylist1 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; +var_listnode7 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode8 = var12; +var_listnode15 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode11 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; -CHECK_NEW_array__Array(var14); -var_listnode12 = var14; +var_listnode16 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var14 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; -} else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (!var15) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4710); -exit(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype17 = type_nullable_parser_nodes__TKwredef.color; -idtype18 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var16 = 1; -} else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; +var14 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var14 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var16) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4712); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4911); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; +var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype20 = type_nullable_parser_nodes__AVisibility.color; -idtype21 = type_nullable_parser_nodes__AVisibility.id; +cltype16 = type_nullable_parser_nodes__AVisibility.color; +idtype17 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var15 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype16 >= var_pvisibilitynode4->type->table_size) { +var15 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; } } -if (!var19) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4714); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4913); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; +var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ -cltype23 = type_nullable_parser_nodes__AClasskind.color; -idtype24 = type_nullable_parser_nodes__AClasskind.id; +cltype19 = type_nullable_parser_nodes__AClasskind.color; +idtype20 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var22 = 1; +var18 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype19 >= var_pclasskindnode5->type->table_size) { +var18 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20; } } -if (!var22) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4716); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4915); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist8; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype26 = type_nullable_parser_nodes__TClassid.color; -idtype27 = type_nullable_parser_nodes__TClassid.id; +cltype22 = type_nullable_parser_nodes__TClassid.color; +idtype23 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var25 = 1; +var21 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; +if(cltype22 >= var_tclassidnode6->type->table_size) { +var21 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23; } } -if (!var25) { +if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4718); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4917); +show_backtrace(1); } -var_listnode7 = var_nodearraylist9; -/* isa Array[Object] */ -cltype29 = type_array__Arraykernel__Object.color; -idtype30 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var28 = 0; +var24 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on */; +var_listnode12 = var24; +var_listnode11 = var_nodearraylist8; +/* isa Array[Object] */ +cltype26 = type_array__Arraykernel__Object.color; +idtype27 = type_array__Arraykernel__Object.id; +if(var_listnode11 == NULL) { +var25 = 0; } else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; +if(cltype26 >= var_listnode11->type->table_size) { +var25 = 0; } else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var25 = var_listnode11->type->type_table[cltype26] == idtype27; } } -if (!var28) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4720); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4920); +show_backtrace(1); } -var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var31; -var_tkwendnode13 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype33 = type_nullable_parser_nodes__TKwend.color; -idtype34 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode13 == NULL) { -var32 = 1; +var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var28; +var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var30 = NULL; +var31 = NULL; +var32 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var29, var30, var31, var_listnode12, var32) /* init_aannotations on */; +var_pannotationsnode8 = var29; +var_tkwendnode17 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype34 = type_nullable_parser_nodes__TKwend.color; +idtype35 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode17 == NULL) { +var33 = 1; } else { -if(cltype33 >= var_tkwendnode13->type->table_size) { -var32 = 0; +if(cltype34 >= var_tkwendnode17->type->table_size) { +var33 = 0; } else { -var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34; +var33 = var_tkwendnode17->type->type_table[cltype34] == idtype35; } } -if (!var32) { +if (!var33) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4723); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4929); +show_backtrace(1); } -var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var36 = NULL; +var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); var37 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var37, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var35); -var_pclassdefnode1 = var35; +var38 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var36, var_pdocnode2, var37, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var38, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; +var_pclassdefnode1 = var36; var_node_list = var_pclassdefnode1; -var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on */; +var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction87#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction87__action(val* self, val* p0) { -parser__ReduceAction87__action(self, p0); +/* method parser#ReduceAction92#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction92__action(val* self, val* p0) { +parser__ReduceAction92__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction89#action for (self: ReduceAction89, Parser) */ -void parser__ReduceAction89__action(val* self, val* p0) { +/* method parser#ReduceAction94#action for (self: ReduceAction94, Parser) */ +void parser__ReduceAction94__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var8 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var9 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var9 /* : Array[Object] */; +val* var11 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; -val* var10 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode15 /* var listnode15: Array[Object] */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode16 /* var listnode16: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var12 /* : Bool */; +short int var14 /* : 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 var13 /* : Bool */; -int cltype14; -int idtype15; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var21 /* : Bool */; +int cltype22; +int idtype23; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var22 /* : Array[Object] */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var27 /* : Array[Object] */; val* var_listnode12 /* var listnode12: Array[Object] */; val* var_listnode11 /* var listnode11: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var26 /* : Array[Object] */; -val* var27 /* : AAnnotations */; -val* var28 /* : null */; -val* var29 /* : null */; -val* var30 /* : null */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var31 /* : Array[Object] */; +val* var32 /* : AAnnotations */; +val* var33 /* : null */; +val* var34 /* : null */; +val* var35 /* : null */; val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var34 /* : AStdClassdef */; -val* var35 /* : null */; -val* var36 /* : null */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +val* var39 /* : AStdClassdef */; +val* var40 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var37 /* : Int */; -long var38 /* : Int */; +long var41 /* : Int */; +long var42 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var1; +var_nodearraylist10 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var2; +var_nodearraylist9 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var3; +var_nodearraylist8 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var4; +var_nodearraylist7 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var5; +var_nodearraylist6 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var6; +var_nodearraylist5 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var7; +var_nodearraylist4 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var8; -var9 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on */; -CHECK_NEW_array__Array(var9); -var_listnode7 = var9; -var10 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode15 = var10; +var_nodearraylist3 = var8; +var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var9; +var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode16 = var11; +var_listnode7 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; +var_listnode15 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; +var_listnode16 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var12 = 1; +var14 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var12 = 0; +var14 = 0; } else { -var12 = var_pdocnode2->type->type_table[cltype] == idtype; +var14 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var12) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4758); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4966); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var15 = 1; +} else { +if(cltype16 >= var_tkwredefnode3->type->table_size) { +var15 = 0; +} else { +var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +} +} +if (!var15) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4968); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype14 = type_nullable_parser_nodes__AVisibility.color; -idtype15 = type_nullable_parser_nodes__AVisibility.id; +cltype19 = type_nullable_parser_nodes__AVisibility.color; +idtype20 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var13 = 1; +var18 = 1; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; +if(cltype19 >= var_pvisibilitynode4->type->table_size) { +var18 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; } } -if (!var13) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4760); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4970); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; +var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype17 = type_nullable_parser_nodes__AClasskind.color; -idtype18 = type_nullable_parser_nodes__AClasskind.id; +cltype22 = type_nullable_parser_nodes__AClasskind.color; +idtype23 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var16 = 1; +var21 = 1; } else { -if(cltype17 >= var_pclasskindnode5->type->table_size) { -var16 = 0; +if(cltype22 >= var_pclasskindnode5->type->table_size) { +var21 = 0; } else { -var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18; +var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; } } -if (!var16) { +if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4762); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4972); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist5; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype20 = type_nullable_parser_nodes__TClassid.color; -idtype21 = type_nullable_parser_nodes__TClassid.id; +cltype25 = type_nullable_parser_nodes__TClassid.color; +idtype26 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var19 = 1; +var24 = 1; } else { -if(cltype20 >= var_tclassidnode6->type->table_size) { -var19 = 0; +if(cltype25 >= var_tclassidnode6->type->table_size) { +var24 = 0; } else { -var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21; +var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; } } -if (!var19) { +if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4764); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4974); +show_backtrace(1); } -var22 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var22->class->vft[COLOR_array__Array__init]))(var22) /* init on */; -CHECK_NEW_array__Array(var22); -var_listnode12 = var22; -var_listnode11 = var_nodearraylist6; +var27 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on */; +var_listnode12 = var27; +var_listnode11 = var_nodearraylist8; /* isa Array[Object] */ -cltype24 = type_array__Arraykernel__Object.color; -idtype25 = type_array__Arraykernel__Object.id; +cltype29 = type_array__Arraykernel__Object.color; +idtype30 = type_array__Arraykernel__Object.id; if(var_listnode11 == NULL) { -var23 = 0; +var28 = 0; } else { -if(cltype24 >= var_listnode11->type->table_size) { -var23 = 0; +if(cltype29 >= var_listnode11->type->table_size) { +var28 = 0; } else { -var23 = var_listnode11->type->type_table[cltype24] == idtype25; +var28 = var_listnode11->type->type_table[cltype29] == idtype30; } } -if (!var23) { +if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4767); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4977); +show_backtrace(1); } -var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var26; -var27 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var28 = NULL; -var29 = NULL; -var30 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var27, var28, var29, var_listnode12, var30) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var27); -var_pannotationsnode8 = var27; -var_tkwendnode17 = var_nodearraylist8; +var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var31; +var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var33 = NULL; +var34 = NULL; +var35 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode12, var35) /* init_aannotations on */; +var_pannotationsnode8 = var32; +var_tkwendnode17 = var_nodearraylist10; /* isa nullable TKwend */ -cltype32 = type_nullable_parser_nodes__TKwend.color; -idtype33 = type_nullable_parser_nodes__TKwend.id; +cltype37 = type_nullable_parser_nodes__TKwend.color; +idtype38 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode17 == NULL) { -var31 = 1; +var36 = 1; } else { -if(cltype32 >= var_tkwendnode17->type->table_size) { -var31 = 0; +if(cltype37 >= var_tkwendnode17->type->table_size) { +var36 = 0; } else { -var31 = var_tkwendnode17->type->type_table[cltype32] == idtype33; +var36 = var_tkwendnode17->type->type_table[cltype37] == idtype38; } } -if (!var31) { +if (!var36) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4776); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4986); +show_backtrace(1); } -var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var35 = NULL; -var36 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var36, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var34); -var_pclassdefnode1 = var34; +var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var40 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var40, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; +var_pclassdefnode1 = var39; var_node_list = var_pclassdefnode1; -var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on */; +var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction89#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction89__action(val* self, val* p0) { -parser__ReduceAction89__action(self, p0); +/* method parser#ReduceAction94#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction94__action(val* self, val* p0) { +parser__ReduceAction94__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction90#action for (self: ReduceAction90, Parser) */ -void parser__ReduceAction90__action(val* self, val* p0) { +/* method parser#ReduceAction95#action for (self: ReduceAction95, Parser) */ +void parser__ReduceAction95__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var9 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var10 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var10 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode15 /* var listnode15: Array[Object] */; -val* var12 /* : Array[Object] */; +val* var14 /* : Array[Object] */; val* var_listnode16 /* var listnode16: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var13 /* : Bool */; +short int var15 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var22 /* : Bool */; +int cltype23; +int idtype24; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var26 /* : Array[Object] */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var28 /* : Array[Object] */; val* var_listnode12 /* var listnode12: Array[Object] */; val* var_listnode11 /* var listnode11: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : Array[Object] */; -val* var31 /* : AAnnotations */; -val* var32 /* : null */; -val* var33 /* : null */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var32 /* : Array[Object] */; +val* var33 /* : AAnnotations */; val* var34 /* : null */; +val* var35 /* : null */; +val* var36 /* : null */; val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -val* var38 /* : AStdClassdef */; -val* var39 /* : null */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +val* var40 /* : AStdClassdef */; +val* var41 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var40 /* : Int */; -long var41 /* : Int */; +long var42 /* : Int */; +long var43 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var1; +var_nodearraylist11 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var2; +var_nodearraylist10 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var3; +var_nodearraylist9 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var4; +var_nodearraylist8 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var5; +var_nodearraylist7 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var6; +var_nodearraylist6 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var7; +var_nodearraylist5 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var8; +var_nodearraylist4 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var9; -var10 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode7 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode15 = var11; +var_nodearraylist3 = var9; +var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var10; +var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode16 = var12; +var_listnode7 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; +var_listnode15 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; +var_listnode16 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var13 = 1; +var15 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var13 = 0; +var15 = 0; } else { -var13 = var_pdocnode2->type->type_table[cltype] == idtype; +var15 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var13) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4812); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5024); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype15 = type_nullable_parser_nodes__TKwredef.color; -idtype16 = type_nullable_parser_nodes__TKwredef.id; +cltype17 = type_nullable_parser_nodes__TKwredef.color; +idtype18 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var14 = 1; +var16 = 1; } else { -if(cltype15 >= var_tkwredefnode3->type->table_size) { -var14 = 0; +if(cltype17 >= var_tkwredefnode3->type->table_size) { +var16 = 0; } else { -var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16; +var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; } } -if (!var14) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4814); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5026); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype18 = type_nullable_parser_nodes__AVisibility.color; -idtype19 = type_nullable_parser_nodes__AVisibility.id; +cltype20 = type_nullable_parser_nodes__AVisibility.color; +idtype21 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var17 = 1; +var19 = 1; } else { -if(cltype18 >= var_pvisibilitynode4->type->table_size) { -var17 = 0; +if(cltype20 >= var_pvisibilitynode4->type->table_size) { +var19 = 0; } else { -var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; +var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; } } -if (!var17) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4816); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5028); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype21 = type_nullable_parser_nodes__AClasskind.color; -idtype22 = type_nullable_parser_nodes__AClasskind.id; +cltype23 = type_nullable_parser_nodes__AClasskind.color; +idtype24 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var20 = 1; +var22 = 1; } else { -if(cltype21 >= var_pclasskindnode5->type->table_size) { -var20 = 0; +if(cltype23 >= var_pclasskindnode5->type->table_size) { +var22 = 0; } else { -var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; +var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; } } -if (!var20) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4818); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5030); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist8; /* isa nullable TClassid */ -cltype24 = type_nullable_parser_nodes__TClassid.color; -idtype25 = type_nullable_parser_nodes__TClassid.id; +cltype26 = type_nullable_parser_nodes__TClassid.color; +idtype27 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var23 = 1; +var25 = 1; } else { -if(cltype24 >= var_tclassidnode6->type->table_size) { -var23 = 0; +if(cltype26 >= var_tclassidnode6->type->table_size) { +var25 = 0; } else { -var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; +var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; } } -if (!var23) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4820); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5032); +show_backtrace(1); } -var26 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on */; -CHECK_NEW_array__Array(var26); -var_listnode12 = var26; -var_listnode11 = var_nodearraylist7; +var28 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on */; +var_listnode12 = var28; +var_listnode11 = var_nodearraylist9; /* isa Array[Object] */ -cltype28 = type_array__Arraykernel__Object.color; -idtype29 = type_array__Arraykernel__Object.id; +cltype30 = type_array__Arraykernel__Object.color; +idtype31 = type_array__Arraykernel__Object.id; if(var_listnode11 == NULL) { -var27 = 0; +var29 = 0; } else { -if(cltype28 >= var_listnode11->type->table_size) { -var27 = 0; +if(cltype30 >= var_listnode11->type->table_size) { +var29 = 0; } else { -var27 = var_listnode11->type->type_table[cltype28] == idtype29; +var29 = var_listnode11->type->type_table[cltype30] == idtype31; } } -if (!var27) { +if (!var29) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4823); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5035); +show_backtrace(1); } -var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var30; -var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var32 = NULL; -var33 = NULL; +var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var32; +var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); var34 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var31, var32, var33, var_listnode12, var34) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var31); -var_pannotationsnode8 = var31; -var_tkwendnode17 = var_nodearraylist9; +var35 = NULL; +var36 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode12, var36) /* init_aannotations on */; +var_pannotationsnode8 = var33; +var_tkwendnode17 = var_nodearraylist11; /* isa nullable TKwend */ -cltype36 = type_nullable_parser_nodes__TKwend.color; -idtype37 = type_nullable_parser_nodes__TKwend.id; +cltype38 = type_nullable_parser_nodes__TKwend.color; +idtype39 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode17 == NULL) { -var35 = 1; +var37 = 1; } else { -if(cltype36 >= var_tkwendnode17->type->table_size) { -var35 = 0; +if(cltype38 >= var_tkwendnode17->type->table_size) { +var37 = 0; } else { -var35 = var_tkwendnode17->type->type_table[cltype36] == idtype37; +var37 = var_tkwendnode17->type->type_table[cltype38] == idtype39; } } -if (!var35) { +if (!var37) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4832); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5044); +show_backtrace(1); } -var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var39 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var39, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var38); -var_pclassdefnode1 = var38; +var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var41 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var41, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; +var_pclassdefnode1 = var40; var_node_list = var_pclassdefnode1; -var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on */; +var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction90#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction90__action(val* self, val* p0) { -parser__ReduceAction90__action(self, p0); +/* method parser#ReduceAction95#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction95__action(val* self, val* p0) { +parser__ReduceAction95__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction91#action for (self: ReduceAction91, Parser) */ -void parser__ReduceAction91__action(val* self, val* p0) { +/* method parser#ReduceAction97#action for (self: ReduceAction97, Parser) */ +void parser__ReduceAction97__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -3824,11 +3888,11 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var10 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var11 /* : Array[Object] */; -val* var_listnode15 /* var listnode15: Array[Object] */; -val* var12 /* : Array[Object] */; val* var_listnode16 /* var listnode16: Array[Object] */; +val* var12 /* : Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var13 /* : Bool */; int cltype; @@ -3845,28 +3909,33 @@ val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var23 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; +val* var_listnode7 /* var listnode7: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var26 /* : Array[Object] */; val* var27 /* : Array[Object] */; -val* var28 /* : AAnnotations */; -val* var29 /* : null */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; -val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : AStdClassdef */; -val* var36 /* : null */; -val* var37 /* : null */; +val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode12 /* var listnode12: nullable Object */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var31 /* : Array[Object] */; +val* var32 /* : AAnnotations */; +val* var33 /* : null */; +val* var34 /* : null */; +val* var35 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_tkwendnode18 /* var tkwendnode18: nullable Object */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +val* var39 /* : AStdClassdef */; +val* var40 /* : null */; +val* var41 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var38 /* : Int */; -long var39 /* : Int */; +long var42 /* : Int */; +long var43 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -3890,16 +3959,13 @@ var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) / var_nodearraylist1 = var9; var10 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode7 = var10; +var_listnode8 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode15 = var11; +var_listnode16 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode16 = var12; +var_listnode17 = var12; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -3915,8 +3981,8 @@ var13 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4868); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5080); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ @@ -3933,8 +3999,8 @@ var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; } if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4870); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5082); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ @@ -3951,10 +4017,10 @@ var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19; } if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4872); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5084); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist5; /* isa nullable TClassid */ cltype21 = type_nullable_parser_nodes__TClassid.color; idtype22 = type_nullable_parser_nodes__TClassid.id; @@ -3969,77 +4035,94 @@ var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22; } if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4874); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5086); +show_backtrace(1); } -var23 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on */; -CHECK_NEW_array__Array(var23); -var_listnode12 = var23; -var_listnode11 = var_nodearraylist7; -/* isa Array[Object] */ -cltype25 = type_array__Arraykernel__Object.color; -idtype26 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var24 = 0; +var_listnode7 = var_nodearraylist6; +/* isa Array[Object] */ +cltype24 = type_array__Arraykernel__Object.color; +idtype25 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var23 = 0; } else { -if(cltype25 >= var_listnode11->type->table_size) { -var24 = 0; +if(cltype24 >= var_listnode7->type->table_size) { +var23 = 0; } else { -var24 = var_listnode11->type->type_table[cltype25] == idtype26; +var23 = var_listnode7->type->type_table[cltype24] == idtype25; } } -if (!var24) { +if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4877); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5088); +show_backtrace(1); } -var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var27; -var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var29 = NULL; -var30 = NULL; -var31 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var28, var29, var30, var_listnode12, var31) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var28); -var_pannotationsnode8 = var28; -var_tkwendnode17 = var_nodearraylist9; -/* isa nullable TKwend */ -cltype33 = type_nullable_parser_nodes__TKwend.color; -idtype34 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode17 == NULL) { -var32 = 1; +var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var26; +var27 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on */; +var_listnode13 = var27; +var_listnode12 = var_nodearraylist7; +/* isa Array[Object] */ +cltype29 = type_array__Arraykernel__Object.color; +idtype30 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var28 = 0; } else { -if(cltype33 >= var_tkwendnode17->type->table_size) { -var32 = 0; +if(cltype29 >= var_listnode12->type->table_size) { +var28 = 0; } else { -var32 = var_tkwendnode17->type->type_table[cltype33] == idtype34; +var28 = var_listnode12->type->type_table[cltype29] == idtype30; } } -if (!var32) { +if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4886); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5092); +show_backtrace(1); } -var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var36 = NULL; -var37 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var37, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var35); -var_pclassdefnode1 = var35; +var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; +var_listnode13 = var31; +var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var33 = NULL; +var34 = NULL; +var35 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode13, var35) /* init_aannotations on */; +var_pannotationsnode9 = var32; +var_tkwendnode18 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype37 = type_nullable_parser_nodes__TKwend.color; +idtype38 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode18 == NULL) { +var36 = 1; +} else { +if(cltype37 >= var_tkwendnode18->type->table_size) { +var36 = 0; +} else { +var36 = var_tkwendnode18->type->type_table[cltype37] == idtype38; +} +} +if (!var36) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5101); +show_backtrace(1); +} +var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var40 = NULL; +var41 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var41, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on */; +var_pclassdefnode1 = var39; var_node_list = var_pclassdefnode1; -var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on */; +var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction91#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction91__action(val* self, val* p0) { -parser__ReduceAction91__action(self, p0); +/* method parser#ReduceAction97#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction97__action(val* self, val* p0) { +parser__ReduceAction97__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction92#action for (self: ReduceAction92, Parser) */ -void parser__ReduceAction92__action(val* self, val* p0) { +/* method parser#ReduceAction98#action for (self: ReduceAction98, Parser) */ +void parser__ReduceAction98__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -4064,49 +4147,57 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var11 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode15 /* var listnode15: Array[Object] */; -val* var13 /* : Array[Object] */; val* var_listnode16 /* var listnode16: Array[Object] */; +val* var13 /* : Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var14 /* : Bool */; int cltype; int idtype; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; short int var15 /* : Bool */; int cltype16; int idtype17; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var18 /* : Bool */; int cltype19; int idtype20; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var21 /* : Bool */; int cltype22; int idtype23; -val* var24 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : Array[Object] */; -val* var29 /* : AAnnotations */; -val* var30 /* : null */; -val* var31 /* : null */; -val* var32 /* : null */; -val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; -val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; -short int var33 /* : Bool */; -int cltype34; -int idtype35; -val* var36 /* : AStdClassdef */; +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* 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_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; @@ -4132,16 +4223,13 @@ var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) var_nodearraylist1 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode7 = var11; +var_listnode8 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode15 = var12; +var_listnode16 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode16 = var13; +var_listnode17 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -4157,131 +4245,165 @@ var14 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4923); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5138); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; -/* isa nullable AVisibility */ -cltype16 = type_nullable_parser_nodes__AVisibility.color; -idtype17 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { var15 = 1; } else { -if(cltype16 >= var_pvisibilitynode4->type->table_size) { +if(cltype16 >= var_tkwredefnode3->type->table_size) { var15 = 0; } else { -var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; +var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; } } if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4925); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5140); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; -/* isa nullable AClasskind */ -cltype19 = type_nullable_parser_nodes__AClasskind.color; -idtype20 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype19 = type_nullable_parser_nodes__AVisibility.color; +idtype20 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { var18 = 1; } else { -if(cltype19 >= var_pclasskindnode5->type->table_size) { +if(cltype19 >= var_pvisibilitynode4->type->table_size) { var18 = 0; } else { -var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20; +var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; } } if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4927); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5142); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; -/* isa nullable TClassid */ -cltype22 = type_nullable_parser_nodes__TClassid.color; -idtype23 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { +var_pclasskindnode5 = var_nodearraylist4; +/* isa nullable AClasskind */ +cltype22 = type_nullable_parser_nodes__AClasskind.color; +idtype23 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { var21 = 1; } else { -if(cltype22 >= var_tclassidnode6->type->table_size) { +if(cltype22 >= var_pclasskindnode5->type->table_size) { var21 = 0; } else { -var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23; +var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; } } if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4929); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5144); +show_backtrace(1); } -var24 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on */; -CHECK_NEW_array__Array(var24); -var_listnode12 = var24; -var_listnode11 = var_nodearraylist8; -/* isa Array[Object] */ -cltype26 = type_array__Arraykernel__Object.color; -idtype27 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var25 = 0; +var_tclassidnode6 = var_nodearraylist6; +/* isa nullable TClassid */ +cltype25 = type_nullable_parser_nodes__TClassid.color; +idtype26 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { +var24 = 1; } else { -if(cltype26 >= var_listnode11->type->table_size) { -var25 = 0; +if(cltype25 >= var_tclassidnode6->type->table_size) { +var24 = 0; } else { -var25 = var_listnode11->type->type_table[cltype26] == idtype27; +var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; } } -if (!var25) { +if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4932); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5146); +show_backtrace(1); } -var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var28; -var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var30 = NULL; -var31 = NULL; -var32 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var29, var30, var31, var_listnode12, var32) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var29); -var_pannotationsnode8 = var29; -var_tkwendnode17 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype34 = type_nullable_parser_nodes__TKwend.color; -idtype35 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode17 == NULL) { -var33 = 1; +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype28 = type_array__Arraykernel__Object.color; +idtype29 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var27 = 0; } else { -if(cltype34 >= var_tkwendnode17->type->table_size) { -var33 = 0; +if(cltype28 >= var_listnode7->type->table_size) { +var27 = 0; } else { -var33 = var_tkwendnode17->type->type_table[cltype34] == idtype35; +var27 = var_listnode7->type->type_table[cltype28] == idtype29; } } -if (!var33) { +if (!var27) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4941); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5148); +show_backtrace(1); } -var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var30; +var31 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on */; +var_listnode13 = var31; +var_listnode12 = var_nodearraylist8; +/* isa Array[Object] */ +cltype33 = type_array__Arraykernel__Object.color; +idtype34 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var32 = 0; +} else { +if(cltype33 >= var_listnode12->type->table_size) { +var32 = 0; +} else { +var32 = var_listnode12->type->type_table[cltype33] == idtype34; +} +} +if (!var32) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5152); +show_backtrace(1); +} +var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; +var_listnode13 = var35; +var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); var37 = NULL; var38 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var36, var_pdocnode2, var37, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var38, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var36); -var_pclassdefnode1 = var36; +var39 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var36, var37, var38, var_listnode13, var39) /* init_aannotations on */; +var_pannotationsnode9 = var36; +var_tkwendnode18 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype41 = type_nullable_parser_nodes__TKwend.color; +idtype42 = type_nullable_parser_nodes__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 (!var40) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5161); +show_backtrace(1); +} +var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var44 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_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) /* init_astdclassdef on */; +var_pclassdefnode1 = var43; var_node_list = var_pclassdefnode1; -var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on */; +var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction92#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction92__action(val* self, val* p0) { -parser__ReduceAction92__action(self, p0); +/* method parser#ReduceAction98#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction98__action(val* self, val* p0) { +parser__ReduceAction98__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction94#action for (self: ReduceAction94, Parser) */ -void parser__ReduceAction94__action(val* self, val* p0) { +/* method parser#ReduceAction99#action for (self: ReduceAction99, Parser) */ +void parser__ReduceAction99__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -4306,52 +4428,54 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var11 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode15 /* var listnode15: Array[Object] */; -val* var13 /* : Array[Object] */; val* var_listnode16 /* var listnode16: Array[Object] */; +val* var13 /* : Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var14 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +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_listnode7 /* var listnode7: nullable Object */; short int var24 /* : Bool */; int cltype25; int idtype26; val* var27 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : Array[Object] */; -val* var32 /* : AAnnotations */; -val* var33 /* : null */; +val* var28 /* : Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode12 /* var listnode12: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var32 /* : Array[Object] */; +val* var33 /* : AAnnotations */; val* var34 /* : null */; val* var35 /* : null */; -val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; -val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; -val* var39 /* : AStdClassdef */; -val* var40 /* : null */; +val* var36 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_tkwendnode18 /* var tkwendnode18: nullable Object */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +val* var40 /* : AStdClassdef */; +val* var41 /* : null */; +val* var42 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var41 /* : Int */; -long var42 /* : Int */; +long var43 /* : Int */; +long var44 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -4377,16 +4501,13 @@ var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) var_nodearraylist1 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode7 = var11; +var_listnode8 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode15 = var12; +var_listnode16 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode16 = var13; +var_listnode17 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -4402,148 +4523,148 @@ var14 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4978); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5198); +show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype16 = type_nullable_parser_nodes__TKwredef.color; -idtype17 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { +var_pvisibilitynode4 = var_nodearraylist2; +/* isa nullable AVisibility */ +cltype16 = type_nullable_parser_nodes__AVisibility.color; +idtype17 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { var15 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { +if(cltype16 >= var_pvisibilitynode4->type->table_size) { var15 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; } } if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4980); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5200); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype19 = type_nullable_parser_nodes__AVisibility.color; -idtype20 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { +var_pclasskindnode5 = var_nodearraylist3; +/* isa nullable AClasskind */ +cltype19 = type_nullable_parser_nodes__AClasskind.color; +idtype20 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { var18 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { +if(cltype19 >= var_pclasskindnode5->type->table_size) { var18 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20; } } if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4982); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5202); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_tclassidnode6 = var_nodearraylist6; +/* isa nullable TClassid */ +cltype22 = type_nullable_parser_nodes__TClassid.color; +idtype23 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { var21 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { +if(cltype22 >= var_tclassidnode6->type->table_size) { var21 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23; } } if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4984); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5204); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; -/* isa nullable TClassid */ -cltype25 = type_nullable_parser_nodes__TClassid.color; -idtype26 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { -var24 = 1; +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype25 = type_array__Arraykernel__Object.color; +idtype26 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var24 = 0; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { +if(cltype25 >= var_listnode7->type->table_size) { var24 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var24 = var_listnode7->type->type_table[cltype25] == idtype26; } } if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4986); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5206); +show_backtrace(1); } -var27 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on */; -CHECK_NEW_array__Array(var27); -var_listnode12 = var27; -var_listnode11 = var_nodearraylist8; -/* isa Array[Object] */ -cltype29 = type_array__Arraykernel__Object.color; -idtype30 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var28 = 0; +var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var27; +var28 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on */; +var_listnode13 = var28; +var_listnode12 = var_nodearraylist8; +/* isa Array[Object] */ +cltype30 = type_array__Arraykernel__Object.color; +idtype31 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var29 = 0; } else { -if(cltype29 >= var_listnode11->type->table_size) { -var28 = 0; +if(cltype30 >= var_listnode12->type->table_size) { +var29 = 0; } else { -var28 = var_listnode11->type->type_table[cltype29] == idtype30; +var29 = var_listnode12->type->type_table[cltype30] == idtype31; } } -if (!var28) { +if (!var29) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4989); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5210); +show_backtrace(1); } -var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var31; -var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var33 = NULL; +var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; +var_listnode13 = var32; +var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); var34 = NULL; var35 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode12, var35) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var32); -var_pannotationsnode8 = var32; -var_tkwendnode17 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype37 = type_nullable_parser_nodes__TKwend.color; -idtype38 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode17 == NULL) { -var36 = 1; +var36 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode13, var36) /* init_aannotations on */; +var_pannotationsnode9 = var33; +var_tkwendnode18 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype38 = type_nullable_parser_nodes__TKwend.color; +idtype39 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode18 == NULL) { +var37 = 1; } else { -if(cltype37 >= var_tkwendnode17->type->table_size) { -var36 = 0; +if(cltype38 >= var_tkwendnode18->type->table_size) { +var37 = 0; } else { -var36 = var_tkwendnode17->type->type_table[cltype37] == idtype38; +var37 = var_tkwendnode18->type->type_table[cltype38] == idtype39; } } -if (!var36) { +if (!var37) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4998); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5219); +show_backtrace(1); } -var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var40 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var40, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var39); -var_pclassdefnode1 = var39; +var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var41 = NULL; +var42 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var42, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on */; +var_pclassdefnode1 = var40; var_node_list = var_pclassdefnode1; -var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on */; +var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction94#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction94__action(val* self, val* p0) { -parser__ReduceAction94__action(self, p0); +/* method parser#ReduceAction99#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction99__action(val* self, val* p0) { +parser__ReduceAction99__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction95#action for (self: ReduceAction95, Parser) */ -void parser__ReduceAction95__action(val* self, val* p0) { +/* method parser#ReduceAction100#action for (self: ReduceAction100, Parser) */ +void parser__ReduceAction100__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -4570,52 +4691,54 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var12 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode15 /* var listnode15: Array[Object] */; -val* var14 /* : Array[Object] */; val* var_listnode16 /* var listnode16: Array[Object] */; +val* var14 /* : Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var15 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var16 /* : Bool */; int cltype17; int idtype18; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var19 /* : Bool */; int cltype20; int idtype21; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var22 /* : Bool */; int cltype23; int idtype24; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_listnode7 /* var listnode7: nullable Object */; short int var25 /* : Bool */; int cltype26; int idtype27; val* var28 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var32 /* : Array[Object] */; -val* var33 /* : AAnnotations */; -val* var34 /* : null */; +val* var29 /* : Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode12 /* var listnode12: nullable Object */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +val* var33 /* : Array[Object] */; +val* var34 /* : AAnnotations */; val* var35 /* : null */; val* var36 /* : null */; -val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; -val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -val* var40 /* : AStdClassdef */; -val* var41 /* : null */; +val* var37 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_tkwendnode18 /* var tkwendnode18: nullable Object */; +short int var38 /* : Bool */; +int cltype39; +int idtype40; +val* var41 /* : AStdClassdef */; +val* var42 /* : null */; +val* var43 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var42 /* : Int */; -long var43 /* : Int */; +long var44 /* : Int */; +long var45 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -4643,16 +4766,13 @@ var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) var_nodearraylist1 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode7 = var12; +var_listnode8 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode15 = var13; +var_listnode16 = var13; var14 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; -CHECK_NEW_array__Array(var14); -var_listnode16 = var14; +var_listnode17 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -4668,2272 +4788,2072 @@ var15 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5036); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5257); +show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype17 = type_nullable_parser_nodes__TKwredef.color; -idtype18 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { +var_pvisibilitynode4 = var_nodearraylist2; +/* isa nullable AVisibility */ +cltype17 = type_nullable_parser_nodes__AVisibility.color; +idtype18 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { var16 = 1; } else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { +if(cltype17 >= var_pvisibilitynode4->type->table_size) { var16 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18; } } if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5038); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5259); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype20 = type_nullable_parser_nodes__AVisibility.color; -idtype21 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { +var_pclasskindnode5 = var_nodearraylist3; +/* isa nullable AClasskind */ +cltype20 = type_nullable_parser_nodes__AClasskind.color; +idtype21 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { var19 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { +if(cltype20 >= var_pclasskindnode5->type->table_size) { var19 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21; } } if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5040); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5261); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype23 = type_nullable_parser_nodes__AClasskind.color; -idtype24 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_tclassidnode6 = var_nodearraylist7; +/* isa nullable TClassid */ +cltype23 = type_nullable_parser_nodes__TClassid.color; +idtype24 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { var22 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { +if(cltype23 >= var_tclassidnode6->type->table_size) { var22 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24; } } if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5042); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5263); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist8; -/* isa nullable TClassid */ -cltype26 = type_nullable_parser_nodes__TClassid.color; -idtype27 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { -var25 = 1; +var_listnode7 = var_nodearraylist8; +/* isa Array[Object] */ +cltype26 = type_array__Arraykernel__Object.color; +idtype27 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var25 = 0; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { +if(cltype26 >= var_listnode7->type->table_size) { var25 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var25 = var_listnode7->type->type_table[cltype26] == idtype27; } } if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5044); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5265); +show_backtrace(1); } -var28 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on */; -CHECK_NEW_array__Array(var28); -var_listnode12 = var28; -var_listnode11 = var_nodearraylist9; -/* isa Array[Object] */ -cltype30 = type_array__Arraykernel__Object.color; -idtype31 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var29 = 0; +var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var28; +var29 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on */; +var_listnode13 = var29; +var_listnode12 = var_nodearraylist9; +/* isa Array[Object] */ +cltype31 = type_array__Arraykernel__Object.color; +idtype32 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var30 = 0; } else { -if(cltype30 >= var_listnode11->type->table_size) { -var29 = 0; +if(cltype31 >= var_listnode12->type->table_size) { +var30 = 0; } else { -var29 = var_listnode11->type->type_table[cltype30] == idtype31; +var30 = var_listnode12->type->type_table[cltype31] == idtype32; } } -if (!var29) { +if (!var30) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5047); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5269); +show_backtrace(1); } -var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var32; -var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var34 = NULL; +var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; +var_listnode13 = var33; +var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); var35 = NULL; var36 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode12, var36) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var33); -var_pannotationsnode8 = var33; -var_tkwendnode17 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype38 = type_nullable_parser_nodes__TKwend.color; -idtype39 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode17 == NULL) { -var37 = 1; +var37 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var34, var35, var36, var_listnode13, var37) /* init_aannotations on */; +var_pannotationsnode9 = var34; +var_tkwendnode18 = var_nodearraylist11; +/* isa nullable TKwend */ +cltype39 = type_nullable_parser_nodes__TKwend.color; +idtype40 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode18 == NULL) { +var38 = 1; } else { -if(cltype38 >= var_tkwendnode17->type->table_size) { -var37 = 0; +if(cltype39 >= var_tkwendnode18->type->table_size) { +var38 = 0; } else { -var37 = var_tkwendnode17->type->type_table[cltype38] == idtype39; +var38 = var_tkwendnode18->type->type_table[cltype39] == idtype40; } } -if (!var37) { +if (!var38) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5056); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5278); +show_backtrace(1); } -var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var41 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var41, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var40); -var_pclassdefnode1 = var40; +var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var42 = NULL; +var43 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var41, var_pdocnode2, var42, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var43, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on */; +var_pclassdefnode1 = var41; var_node_list = var_pclassdefnode1; -var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on */; +var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction95#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction95__action(val* self, val* p0) { -parser__ReduceAction95__action(self, p0); +/* method parser#ReduceAction100#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction100__action(val* self, val* p0) { +parser__ReduceAction100__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction97#action for (self: ReduceAction97, Parser) */ -void parser__ReduceAction97__action(val* self, val* p0) { +/* method parser#ReduceAction102#action for (self: ReduceAction102, Parser) */ +void parser__ReduceAction102__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var9 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var10 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var10 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode16 /* var listnode16: Array[Object] */; -val* var12 /* : Array[Object] */; +val* var14 /* : Array[Object] */; val* var_listnode17 /* var listnode17: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var13 /* : Bool */; +short int var15 /* : Bool */; int cltype; int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var22 /* : Bool */; +int cltype23; +int idtype24; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var25 /* : Bool */; +int cltype26; +int idtype27; val* var_listnode7 /* var listnode7: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var26 /* : Array[Object] */; -val* var27 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; short int var28 /* : Bool */; int cltype29; int idtype30; val* var31 /* : Array[Object] */; -val* var32 /* : AAnnotations */; -val* var33 /* : null */; -val* var34 /* : null */; -val* var35 /* : null */; +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_tkwendnode18 /* var tkwendnode18: nullable Object */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; -val* var39 /* : AStdClassdef */; -val* var40 /* : null */; -val* var41 /* : null */; +short int var41 /* : Bool */; +int cltype42; +int idtype43; +val* var44 /* : AStdClassdef */; +val* var45 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var42 /* : Int */; -long var43 /* : Int */; +long var46 /* : Int */; +long var47 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var1; +var_nodearraylist11 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var2; +var_nodearraylist10 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var3; +var_nodearraylist9 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var4; +var_nodearraylist8 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var5; +var_nodearraylist7 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var6; +var_nodearraylist6 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var7; +var_nodearraylist5 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var8; +var_nodearraylist4 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var9; -var10 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode8 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode16 = var11; +var_nodearraylist3 = var9; +var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var10; +var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode17 = var12; +var_listnode8 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; +var_listnode16 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; +var_listnode17 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var13 = 1; +var15 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var13 = 0; +var15 = 0; } else { -var13 = var_pdocnode2->type->type_table[cltype] == idtype; +var15 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var13) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5092); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5316); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype17 = type_nullable_parser_nodes__TKwredef.color; +idtype18 = type_nullable_parser_nodes__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 (!var16) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5318); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype15 = type_nullable_parser_nodes__AVisibility.color; -idtype16 = type_nullable_parser_nodes__AVisibility.id; +cltype20 = type_nullable_parser_nodes__AVisibility.color; +idtype21 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var14 = 1; +var19 = 1; } else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; +if(cltype20 >= var_pvisibilitynode4->type->table_size) { +var19 = 0; } else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; } } -if (!var14) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5094); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5320); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; +var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype18 = type_nullable_parser_nodes__AClasskind.color; -idtype19 = type_nullable_parser_nodes__AClasskind.id; +cltype23 = type_nullable_parser_nodes__AClasskind.color; +idtype24 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var17 = 1; +var22 = 1; } else { -if(cltype18 >= var_pclasskindnode5->type->table_size) { -var17 = 0; +if(cltype23 >= var_pclasskindnode5->type->table_size) { +var22 = 0; } else { -var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19; +var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; } } -if (!var17) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5096); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5322); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist5; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype21 = type_nullable_parser_nodes__TClassid.color; -idtype22 = type_nullable_parser_nodes__TClassid.id; +cltype26 = type_nullable_parser_nodes__TClassid.color; +idtype27 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var20 = 1; +var25 = 1; } else { -if(cltype21 >= var_tclassidnode6->type->table_size) { -var20 = 0; +if(cltype26 >= var_tclassidnode6->type->table_size) { +var25 = 0; } else { -var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22; +var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; } } -if (!var20) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5098); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5324); +show_backtrace(1); } -var_listnode7 = var_nodearraylist6; +var_listnode7 = var_nodearraylist8; /* isa Array[Object] */ -cltype24 = type_array__Arraykernel__Object.color; -idtype25 = type_array__Arraykernel__Object.id; +cltype29 = type_array__Arraykernel__Object.color; +idtype30 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var23 = 0; +var28 = 0; } else { -if(cltype24 >= var_listnode7->type->table_size) { -var23 = 0; +if(cltype29 >= var_listnode7->type->table_size) { +var28 = 0; } else { -var23 = var_listnode7->type->type_table[cltype24] == idtype25; +var28 = var_listnode7->type->type_table[cltype29] == idtype30; } } -if (!var23) { +if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5100); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5326); +show_backtrace(1); } -var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var26; -var27 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on */; -CHECK_NEW_array__Array(var27); -var_listnode13 = var27; -var_listnode12 = var_nodearraylist7; +var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var31; +var32 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on */; +var_listnode13 = var32; +var_listnode12 = var_nodearraylist9; /* isa Array[Object] */ -cltype29 = type_array__Arraykernel__Object.color; -idtype30 = type_array__Arraykernel__Object.id; +cltype34 = type_array__Arraykernel__Object.color; +idtype35 = type_array__Arraykernel__Object.id; if(var_listnode12 == NULL) { -var28 = 0; +var33 = 0; } else { -if(cltype29 >= var_listnode12->type->table_size) { -var28 = 0; +if(cltype34 >= var_listnode12->type->table_size) { +var33 = 0; } else { -var28 = var_listnode12->type->type_table[cltype29] == idtype30; +var33 = var_listnode12->type->type_table[cltype34] == idtype35; } } -if (!var28) { +if (!var33) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5104); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5330); +show_backtrace(1); } -var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; -var_listnode13 = var31; -var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var33 = NULL; -var34 = NULL; -var35 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode13, var35) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var32); -var_pannotationsnode9 = var32; -var_tkwendnode18 = var_nodearraylist9; +var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; +var_listnode13 = var36; +var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var38 = NULL; +var39 = NULL; +var40 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var37, var38, var39, var_listnode13, var40) /* init_aannotations on */; +var_pannotationsnode9 = var37; +var_tkwendnode18 = var_nodearraylist11; /* isa nullable TKwend */ -cltype37 = type_nullable_parser_nodes__TKwend.color; -idtype38 = type_nullable_parser_nodes__TKwend.id; +cltype42 = type_nullable_parser_nodes__TKwend.color; +idtype43 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode18 == NULL) { -var36 = 1; +var41 = 1; } else { -if(cltype37 >= var_tkwendnode18->type->table_size) { -var36 = 0; +if(cltype42 >= var_tkwendnode18->type->table_size) { +var41 = 0; } else { -var36 = var_tkwendnode18->type->type_table[cltype37] == idtype38; +var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43; } } -if (!var36) { +if (!var41) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5113); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5339); +show_backtrace(1); } -var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var40 = NULL; -var41 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var41, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var39); -var_pclassdefnode1 = var39; +var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var45 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var45, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on */; +var_pclassdefnode1 = var44; var_node_list = var_pclassdefnode1; -var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on */; +var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction97#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction97__action(val* self, val* p0) { -parser__ReduceAction97__action(self, p0); +/* method parser#ReduceAction102#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction102__action(val* self, val* p0) { +parser__ReduceAction102__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction98#action for (self: ReduceAction98, Parser) */ -void parser__ReduceAction98__action(val* self, val* p0) { -val* var_p /* var p: Parser */; +/* method parser#ReduceAction103#action for (self: ReduceAction103, Parser) */ +void parser__ReduceAction103__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* var_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var9 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var10 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var11 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var12 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; -val* var12 /* : Array[Object] */; +val* var14 /* : Array[Object] */; val* var_listnode16 /* var listnode16: Array[Object] */; -val* var13 /* : Array[Object] */; +val* var15 /* : Array[Object] */; val* var_listnode17 /* var listnode17: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +short int var16 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; +short int var23 /* : Bool */; +int cltype24; +int idtype25; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; +short int var26 /* : Bool */; +int cltype27; +int idtype28; val* var_listnode7 /* var listnode7: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : Array[Object] */; -val* var31 /* : Array[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 var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : Array[Object] */; -val* var36 /* : AAnnotations */; -val* var37 /* : null */; -val* var38 /* : null */; +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_tkwendnode18 /* var tkwendnode18: nullable Object */; -short int var40 /* : Bool */; -int cltype41; -int idtype42; -val* var43 /* : AStdClassdef */; -val* var44 /* : null */; +short int var42 /* : Bool */; +int cltype43; +int idtype44; +val* var45 /* : AStdClassdef */; +val* var46 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var45 /* : Int */; -long var46 /* : Int */; +long var47 /* : Int */; +long var48 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var1; +var_nodearraylist12 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var2; +var_nodearraylist11 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var3; +var_nodearraylist10 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var4; +var_nodearraylist9 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var5; +var_nodearraylist8 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var6; +var_nodearraylist7 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var7; +var_nodearraylist6 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var8; +var_nodearraylist5 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var9; +var_nodearraylist4 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode8 = var11; -var12 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode16 = var12; +var_nodearraylist3 = var10; +var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var11; +var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode17 = var13; +var_listnode8 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; +var_listnode16 = var14; +var15 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on */; +var_listnode17 = var15; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var14 = 1; +var16 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; +var16 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var16 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var14) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5150); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5378); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype16 = type_nullable_parser_nodes__TKwredef.color; -idtype17 = type_nullable_parser_nodes__TKwredef.id; +cltype18 = type_nullable_parser_nodes__TKwredef.color; +idtype19 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var15 = 1; +var17 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { -var15 = 0; +if(cltype18 >= var_tkwredefnode3->type->table_size) { +var17 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; } } -if (!var15) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5152); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5380); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype19 = type_nullable_parser_nodes__AVisibility.color; -idtype20 = type_nullable_parser_nodes__AVisibility.id; +cltype21 = type_nullable_parser_nodes__AVisibility.color; +idtype22 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var18 = 1; +var20 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { -var18 = 0; +if(cltype21 >= var_pvisibilitynode4->type->table_size) { +var20 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; } } -if (!var18) { +if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5154); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5382); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; +cltype24 = type_nullable_parser_nodes__AClasskind.color; +idtype25 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var21 = 1; +var23 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; +if(cltype24 >= var_pclasskindnode5->type->table_size) { +var23 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; } } -if (!var21) { +if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5156); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5384); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist8; /* isa nullable TClassid */ -cltype25 = type_nullable_parser_nodes__TClassid.color; -idtype26 = type_nullable_parser_nodes__TClassid.id; +cltype27 = type_nullable_parser_nodes__TClassid.color; +idtype28 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var24 = 1; +var26 = 1; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { -var24 = 0; +if(cltype27 >= var_tclassidnode6->type->table_size) { +var26 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; } } -if (!var24) { +if (!var26) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5158); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5386); +show_backtrace(1); } -var_listnode7 = var_nodearraylist7; +var_listnode7 = var_nodearraylist9; /* isa Array[Object] */ -cltype28 = type_array__Arraykernel__Object.color; -idtype29 = type_array__Arraykernel__Object.id; +cltype30 = type_array__Arraykernel__Object.color; +idtype31 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var27 = 0; +var29 = 0; } else { -if(cltype28 >= var_listnode7->type->table_size) { -var27 = 0; +if(cltype30 >= var_listnode7->type->table_size) { +var29 = 0; } else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; +var29 = var_listnode7->type->type_table[cltype30] == idtype31; } } -if (!var27) { +if (!var29) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5160); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5388); +show_backtrace(1); } -var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var30; -var31 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on */; -CHECK_NEW_array__Array(var31); -var_listnode13 = var31; -var_listnode12 = var_nodearraylist8; +var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var32; +var33 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on */; +var_listnode13 = var33; +var_listnode12 = var_nodearraylist10; /* isa Array[Object] */ -cltype33 = type_array__Arraykernel__Object.color; -idtype34 = type_array__Arraykernel__Object.id; +cltype35 = type_array__Arraykernel__Object.color; +idtype36 = type_array__Arraykernel__Object.id; if(var_listnode12 == NULL) { -var32 = 0; +var34 = 0; } else { -if(cltype33 >= var_listnode12->type->table_size) { -var32 = 0; +if(cltype35 >= var_listnode12->type->table_size) { +var34 = 0; } else { -var32 = var_listnode12->type->type_table[cltype33] == idtype34; +var34 = var_listnode12->type->type_table[cltype35] == idtype36; } } -if (!var32) { +if (!var34) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5164); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5392); +show_backtrace(1); } -var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; -var_listnode13 = var35; -var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var37 = NULL; -var38 = NULL; +var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; +var_listnode13 = var37; +var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); var39 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var36, var37, var38, var_listnode13, var39) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var36); -var_pannotationsnode9 = var36; -var_tkwendnode18 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype41 = type_nullable_parser_nodes__TKwend.color; -idtype42 = type_nullable_parser_nodes__TKwend.id; +var40 = NULL; +var41 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var38, var39, var40, var_listnode13, var41) /* init_aannotations on */; +var_pannotationsnode9 = var38; +var_tkwendnode18 = var_nodearraylist12; +/* isa nullable TKwend */ +cltype43 = type_nullable_parser_nodes__TKwend.color; +idtype44 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode18 == NULL) { -var40 = 1; +var42 = 1; } else { -if(cltype41 >= var_tkwendnode18->type->table_size) { -var40 = 0; +if(cltype43 >= var_tkwendnode18->type->table_size) { +var42 = 0; } else { -var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42; +var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44; } } -if (!var40) { +if (!var42) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5173); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5401); +show_backtrace(1); } -var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var44 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_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) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var43); -var_pclassdefnode1 = var43; +var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var46 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var46, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on */; +var_pclassdefnode1 = var45; var_node_list = var_pclassdefnode1; -var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on */; +var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction98#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction98__action(val* self, val* p0) { -parser__ReduceAction98__action(self, p0); +/* method parser#ReduceAction103#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction103__action(val* self, val* p0) { +parser__ReduceAction103__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction99#action for (self: ReduceAction99, Parser) */ -void parser__ReduceAction99__action(val* self, val* p0) { +/* method parser#ReduceAction105#action for (self: ReduceAction105, Parser) */ +void parser__ReduceAction105__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* 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* var9 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; +val* var10 /* : Array[Object] */; +val* var_listnode10 /* var listnode10: Array[Object] */; val* var11 /* : 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* var_listnode11 /* var listnode11: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +short int var12 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var13 /* : Bool */; +int cltype14; +int idtype15; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var27 /* : Array[Object] */; -val* var28 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var32 /* : Array[Object] */; -val* var33 /* : AAnnotations */; -val* var34 /* : null */; -val* var35 /* : null */; -val* var36 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_tkwendnode18 /* var tkwendnode18: nullable Object */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -val* var40 /* : AStdClassdef */; -val* var41 /* : null */; -val* var42 /* : null */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var28 /* : AStdClassdef */; +val* var29 /* : null */; +val* var30 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var43 /* : Int */; -long var44 /* : Int */; +long var31 /* : Int */; +long var32 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var1; +var_nodearraylist8 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var2; +var_nodearraylist7 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var3; +var_nodearraylist6 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var4; +var_nodearraylist5 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var5; +var_nodearraylist4 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var6; +var_nodearraylist3 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var7; +var_nodearraylist2 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var8; -var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var9; -var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var10; +var_nodearraylist1 = var8; +var9 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on */; +var_listnode7 = var9; +var10 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; +var_listnode10 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode8 = var11; -var12 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode16 = var12; -var13 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode17 = var13; +var_listnode11 = var11; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var14 = 1; +var12 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; +var12 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var12 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var14) { +if (!var12) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5210); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5436); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype16 = type_nullable_parser_nodes__AVisibility.color; -idtype17 = type_nullable_parser_nodes__AVisibility.id; +cltype14 = type_nullable_parser_nodes__AVisibility.color; +idtype15 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var15 = 1; +var13 = 1; } else { -if(cltype16 >= var_pvisibilitynode4->type->table_size) { -var15 = 0; +if(cltype14 >= var_pvisibilitynode4->type->table_size) { +var13 = 0; } else { -var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; +var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; } } -if (!var15) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5212); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5438); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ -cltype19 = type_nullable_parser_nodes__AClasskind.color; -idtype20 = type_nullable_parser_nodes__AClasskind.id; +cltype17 = type_nullable_parser_nodes__AClasskind.color; +idtype18 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var18 = 1; +var16 = 1; } else { -if(cltype19 >= var_pclasskindnode5->type->table_size) { -var18 = 0; +if(cltype17 >= var_pclasskindnode5->type->table_size) { +var16 = 0; } else { -var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20; +var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18; } } -if (!var18) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5214); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5440); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist5; /* isa nullable TClassid */ -cltype22 = type_nullable_parser_nodes__TClassid.color; -idtype23 = type_nullable_parser_nodes__TClassid.id; +cltype20 = type_nullable_parser_nodes__TClassid.color; +idtype21 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var21 = 1; +var19 = 1; } else { -if(cltype22 >= var_tclassidnode6->type->table_size) { -var21 = 0; +if(cltype20 >= var_tclassidnode6->type->table_size) { +var19 = 0; } else { -var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23; +var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21; } } -if (!var21) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5216); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5442); +show_backtrace(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype25 = type_array__Arraykernel__Object.color; -idtype26 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var24 = 0; +var_pexterncodeblocknode9 = var_nodearraylist6; +/* isa nullable AExternCodeBlock */ +cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode9 == NULL) { +var22 = 1; } else { -if(cltype25 >= var_listnode7->type->table_size) { -var24 = 0; +if(cltype23 >= var_pexterncodeblocknode9->type->table_size) { +var22 = 0; } else { -var24 = var_listnode7->type->type_table[cltype25] == idtype26; +var22 = var_pexterncodeblocknode9->type->type_table[cltype23] == idtype24; } } -if (!var24) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5218); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5444); +show_backtrace(1); } -var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var27; -var28 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on */; -CHECK_NEW_array__Array(var28); -var_listnode13 = var28; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype30 = type_array__Arraykernel__Object.color; -idtype31 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var29 = 0; +var_tkwendnode12 = var_nodearraylist8; +/* isa nullable TKwend */ +cltype26 = type_nullable_parser_nodes__TKwend.color; +idtype27 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode12 == NULL) { +var25 = 1; } else { -if(cltype30 >= var_listnode12->type->table_size) { -var29 = 0; -} else { -var29 = var_listnode12->type->type_table[cltype30] == idtype31; -} -} -if (!var29) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5222); -exit(1); -} -var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; -var_listnode13 = var32; -var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var34 = NULL; -var35 = NULL; -var36 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode13, var36) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var33); -var_pannotationsnode9 = var33; -var_tkwendnode18 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype38 = type_nullable_parser_nodes__TKwend.color; -idtype39 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode18 == NULL) { -var37 = 1; -} else { -if(cltype38 >= var_tkwendnode18->type->table_size) { -var37 = 0; +if(cltype26 >= var_tkwendnode12->type->table_size) { +var25 = 0; } else { -var37 = var_tkwendnode18->type->type_table[cltype38] == idtype39; +var25 = var_tkwendnode12->type->type_table[cltype26] == idtype27; } } -if (!var37) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5231); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5446); +show_backtrace(1); } -var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var41 = NULL; -var42 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var42, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var40); -var_pclassdefnode1 = var40; +var28 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var29 = NULL; +var30 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var28, var_pdocnode2, var29, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var30, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; +var_pclassdefnode1 = var28; var_node_list = var_pclassdefnode1; -var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on */; +var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction99#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction99__action(val* self, val* p0) { -parser__ReduceAction99__action(self, p0); +/* method parser#ReduceAction105#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction105__action(val* self, val* p0) { +parser__ReduceAction105__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction100#action for (self: ReduceAction100, Parser) */ -void parser__ReduceAction100__action(val* self, val* p0) { +/* method parser#ReduceAction106#action for (self: ReduceAction106, Parser) */ +void parser__ReduceAction106__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* 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* var10 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; +val* var11 /* : Array[Object] */; +val* var_listnode10 /* var listnode10: Array[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_listnode17 /* var listnode17: Array[Object] */; +val* var_listnode11 /* var listnode11: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var13 /* : Bool */; int cltype; int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : Array[Object] */; -val* var29 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : Array[Object] */; -val* var34 /* : AAnnotations */; -val* var35 /* : null */; -val* var36 /* : null */; -val* var37 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_tkwendnode18 /* var tkwendnode18: nullable Object */; -short int var38 /* : Bool */; -int cltype39; -int idtype40; -val* var41 /* : AStdClassdef */; -val* var42 /* : null */; -val* var43 /* : null */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var32 /* : AStdClassdef */; +val* var33 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var44 /* : Int */; -long var45 /* : Int */; +long var34 /* : Int */; +long var35 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var1; +var_nodearraylist9 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var2; +var_nodearraylist8 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var3; +var_nodearraylist7 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var4; +var_nodearraylist6 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var5; +var_nodearraylist5 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var6; +var_nodearraylist4 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var7; +var_nodearraylist3 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var8; +var_nodearraylist2 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var9; -var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var10; -var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var11; +var_nodearraylist1 = var9; +var10 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; +var_listnode7 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; +var_listnode10 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode8 = var12; -var13 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode16 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; -CHECK_NEW_array__Array(var14); -var_listnode17 = var14; +var_listnode11 = var12; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var13 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; +var13 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var13 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var15) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5269); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5482); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype15 = type_nullable_parser_nodes__TKwredef.color; +idtype16 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var14 = 1; +} else { +if(cltype15 >= var_tkwredefnode3->type->table_size) { +var14 = 0; +} else { +var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16; +} +} +if (!var14) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5484); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype17 = type_nullable_parser_nodes__AVisibility.color; -idtype18 = type_nullable_parser_nodes__AVisibility.id; +cltype18 = type_nullable_parser_nodes__AVisibility.color; +idtype19 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var16 = 1; +var17 = 1; } else { -if(cltype17 >= var_pvisibilitynode4->type->table_size) { -var16 = 0; +if(cltype18 >= var_pvisibilitynode4->type->table_size) { +var17 = 0; } else { -var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18; +var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; } } -if (!var16) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5271); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5486); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; +var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype20 = type_nullable_parser_nodes__AClasskind.color; -idtype21 = type_nullable_parser_nodes__AClasskind.id; +cltype21 = type_nullable_parser_nodes__AClasskind.color; +idtype22 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var19 = 1; +var20 = 1; } else { -if(cltype20 >= var_pclasskindnode5->type->table_size) { -var19 = 0; +if(cltype21 >= var_pclasskindnode5->type->table_size) { +var20 = 0; } else { -var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21; +var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; } } -if (!var19) { +if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5273); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5488); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; +var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype23 = type_nullable_parser_nodes__TClassid.color; -idtype24 = type_nullable_parser_nodes__TClassid.id; +cltype24 = type_nullable_parser_nodes__TClassid.color; +idtype25 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var22 = 1; +var23 = 1; } else { -if(cltype23 >= var_tclassidnode6->type->table_size) { -var22 = 0; +if(cltype24 >= var_tclassidnode6->type->table_size) { +var23 = 0; } else { -var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24; +var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; } } -if (!var22) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5275); -exit(1); -} -var_listnode7 = var_nodearraylist8; -/* isa Array[Object] */ -cltype26 = type_array__Arraykernel__Object.color; -idtype27 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var25 = 0; -} else { -if(cltype26 >= var_listnode7->type->table_size) { -var25 = 0; -} else { -var25 = var_listnode7->type->type_table[cltype26] == idtype27; -} -} -if (!var25) { +if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5277); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5490); +show_backtrace(1); } -var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var28; -var29 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on */; -CHECK_NEW_array__Array(var29); -var_listnode13 = var29; -var_listnode12 = var_nodearraylist9; -/* isa Array[Object] */ -cltype31 = type_array__Arraykernel__Object.color; -idtype32 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var30 = 0; +var_pexterncodeblocknode9 = var_nodearraylist7; +/* isa nullable AExternCodeBlock */ +cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode9 == NULL) { +var26 = 1; } else { -if(cltype31 >= var_listnode12->type->table_size) { -var30 = 0; +if(cltype27 >= var_pexterncodeblocknode9->type->table_size) { +var26 = 0; } else { -var30 = var_listnode12->type->type_table[cltype31] == idtype32; +var26 = var_pexterncodeblocknode9->type->type_table[cltype27] == idtype28; } } -if (!var30) { +if (!var26) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5281); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5492); +show_backtrace(1); } -var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; -var_listnode13 = var33; -var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var35 = NULL; -var36 = NULL; -var37 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var34, var35, var36, var_listnode13, var37) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var34); -var_pannotationsnode9 = var34; -var_tkwendnode18 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype39 = type_nullable_parser_nodes__TKwend.color; -idtype40 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode18 == NULL) { -var38 = 1; +var_tkwendnode12 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype30 = type_nullable_parser_nodes__TKwend.color; +idtype31 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode12 == NULL) { +var29 = 1; } else { -if(cltype39 >= var_tkwendnode18->type->table_size) { -var38 = 0; +if(cltype30 >= var_tkwendnode12->type->table_size) { +var29 = 0; } else { -var38 = var_tkwendnode18->type->type_table[cltype39] == idtype40; +var29 = var_tkwendnode12->type->type_table[cltype30] == idtype31; } } -if (!var38) { +if (!var29) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5290); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5494); +show_backtrace(1); } -var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var42 = NULL; -var43 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var41, var_pdocnode2, var42, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var43, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var41); -var_pclassdefnode1 = var41; +var32 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var33 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var32, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var33, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; +var_pclassdefnode1 = var32; var_node_list = var_pclassdefnode1; -var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on */; +var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction100#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction100__action(val* self, val* p0) { -parser__ReduceAction100__action(self, p0); +/* method parser#ReduceAction106#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction106__action(val* self, val* p0) { +parser__ReduceAction106__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction102#action for (self: ReduceAction102, Parser) */ -void parser__ReduceAction102__action(val* self, val* p0) { +/* method parser#ReduceAction107#action for (self: ReduceAction107, Parser) */ +void parser__ReduceAction107__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* 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* var10 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; +val* var11 /* : Array[Object] */; +val* var_listnode10 /* var listnode10: Array[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_listnode17 /* var listnode17: Array[Object] */; +val* var_listnode11 /* var listnode11: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var13 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; +short int var17 /* : Bool */; +int cltype18; +int idtype19; 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_tkwendnode18 /* var tkwendnode18: nullable Object */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -val* var44 /* : AStdClassdef */; -val* var45 /* : null */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : AStdClassdef */; +val* var30 /* : null */; +val* var31 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var46 /* : Int */; -long var47 /* : Int */; +long var32 /* : Int */; +long var33 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var1; +var_nodearraylist9 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var2; +var_nodearraylist8 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var3; +var_nodearraylist7 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var4; +var_nodearraylist6 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var5; +var_nodearraylist5 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var6; +var_nodearraylist4 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var7; +var_nodearraylist3 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var8; +var_nodearraylist2 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var9; -var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var10; -var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var11; +var_nodearraylist1 = var9; +var10 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; +var_listnode7 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; +var_listnode10 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode8 = var12; -var13 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode16 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; -CHECK_NEW_array__Array(var14); -var_listnode17 = var14; +var_listnode11 = var12; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var13 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; -} else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (!var15) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5328); -exit(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype17 = type_nullable_parser_nodes__TKwredef.color; -idtype18 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var16 = 1; -} else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; +var13 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var13 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var16) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5330); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5530); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; +var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype20 = type_nullable_parser_nodes__AVisibility.color; -idtype21 = type_nullable_parser_nodes__AVisibility.id; +cltype15 = type_nullable_parser_nodes__AVisibility.color; +idtype16 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var14 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype15 >= var_pvisibilitynode4->type->table_size) { +var14 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; } } -if (!var19) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5332); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5532); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; +var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ -cltype23 = type_nullable_parser_nodes__AClasskind.color; -idtype24 = type_nullable_parser_nodes__AClasskind.id; +cltype18 = type_nullable_parser_nodes__AClasskind.color; +idtype19 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var22 = 1; +var17 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype18 >= var_pclasskindnode5->type->table_size) { +var17 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19; } } -if (!var22) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5334); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5534); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; +var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype26 = type_nullable_parser_nodes__TClassid.color; -idtype27 = type_nullable_parser_nodes__TClassid.id; +cltype21 = type_nullable_parser_nodes__TClassid.color; +idtype22 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var25 = 1; -} else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; -} else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; -} -} -if (!var25) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5336); -exit(1); -} -var_listnode7 = var_nodearraylist8; -/* isa Array[Object] */ -cltype29 = type_array__Arraykernel__Object.color; -idtype30 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var28 = 0; +var20 = 1; } else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; +if(cltype21 >= var_tclassidnode6->type->table_size) { +var20 = 0; } else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22; } } -if (!var28) { +if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5338); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5536); +show_backtrace(1); } -var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var31; -var32 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on */; -CHECK_NEW_array__Array(var32); -var_listnode13 = var32; -var_listnode12 = var_nodearraylist9; -/* isa Array[Object] */ -cltype34 = type_array__Arraykernel__Object.color; -idtype35 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var33 = 0; +var_pexterncodeblocknode9 = var_nodearraylist7; +/* isa nullable AExternCodeBlock */ +cltype24 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype25 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode9 == NULL) { +var23 = 1; } else { -if(cltype34 >= var_listnode12->type->table_size) { -var33 = 0; +if(cltype24 >= var_pexterncodeblocknode9->type->table_size) { +var23 = 0; } else { -var33 = var_listnode12->type->type_table[cltype34] == idtype35; +var23 = var_pexterncodeblocknode9->type->type_table[cltype24] == idtype25; } } -if (!var33) { +if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5342); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5538); +show_backtrace(1); } -var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; -var_listnode13 = var36; -var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var38 = NULL; -var39 = NULL; -var40 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var37, var38, var39, var_listnode13, var40) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var37); -var_pannotationsnode9 = var37; -var_tkwendnode18 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype42 = type_nullable_parser_nodes__TKwend.color; -idtype43 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode18 == NULL) { -var41 = 1; +var_tkwendnode12 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype27 = type_nullable_parser_nodes__TKwend.color; +idtype28 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode12 == NULL) { +var26 = 1; } else { -if(cltype42 >= var_tkwendnode18->type->table_size) { -var41 = 0; +if(cltype27 >= var_tkwendnode12->type->table_size) { +var26 = 0; } else { -var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43; -} +var26 = var_tkwendnode12->type->type_table[cltype27] == idtype28; } -if (!var41) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5351); -exit(1); } -var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var45 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var45, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var44); -var_pclassdefnode1 = var44; +if (!var26) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5540); +show_backtrace(1); +} +var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var30 = NULL; +var31 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; +var_pclassdefnode1 = var29; var_node_list = var_pclassdefnode1; -var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on */; +var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction102#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction102__action(val* self, val* p0) { -parser__ReduceAction102__action(self, p0); +/* method parser#ReduceAction107#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction107__action(val* self, val* p0) { +parser__ReduceAction107__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction103#action for (self: ReduceAction103, Parser) */ -void parser__ReduceAction103__action(val* self, val* p0) { +/* method parser#ReduceAction108#action for (self: ReduceAction108, Parser) */ +void parser__ReduceAction108__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* var2 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var10 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var11 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var12 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var11 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; +val* var12 /* : Array[Object] */; +val* var_listnode10 /* var listnode10: Array[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_listnode17 /* var listnode17: Array[Object] */; +val* var_listnode11 /* var listnode11: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var16 /* : Bool */; +short int var14 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; +short int var18 /* : Bool */; +int cltype19; +int idtype20; 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_tkwendnode18 /* var tkwendnode18: nullable Object */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -val* var45 /* : AStdClassdef */; -val* var46 /* : null */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : AStdClassdef */; +val* var31 /* : null */; +val* var32 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var47 /* : Int */; -long var48 /* : Int */; +long var33 /* : Int */; +long var34 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist12 = var1; +var_nodearraylist10 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var2; +var_nodearraylist9 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var3; +var_nodearraylist8 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var4; +var_nodearraylist7 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var5; +var_nodearraylist6 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var6; +var_nodearraylist5 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var7; +var_nodearraylist4 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var8; +var_nodearraylist3 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var9; +var_nodearraylist2 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var10; -var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var11; -var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var12; +var_nodearraylist1 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; +var_listnode7 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; +var_listnode10 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode8 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; -CHECK_NEW_array__Array(var14); -var_listnode16 = var14; -var15 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on */; -CHECK_NEW_array__Array(var15); -var_listnode17 = var15; +var_listnode11 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var16 = 1; +var14 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var16 = 0; -} else { -var16 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (!var16) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5390); -exit(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype18 = type_nullable_parser_nodes__TKwredef.color; -idtype19 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var17 = 1; -} else { -if(cltype18 >= var_tkwredefnode3->type->table_size) { -var17 = 0; +var14 = 0; } else { -var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; +var14 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var17) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5392); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5577); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; +var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype21 = type_nullable_parser_nodes__AVisibility.color; -idtype22 = type_nullable_parser_nodes__AVisibility.id; +cltype16 = type_nullable_parser_nodes__AVisibility.color; +idtype17 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var20 = 1; +var15 = 1; } else { -if(cltype21 >= var_pvisibilitynode4->type->table_size) { -var20 = 0; +if(cltype16 >= var_pvisibilitynode4->type->table_size) { +var15 = 0; } else { -var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; +var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; } } -if (!var20) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5394); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5579); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; +var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ -cltype24 = type_nullable_parser_nodes__AClasskind.color; -idtype25 = type_nullable_parser_nodes__AClasskind.id; +cltype19 = type_nullable_parser_nodes__AClasskind.color; +idtype20 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var23 = 1; +var18 = 1; } else { -if(cltype24 >= var_pclasskindnode5->type->table_size) { -var23 = 0; +if(cltype19 >= var_pclasskindnode5->type->table_size) { +var18 = 0; } else { -var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; +var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20; } } -if (!var23) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5396); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5581); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist8; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype27 = type_nullable_parser_nodes__TClassid.color; -idtype28 = type_nullable_parser_nodes__TClassid.id; +cltype22 = type_nullable_parser_nodes__TClassid.color; +idtype23 = type_nullable_parser_nodes__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; -} -} -if (!var26) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5398); -exit(1); -} -var_listnode7 = var_nodearraylist9; -/* isa Array[Object] */ -cltype30 = type_array__Arraykernel__Object.color; -idtype31 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var29 = 0; -} else { -if(cltype30 >= var_listnode7->type->table_size) { -var29 = 0; +var21 = 1; } else { -var29 = var_listnode7->type->type_table[cltype30] == idtype31; -} -} -if (!var29) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5400); -exit(1); -} -var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var32; -var33 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on */; -CHECK_NEW_array__Array(var33); -var_listnode13 = var33; -var_listnode12 = var_nodearraylist10; -/* isa Array[Object] */ -cltype35 = type_array__Arraykernel__Object.color; -idtype36 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var34 = 0; +if(cltype22 >= var_tclassidnode6->type->table_size) { +var21 = 0; } else { -if(cltype35 >= var_listnode12->type->table_size) { -var34 = 0; +var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23; +} +} +if (!var21) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5583); +show_backtrace(1); +} +var_pexterncodeblocknode9 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode9 == NULL) { +var24 = 1; } else { -var34 = var_listnode12->type->type_table[cltype35] == idtype36; +if(cltype25 >= var_pexterncodeblocknode9->type->table_size) { +var24 = 0; +} else { +var24 = var_pexterncodeblocknode9->type->type_table[cltype25] == idtype26; } } -if (!var34) { +if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5404); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5585); +show_backtrace(1); } -var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; -var_listnode13 = var37; -var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var39 = NULL; -var40 = NULL; -var41 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var38, var39, var40, var_listnode13, var41) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var38); -var_pannotationsnode9 = var38; -var_tkwendnode18 = var_nodearraylist12; -/* isa nullable TKwend */ -cltype43 = type_nullable_parser_nodes__TKwend.color; -idtype44 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode18 == NULL) { -var42 = 1; +var_tkwendnode12 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype28 = type_nullable_parser_nodes__TKwend.color; +idtype29 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode12 == NULL) { +var27 = 1; } else { -if(cltype43 >= var_tkwendnode18->type->table_size) { -var42 = 0; +if(cltype28 >= var_tkwendnode12->type->table_size) { +var27 = 0; } else { -var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44; +var27 = var_tkwendnode12->type->type_table[cltype28] == idtype29; } } -if (!var42) { +if (!var27) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5413); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5587); +show_backtrace(1); } -var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var46 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var46, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var45); -var_pclassdefnode1 = var45; +var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var31 = NULL; +var32 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var32, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; +var_pclassdefnode1 = var30; var_node_list = var_pclassdefnode1; -var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on */; +var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction103#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction103__action(val* self, val* p0) { -parser__ReduceAction103__action(self, p0); +/* method parser#ReduceAction108#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction108__action(val* self, val* p0) { +parser__ReduceAction108__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction105#action for (self: ReduceAction105, Parser) */ -void parser__ReduceAction105__action(val* self, val* p0) { +/* method parser#ReduceAction110#action for (self: ReduceAction110, Parser) */ +void parser__ReduceAction110__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var8 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var9 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var9 /* : Array[Object] */; +val* var11 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; -val* var10 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode10 /* var listnode10: Array[Object] */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var12 /* : Bool */; +short int var14 /* : 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 var13 /* : Bool */; -int cltype14; -int idtype15; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var21 /* : Bool */; +int cltype22; +int idtype23; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var24 /* : Bool */; +int cltype25; +int idtype26; val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; +short int var27 /* : Bool */; +int cltype28; +int idtype29; val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : AStdClassdef */; -val* var29 /* : null */; -val* var30 /* : null */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +val* var33 /* : AStdClassdef */; +val* var34 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var31 /* : Int */; -long var32 /* : Int */; +long var35 /* : Int */; +long var36 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var1; +var_nodearraylist10 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var2; +var_nodearraylist9 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var3; +var_nodearraylist8 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var4; +var_nodearraylist7 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var5; +var_nodearraylist6 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var6; +var_nodearraylist5 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var7; +var_nodearraylist4 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var8; -var9 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on */; -CHECK_NEW_array__Array(var9); -var_listnode7 = var9; -var10 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode10 = var10; +var_nodearraylist3 = var8; +var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var9; +var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode11 = var11; +var_listnode7 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; +var_listnode10 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; +var_listnode11 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var12 = 1; +var14 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var12 = 0; +var14 = 0; } else { -var12 = var_pdocnode2->type->type_table[cltype] == idtype; +var14 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var12) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5448); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5624); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var15 = 1; +} else { +if(cltype16 >= var_tkwredefnode3->type->table_size) { +var15 = 0; +} else { +var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +} +} +if (!var15) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5626); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype14 = type_nullable_parser_nodes__AVisibility.color; -idtype15 = type_nullable_parser_nodes__AVisibility.id; +cltype19 = type_nullable_parser_nodes__AVisibility.color; +idtype20 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var13 = 1; +var18 = 1; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; +if(cltype19 >= var_pvisibilitynode4->type->table_size) { +var18 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; } } -if (!var13) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5450); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5628); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; +var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype17 = type_nullable_parser_nodes__AClasskind.color; -idtype18 = type_nullable_parser_nodes__AClasskind.id; +cltype22 = type_nullable_parser_nodes__AClasskind.color; +idtype23 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var16 = 1; +var21 = 1; } else { -if(cltype17 >= var_pclasskindnode5->type->table_size) { -var16 = 0; +if(cltype22 >= var_pclasskindnode5->type->table_size) { +var21 = 0; } else { -var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18; +var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; } } -if (!var16) { +if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5452); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5630); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist5; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype20 = type_nullable_parser_nodes__TClassid.color; -idtype21 = type_nullable_parser_nodes__TClassid.id; +cltype25 = type_nullable_parser_nodes__TClassid.color; +idtype26 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var19 = 1; +var24 = 1; } else { -if(cltype20 >= var_tclassidnode6->type->table_size) { -var19 = 0; +if(cltype25 >= var_tclassidnode6->type->table_size) { +var24 = 0; } else { -var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21; +var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; } } -if (!var19) { +if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5454); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5632); +show_backtrace(1); } -var_pexterncodeblocknode9 = var_nodearraylist6; +var_pexterncodeblocknode9 = var_nodearraylist8; /* isa nullable AExternCodeBlock */ -cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id; +cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id; if(var_pexterncodeblocknode9 == NULL) { -var22 = 1; +var27 = 1; } else { -if(cltype23 >= var_pexterncodeblocknode9->type->table_size) { -var22 = 0; +if(cltype28 >= var_pexterncodeblocknode9->type->table_size) { +var27 = 0; } else { -var22 = var_pexterncodeblocknode9->type->type_table[cltype23] == idtype24; +var27 = var_pexterncodeblocknode9->type->type_table[cltype28] == idtype29; } } -if (!var22) { +if (!var27) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5456); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5634); +show_backtrace(1); } -var_tkwendnode12 = var_nodearraylist8; +var_tkwendnode12 = var_nodearraylist10; /* isa nullable TKwend */ -cltype26 = type_nullable_parser_nodes__TKwend.color; -idtype27 = type_nullable_parser_nodes__TKwend.id; +cltype31 = type_nullable_parser_nodes__TKwend.color; +idtype32 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode12 == NULL) { -var25 = 1; +var30 = 1; } else { -if(cltype26 >= var_tkwendnode12->type->table_size) { -var25 = 0; +if(cltype31 >= var_tkwendnode12->type->table_size) { +var30 = 0; } else { -var25 = var_tkwendnode12->type->type_table[cltype26] == idtype27; +var30 = var_tkwendnode12->type->type_table[cltype31] == idtype32; } } -if (!var25) { +if (!var30) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5458); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5636); +show_backtrace(1); } -var28 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var29 = NULL; -var30 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var28, var_pdocnode2, var29, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var30, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var28); -var_pclassdefnode1 = var28; +var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var34 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var34, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; +var_pclassdefnode1 = var33; var_node_list = var_pclassdefnode1; -var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on */; +var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction105#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction105__action(val* self, val* p0) { -parser__ReduceAction105__action(self, p0); +/* method parser#ReduceAction110#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction110__action(val* self, val* p0) { +parser__ReduceAction110__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction106#action for (self: ReduceAction106, Parser) */ -void parser__ReduceAction106__action(val* self, val* p0) { +/* method parser#ReduceAction111#action for (self: ReduceAction111, Parser) */ +void parser__ReduceAction111__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var9 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var10 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var10 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode10 /* var listnode10: Array[Object] */; -val* var12 /* : Array[Object] */; +val* var14 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var13 /* : Bool */; +short int var15 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var22 /* : Bool */; +int cltype23; +int idtype24; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; +short int var25 /* : Bool */; +int cltype26; +int idtype27; val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; +short int var28 /* : Bool */; +int cltype29; +int idtype30; val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var32 /* : AStdClassdef */; -val* var33 /* : null */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : AStdClassdef */; +val* var35 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var34 /* : Int */; -long var35 /* : Int */; +long var36 /* : Int */; +long var37 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var1; +var_nodearraylist11 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var2; +var_nodearraylist10 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var3; +var_nodearraylist9 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var4; +var_nodearraylist8 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var5; +var_nodearraylist7 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var6; +var_nodearraylist6 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var7; +var_nodearraylist5 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var8; +var_nodearraylist4 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var9; -var10 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode7 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode10 = var11; +var_nodearraylist3 = var9; +var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var10; +var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode11 = var12; +var_listnode7 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; +var_listnode10 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; +var_listnode11 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var13 = 1; +var15 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var13 = 0; +var15 = 0; } else { -var13 = var_pdocnode2->type->type_table[cltype] == idtype; +var15 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var13) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5494); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5674); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype15 = type_nullable_parser_nodes__TKwredef.color; -idtype16 = type_nullable_parser_nodes__TKwredef.id; +cltype17 = type_nullable_parser_nodes__TKwredef.color; +idtype18 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var14 = 1; +var16 = 1; } else { -if(cltype15 >= var_tkwredefnode3->type->table_size) { -var14 = 0; +if(cltype17 >= var_tkwredefnode3->type->table_size) { +var16 = 0; } else { -var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16; +var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; } } -if (!var14) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5496); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5676); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype18 = type_nullable_parser_nodes__AVisibility.color; -idtype19 = type_nullable_parser_nodes__AVisibility.id; +cltype20 = type_nullable_parser_nodes__AVisibility.color; +idtype21 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var17 = 1; +var19 = 1; } else { -if(cltype18 >= var_pvisibilitynode4->type->table_size) { -var17 = 0; +if(cltype20 >= var_pvisibilitynode4->type->table_size) { +var19 = 0; } else { -var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; +var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; } } -if (!var17) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5498); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5678); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype21 = type_nullable_parser_nodes__AClasskind.color; -idtype22 = type_nullable_parser_nodes__AClasskind.id; +cltype23 = type_nullable_parser_nodes__AClasskind.color; +idtype24 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var20 = 1; +var22 = 1; } else { -if(cltype21 >= var_pclasskindnode5->type->table_size) { -var20 = 0; +if(cltype23 >= var_pclasskindnode5->type->table_size) { +var22 = 0; } else { -var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; +var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; } } -if (!var20) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5500); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5680); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist8; /* isa nullable TClassid */ -cltype24 = type_nullable_parser_nodes__TClassid.color; -idtype25 = type_nullable_parser_nodes__TClassid.id; +cltype26 = type_nullable_parser_nodes__TClassid.color; +idtype27 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var23 = 1; +var25 = 1; } else { -if(cltype24 >= var_tclassidnode6->type->table_size) { -var23 = 0; +if(cltype26 >= var_tclassidnode6->type->table_size) { +var25 = 0; } else { -var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; +var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; } } -if (!var23) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5502); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5682); +show_backtrace(1); } -var_pexterncodeblocknode9 = var_nodearraylist7; +var_pexterncodeblocknode9 = var_nodearraylist9; /* isa nullable AExternCodeBlock */ -cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id; +cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id; if(var_pexterncodeblocknode9 == NULL) { -var26 = 1; +var28 = 1; } else { -if(cltype27 >= var_pexterncodeblocknode9->type->table_size) { -var26 = 0; +if(cltype29 >= var_pexterncodeblocknode9->type->table_size) { +var28 = 0; } else { -var26 = var_pexterncodeblocknode9->type->type_table[cltype27] == idtype28; +var28 = var_pexterncodeblocknode9->type->type_table[cltype29] == idtype30; } } -if (!var26) { +if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5504); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5684); +show_backtrace(1); } -var_tkwendnode12 = var_nodearraylist9; +var_tkwendnode12 = var_nodearraylist11; /* isa nullable TKwend */ -cltype30 = type_nullable_parser_nodes__TKwend.color; -idtype31 = type_nullable_parser_nodes__TKwend.id; +cltype32 = type_nullable_parser_nodes__TKwend.color; +idtype33 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode12 == NULL) { -var29 = 1; +var31 = 1; } else { -if(cltype30 >= var_tkwendnode12->type->table_size) { -var29 = 0; +if(cltype32 >= var_tkwendnode12->type->table_size) { +var31 = 0; } else { -var29 = var_tkwendnode12->type->type_table[cltype30] == idtype31; +var31 = var_tkwendnode12->type->type_table[cltype32] == idtype33; } } -if (!var29) { +if (!var31) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5506); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5686); +show_backtrace(1); } -var32 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var33 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var32, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var33, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var32); -var_pclassdefnode1 = var32; +var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var35 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; +var_pclassdefnode1 = var34; var_node_list = var_pclassdefnode1; -var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on */; +var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction106#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction106__action(val* self, val* p0) { -parser__ReduceAction106__action(self, p0); +/* method parser#ReduceAction111#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction111__action(val* self, val* p0) { +parser__ReduceAction111__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction107#action for (self: ReduceAction107, Parser) */ -void parser__ReduceAction107__action(val* self, val* p0) { +/* method parser#ReduceAction113#action for (self: ReduceAction113, Parser) */ +void parser__ReduceAction113__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -6956,11 +6876,11 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var10 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var11 /* : Array[Object] */; -val* var_listnode10 /* var listnode10: Array[Object] */; -val* var12 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; +val* var12 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var13 /* : Bool */; int cltype; @@ -6977,20 +6897,25 @@ val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */; +val* var_listnode7 /* var listnode7: nullable Object */; short int var23 /* : Bool */; int cltype24; int idtype25; -val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : AStdClassdef */; -val* var30 /* : null */; -val* var31 /* : null */; +val* var26 /* : Array[Object] */; +val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +val* var33 /* : AStdClassdef */; +val* var34 /* : null */; +val* var35 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var32 /* : Int */; -long var33 /* : Int */; +long var36 /* : Int */; +long var37 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -7014,16 +6939,13 @@ var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) / var_nodearraylist1 = var9; var10 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode7 = var10; +var_listnode8 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode10 = var11; +var_listnode11 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode11 = var12; +var_listnode12 = var12; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -7039,8 +6961,8 @@ var13 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5542); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5722); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ @@ -7057,8 +6979,8 @@ var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; } if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5544); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5724); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ @@ -7075,10 +6997,10 @@ var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19; } if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5546); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5726); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist5; /* isa nullable TClassid */ cltype21 = type_nullable_parser_nodes__TClassid.color; idtype22 = type_nullable_parser_nodes__TClassid.id; @@ -7093,64 +7015,83 @@ var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22; } if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5548); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5728); +show_backtrace(1); } -var_pexterncodeblocknode9 = var_nodearraylist7; -/* isa nullable AExternCodeBlock */ -cltype24 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype25 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode9 == NULL) { -var23 = 1; +var_listnode7 = var_nodearraylist6; +/* isa Array[Object] */ +cltype24 = type_array__Arraykernel__Object.color; +idtype25 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var23 = 0; } else { -if(cltype24 >= var_pexterncodeblocknode9->type->table_size) { +if(cltype24 >= var_listnode7->type->table_size) { var23 = 0; } else { -var23 = var_pexterncodeblocknode9->type->type_table[cltype24] == idtype25; +var23 = var_listnode7->type->type_table[cltype24] == idtype25; } } if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5550); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5730); +show_backtrace(1); } -var_tkwendnode12 = var_nodearraylist9; -/* isa nullable TKwend */ -cltype27 = type_nullable_parser_nodes__TKwend.color; -idtype28 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode12 == NULL) { -var26 = 1; +var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var26; +var_pexterncodeblocknode10 = var_nodearraylist7; +/* isa nullable AExternCodeBlock */ +cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode10 == NULL) { +var27 = 1; } else { -if(cltype27 >= var_tkwendnode12->type->table_size) { -var26 = 0; +if(cltype28 >= var_pexterncodeblocknode10->type->table_size) { +var27 = 0; } else { -var26 = var_tkwendnode12->type->type_table[cltype27] == idtype28; +var27 = var_pexterncodeblocknode10->type->type_table[cltype28] == idtype29; } } -if (!var26) { +if (!var27) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5552); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5733); +show_backtrace(1); } -var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var30 = NULL; -var31 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var29); -var_pclassdefnode1 = var29; +var_tkwendnode13 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype31 = type_nullable_parser_nodes__TKwend.color; +idtype32 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode13 == NULL) { +var30 = 1; +} else { +if(cltype31 >= var_tkwendnode13->type->table_size) { +var30 = 0; +} else { +var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32; +} +} +if (!var30) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5735); +show_backtrace(1); +} +var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var34 = NULL; +var35 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var35, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; +var_pclassdefnode1 = var33; var_node_list = var_pclassdefnode1; -var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on */; +var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction107#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction107__action(val* self, val* p0) { -parser__ReduceAction107__action(self, p0); +/* method parser#ReduceAction113#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction113__action(val* self, val* p0) { +parser__ReduceAction113__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction108#action for (self: ReduceAction108, Parser) */ -void parser__ReduceAction108__action(val* self, val* p0) { +/* method parser#ReduceAction114#action for (self: ReduceAction114, Parser) */ +void parser__ReduceAction114__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -7175,41 +7116,49 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var11 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode10 /* var listnode10: Array[Object] */; -val* var13 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; +val* var13 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var14 /* : Bool */; int cltype; int idtype; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; short int var15 /* : Bool */; int cltype16; int idtype17; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var18 /* : Bool */; int cltype19; int idtype20; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var21 /* : Bool */; int cltype22; int idtype23; -val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var24 /* : Bool */; int cltype25; int idtype26; -val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; +val* var_listnode7 /* var listnode7: nullable Object */; short int var27 /* : Bool */; int cltype28; int idtype29; -val* var30 /* : AStdClassdef */; -val* var31 /* : null */; -val* var32 /* : null */; +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 */; +short int var34 /* : Bool */; +int cltype35; +int idtype36; +val* var37 /* : AStdClassdef */; +val* var38 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var33 /* : Int */; -long var34 /* : Int */; +long var39 /* : Int */; +long var40 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -7235,16 +7184,13 @@ var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) var_nodearraylist1 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode7 = var11; +var_listnode8 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode10 = var12; +var_listnode11 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode11 = var13; +var_listnode12 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -7260,118 +7206,154 @@ var14 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5589); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5772); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; -/* isa nullable AVisibility */ -cltype16 = type_nullable_parser_nodes__AVisibility.color; -idtype17 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { var15 = 1; } else { -if(cltype16 >= var_pvisibilitynode4->type->table_size) { +if(cltype16 >= var_tkwredefnode3->type->table_size) { var15 = 0; } else { -var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; +var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; } } if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5591); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5774); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; -/* isa nullable AClasskind */ -cltype19 = type_nullable_parser_nodes__AClasskind.color; -idtype20 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype19 = type_nullable_parser_nodes__AVisibility.color; +idtype20 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { var18 = 1; } else { -if(cltype19 >= var_pclasskindnode5->type->table_size) { +if(cltype19 >= var_pvisibilitynode4->type->table_size) { var18 = 0; } else { -var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20; +var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; } } if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5593); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5776); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; +var_pclasskindnode5 = var_nodearraylist4; +/* isa nullable AClasskind */ +cltype22 = type_nullable_parser_nodes__AClasskind.color; +idtype23 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { +var21 = 1; +} else { +if(cltype22 >= var_pclasskindnode5->type->table_size) { +var21 = 0; +} else { +var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +} +} +if (!var21) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5778); +show_backtrace(1); +} +var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype22 = type_nullable_parser_nodes__TClassid.color; -idtype23 = type_nullable_parser_nodes__TClassid.id; +cltype25 = type_nullable_parser_nodes__TClassid.color; +idtype26 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var21 = 1; +var24 = 1; +} else { +if(cltype25 >= var_tclassidnode6->type->table_size) { +var24 = 0; +} else { +var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +} +} +if (!var24) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5780); +show_backtrace(1); +} +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype28 = type_array__Arraykernel__Object.color; +idtype29 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var27 = 0; } else { -if(cltype22 >= var_tclassidnode6->type->table_size) { -var21 = 0; +if(cltype28 >= var_listnode7->type->table_size) { +var27 = 0; } else { -var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23; +var27 = var_listnode7->type->type_table[cltype28] == idtype29; } } -if (!var21) { +if (!var27) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5595); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5782); +show_backtrace(1); } -var_pexterncodeblocknode9 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode9 == NULL) { -var24 = 1; +var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var30; +var_pexterncodeblocknode10 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype32 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype33 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode10 == NULL) { +var31 = 1; } else { -if(cltype25 >= var_pexterncodeblocknode9->type->table_size) { -var24 = 0; +if(cltype32 >= var_pexterncodeblocknode10->type->table_size) { +var31 = 0; } else { -var24 = var_pexterncodeblocknode9->type->type_table[cltype25] == idtype26; +var31 = var_pexterncodeblocknode10->type->type_table[cltype32] == idtype33; } } -if (!var24) { +if (!var31) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5597); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5785); +show_backtrace(1); } -var_tkwendnode12 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype28 = type_nullable_parser_nodes__TKwend.color; -idtype29 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode12 == NULL) { -var27 = 1; +var_tkwendnode13 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype35 = type_nullable_parser_nodes__TKwend.color; +idtype36 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode13 == NULL) { +var34 = 1; } else { -if(cltype28 >= var_tkwendnode12->type->table_size) { -var27 = 0; +if(cltype35 >= var_tkwendnode13->type->table_size) { +var34 = 0; } else { -var27 = var_tkwendnode12->type->type_table[cltype28] == idtype29; +var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36; } } -if (!var27) { +if (!var34) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5599); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5787); +show_backtrace(1); } -var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var31 = NULL; -var32 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var32, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var30); -var_pclassdefnode1 = var30; +var37 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var38 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_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) /* init_astdclassdef on */; +var_pclassdefnode1 = var37; var_node_list = var_pclassdefnode1; -var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on */; +var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction108#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction108__action(val* self, val* p0) { -parser__ReduceAction108__action(self, p0); +/* method parser#ReduceAction114#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction114__action(val* self, val* p0) { +parser__ReduceAction114__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction110#action for (self: ReduceAction110, Parser) */ -void parser__ReduceAction110__action(val* self, val* p0) { +/* method parser#ReduceAction115#action for (self: ReduceAction115, Parser) */ +void parser__ReduceAction115__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -7396,44 +7378,46 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var11 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode10 /* var listnode10: Array[Object] */; -val* var13 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; +val* var13 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var14 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +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_listnode7 /* var listnode7: nullable Object */; short int var24 /* : Bool */; int cltype25; int idtype26; -val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : AStdClassdef */; -val* var34 /* : null */; +val* var27 /* : Array[Object] */; +val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: 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 /* : AStdClassdef */; +val* var35 /* : null */; +val* var36 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var35 /* : Int */; -long var36 /* : Int */; +long var37 /* : Int */; +long var38 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -7459,16 +7443,13 @@ var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) var_nodearraylist1 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode7 = var11; +var_listnode8 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode10 = var12; +var_listnode11 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode11 = var13; +var_listnode12 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -7484,135 +7465,137 @@ var14 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5636); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5824); +show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype16 = type_nullable_parser_nodes__TKwredef.color; -idtype17 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { +var_pvisibilitynode4 = var_nodearraylist2; +/* isa nullable AVisibility */ +cltype16 = type_nullable_parser_nodes__AVisibility.color; +idtype17 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { var15 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { +if(cltype16 >= var_pvisibilitynode4->type->table_size) { var15 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; } } if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5638); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5826); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype19 = type_nullable_parser_nodes__AVisibility.color; -idtype20 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { +var_pclasskindnode5 = var_nodearraylist3; +/* isa nullable AClasskind */ +cltype19 = type_nullable_parser_nodes__AClasskind.color; +idtype20 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { var18 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { +if(cltype19 >= var_pclasskindnode5->type->table_size) { var18 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20; } } if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5640); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5828); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_tclassidnode6 = var_nodearraylist6; +/* isa nullable TClassid */ +cltype22 = type_nullable_parser_nodes__TClassid.color; +idtype23 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { var21 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { +if(cltype22 >= var_tclassidnode6->type->table_size) { var21 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23; } } if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5642); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5830); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; -/* isa nullable TClassid */ -cltype25 = type_nullable_parser_nodes__TClassid.color; -idtype26 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { -var24 = 1; +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype25 = type_array__Arraykernel__Object.color; +idtype26 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var24 = 0; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { +if(cltype25 >= var_listnode7->type->table_size) { var24 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var24 = var_listnode7->type->type_table[cltype25] == idtype26; } } if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5644); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5832); +show_backtrace(1); } -var_pexterncodeblocknode9 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode9 == NULL) { -var27 = 1; +var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var27; +var_pexterncodeblocknode10 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode10 == NULL) { +var28 = 1; } else { -if(cltype28 >= var_pexterncodeblocknode9->type->table_size) { -var27 = 0; +if(cltype29 >= var_pexterncodeblocknode10->type->table_size) { +var28 = 0; } else { -var27 = var_pexterncodeblocknode9->type->type_table[cltype28] == idtype29; +var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30; } } -if (!var27) { +if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5646); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5835); +show_backtrace(1); } -var_tkwendnode12 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype31 = type_nullable_parser_nodes__TKwend.color; -idtype32 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode12 == NULL) { -var30 = 1; +var_tkwendnode13 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype32 = type_nullable_parser_nodes__TKwend.color; +idtype33 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode13 == NULL) { +var31 = 1; } else { -if(cltype31 >= var_tkwendnode12->type->table_size) { -var30 = 0; +if(cltype32 >= var_tkwendnode13->type->table_size) { +var31 = 0; } else { -var30 = var_tkwendnode12->type->type_table[cltype31] == idtype32; +var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33; } } -if (!var30) { +if (!var31) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5648); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5837); +show_backtrace(1); } -var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var34 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var34, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var33); -var_pclassdefnode1 = var33; +var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var35 = NULL; +var36 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; +var_pclassdefnode1 = var34; var_node_list = var_pclassdefnode1; -var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on */; +var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction110#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction110__action(val* self, val* p0) { -parser__ReduceAction110__action(self, p0); +/* method parser#ReduceAction115#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction115__action(val* self, val* p0) { +parser__ReduceAction115__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction111#action for (self: ReduceAction111, Parser) */ -void parser__ReduceAction111__action(val* self, val* p0) { +/* method parser#ReduceAction116#action for (self: ReduceAction116, Parser) */ +void parser__ReduceAction116__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -7639,44 +7622,46 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var12 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode10 /* var listnode10: Array[Object] */; -val* var14 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; +val* var14 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var15 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var16 /* : Bool */; int cltype17; int idtype18; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var19 /* : Bool */; int cltype20; int idtype21; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var22 /* : Bool */; int cltype23; int idtype24; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_listnode7 /* var listnode7: nullable Object */; short int var25 /* : Bool */; int cltype26; int idtype27; -val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var_tkwendnode12 /* var tkwendnode12: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var34 /* : AStdClassdef */; -val* var35 /* : null */; +val* var28 /* : Array[Object] */; +val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; +val* var35 /* : AStdClassdef */; +val* var36 /* : null */; +val* var37 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var36 /* : Int */; -long var37 /* : Int */; +long var38 /* : Int */; +long var39 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -7704,16 +7689,13 @@ var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) var_nodearraylist1 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode7 = var12; +var_listnode8 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode10 = var13; +var_listnode11 = var13; var14 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; -CHECK_NEW_array__Array(var14); -var_listnode11 = var14; +var_listnode12 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -7729,2218 +7711,2276 @@ var15 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5686); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5875); +show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype17 = type_nullable_parser_nodes__TKwredef.color; -idtype18 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { +var_pvisibilitynode4 = var_nodearraylist2; +/* isa nullable AVisibility */ +cltype17 = type_nullable_parser_nodes__AVisibility.color; +idtype18 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { var16 = 1; } else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { +if(cltype17 >= var_pvisibilitynode4->type->table_size) { var16 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18; } } if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5688); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5877); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype20 = type_nullable_parser_nodes__AVisibility.color; -idtype21 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { +var_pclasskindnode5 = var_nodearraylist3; +/* isa nullable AClasskind */ +cltype20 = type_nullable_parser_nodes__AClasskind.color; +idtype21 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { var19 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { +if(cltype20 >= var_pclasskindnode5->type->table_size) { var19 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21; } } if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5690); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5879); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype23 = type_nullable_parser_nodes__AClasskind.color; -idtype24 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_tclassidnode6 = var_nodearraylist7; +/* isa nullable TClassid */ +cltype23 = type_nullable_parser_nodes__TClassid.color; +idtype24 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { var22 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { +if(cltype23 >= var_tclassidnode6->type->table_size) { var22 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24; } } if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5692); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5881); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist8; -/* isa nullable TClassid */ -cltype26 = type_nullable_parser_nodes__TClassid.color; -idtype27 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { -var25 = 1; +var_listnode7 = var_nodearraylist8; +/* isa Array[Object] */ +cltype26 = type_array__Arraykernel__Object.color; +idtype27 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var25 = 0; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { +if(cltype26 >= var_listnode7->type->table_size) { var25 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var25 = var_listnode7->type->type_table[cltype26] == idtype27; } } if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5694); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5883); +show_backtrace(1); } -var_pexterncodeblocknode9 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode9 == NULL) { -var28 = 1; +var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var28; +var_pexterncodeblocknode10 = var_nodearraylist9; +/* isa nullable AExternCodeBlock */ +cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode10 == NULL) { +var29 = 1; } else { -if(cltype29 >= var_pexterncodeblocknode9->type->table_size) { -var28 = 0; +if(cltype30 >= var_pexterncodeblocknode10->type->table_size) { +var29 = 0; } else { -var28 = var_pexterncodeblocknode9->type->type_table[cltype29] == idtype30; +var29 = var_pexterncodeblocknode10->type->type_table[cltype30] == idtype31; } } -if (!var28) { +if (!var29) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5696); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5886); +show_backtrace(1); } -var_tkwendnode12 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype32 = type_nullable_parser_nodes__TKwend.color; -idtype33 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode12 == NULL) { -var31 = 1; +var_tkwendnode13 = var_nodearraylist11; +/* isa nullable TKwend */ +cltype33 = type_nullable_parser_nodes__TKwend.color; +idtype34 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode13 == NULL) { +var32 = 1; } else { -if(cltype32 >= var_tkwendnode12->type->table_size) { -var31 = 0; +if(cltype33 >= var_tkwendnode13->type->table_size) { +var32 = 0; } else { -var31 = var_tkwendnode12->type->type_table[cltype32] == idtype33; +var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34; } } -if (!var31) { +if (!var32) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5698); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5888); +show_backtrace(1); } -var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var35 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var34); -var_pclassdefnode1 = var34; +var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var36 = NULL; +var37 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var37, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; +var_pclassdefnode1 = var35; var_node_list = var_pclassdefnode1; -var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on */; +var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction111#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction111__action(val* self, val* p0) { -parser__ReduceAction111__action(self, p0); +/* method parser#ReduceAction116#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction116__action(val* self, val* p0) { +parser__ReduceAction116__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction113#action for (self: ReduceAction113, Parser) */ -void parser__ReduceAction113__action(val* self, val* p0) { +/* method parser#ReduceAction118#action for (self: ReduceAction118, Parser) */ +void parser__ReduceAction118__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var9 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var10 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var10 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; -val* var12 /* : Array[Object] */; +val* var14 /* : Array[Object] */; val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var13 /* : Bool */; +short int var15 /* : Bool */; int cltype; int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var22 /* : Bool */; +int cltype23; +int idtype24; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var25 /* : Bool */; +int cltype26; +int idtype27; val* var_listnode7 /* var listnode7: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var26 /* : Array[Object] */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var31 /* : Array[Object] */; val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; +short int var32 /* : Bool */; +int cltype33; +int idtype34; 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 var35 /* : Bool */; +int cltype36; +int idtype37; +val* var38 /* : AStdClassdef */; +val* var39 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var36 /* : Int */; -long var37 /* : Int */; +long var40 /* : Int */; +long var41 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var1; +var_nodearraylist11 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var2; +var_nodearraylist10 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var3; +var_nodearraylist9 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var4; +var_nodearraylist8 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var5; +var_nodearraylist7 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var6; +var_nodearraylist6 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var7; +var_nodearraylist5 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var8; +var_nodearraylist4 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var9; -var10 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode8 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode11 = var11; +var_nodearraylist3 = var9; +var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var10; +var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode12 = var12; +var_listnode8 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; +var_listnode11 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; +var_listnode12 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var13 = 1; +var15 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var13 = 0; +var15 = 0; } else { -var13 = var_pdocnode2->type->type_table[cltype] == idtype; +var15 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var13) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5734); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5926); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype17 = type_nullable_parser_nodes__TKwredef.color; +idtype18 = type_nullable_parser_nodes__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 (!var16) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5928); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype15 = type_nullable_parser_nodes__AVisibility.color; -idtype16 = type_nullable_parser_nodes__AVisibility.id; +cltype20 = type_nullable_parser_nodes__AVisibility.color; +idtype21 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var14 = 1; +var19 = 1; } else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; +if(cltype20 >= var_pvisibilitynode4->type->table_size) { +var19 = 0; } else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; } } -if (!var14) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5736); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5930); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; +var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype18 = type_nullable_parser_nodes__AClasskind.color; -idtype19 = type_nullable_parser_nodes__AClasskind.id; +cltype23 = type_nullable_parser_nodes__AClasskind.color; +idtype24 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var17 = 1; +var22 = 1; } else { -if(cltype18 >= var_pclasskindnode5->type->table_size) { -var17 = 0; +if(cltype23 >= var_pclasskindnode5->type->table_size) { +var22 = 0; } else { -var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19; +var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; } } -if (!var17) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5738); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5932); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist5; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype21 = type_nullable_parser_nodes__TClassid.color; -idtype22 = type_nullable_parser_nodes__TClassid.id; +cltype26 = type_nullable_parser_nodes__TClassid.color; +idtype27 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var20 = 1; +var25 = 1; } else { -if(cltype21 >= var_tclassidnode6->type->table_size) { -var20 = 0; +if(cltype26 >= var_tclassidnode6->type->table_size) { +var25 = 0; } else { -var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22; +var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; } } -if (!var20) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5740); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5934); +show_backtrace(1); } -var_listnode7 = var_nodearraylist6; +var_listnode7 = var_nodearraylist8; /* isa Array[Object] */ -cltype24 = type_array__Arraykernel__Object.color; -idtype25 = type_array__Arraykernel__Object.id; +cltype29 = type_array__Arraykernel__Object.color; +idtype30 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var23 = 0; +var28 = 0; } else { -if(cltype24 >= var_listnode7->type->table_size) { -var23 = 0; +if(cltype29 >= var_listnode7->type->table_size) { +var28 = 0; } else { -var23 = var_listnode7->type->type_table[cltype24] == idtype25; +var28 = var_listnode7->type->type_table[cltype29] == idtype30; } } -if (!var23) { +if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5742); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5936); +show_backtrace(1); } -var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var26; -var_pexterncodeblocknode10 = var_nodearraylist7; +var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var31; +var_pexterncodeblocknode10 = var_nodearraylist9; /* isa nullable AExternCodeBlock */ -cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id; +cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id; if(var_pexterncodeblocknode10 == NULL) { -var27 = 1; +var32 = 1; } else { -if(cltype28 >= var_pexterncodeblocknode10->type->table_size) { -var27 = 0; +if(cltype33 >= var_pexterncodeblocknode10->type->table_size) { +var32 = 0; } else { -var27 = var_pexterncodeblocknode10->type->type_table[cltype28] == idtype29; +var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34; } } -if (!var27) { +if (!var32) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5745); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5939); +show_backtrace(1); } -var_tkwendnode13 = var_nodearraylist9; +var_tkwendnode13 = var_nodearraylist11; /* isa nullable TKwend */ -cltype31 = type_nullable_parser_nodes__TKwend.color; -idtype32 = type_nullable_parser_nodes__TKwend.id; +cltype36 = type_nullable_parser_nodes__TKwend.color; +idtype37 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode13 == NULL) { -var30 = 1; +var35 = 1; } else { -if(cltype31 >= var_tkwendnode13->type->table_size) { -var30 = 0; +if(cltype36 >= var_tkwendnode13->type->table_size) { +var35 = 0; } else { -var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32; +var35 = var_tkwendnode13->type->type_table[cltype36] == idtype37; } } -if (!var30) { +if (!var35) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5747); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5941); +show_backtrace(1); } -var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var34 = NULL; -var35 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var35, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var33); -var_pclassdefnode1 = var33; +var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var39 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; +var_pclassdefnode1 = var38; var_node_list = var_pclassdefnode1; -var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on */; +var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction113#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction113__action(val* self, val* p0) { -parser__ReduceAction113__action(self, p0); +/* method parser#ReduceAction118#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction118__action(val* self, val* p0) { +parser__ReduceAction118__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction114#action for (self: ReduceAction114, Parser) */ -void parser__ReduceAction114__action(val* self, val* p0) { +/* method parser#ReduceAction119#action for (self: ReduceAction119, Parser) */ +void parser__ReduceAction119__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* var_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var9 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var10 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var11 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var12 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; -val* var12 /* : Array[Object] */; +val* var14 /* : Array[Object] */; val* var_listnode11 /* var listnode11: Array[Object] */; -val* var13 /* : Array[Object] */; +val* var15 /* : Array[Object] */; val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +short int var16 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; +short int var23 /* : Bool */; +int cltype24; +int idtype25; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; +short int var26 /* : Bool */; +int cltype27; +int idtype28; val* var_listnode7 /* var listnode7: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : Array[Object] */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var32 /* : Array[Object] */; val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; +short int var33 /* : Bool */; +int cltype34; +int idtype35; val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -val* var37 /* : AStdClassdef */; -val* var38 /* : null */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +val* var39 /* : AStdClassdef */; +val* var40 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var39 /* : Int */; -long var40 /* : Int */; +long var41 /* : Int */; +long var42 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var1; +var_nodearraylist12 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var2; +var_nodearraylist11 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var3; +var_nodearraylist10 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var4; +var_nodearraylist9 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var5; +var_nodearraylist8 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var6; +var_nodearraylist7 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var7; +var_nodearraylist6 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var8; +var_nodearraylist5 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var9; +var_nodearraylist4 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode8 = var11; -var12 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode11 = var12; +var_nodearraylist3 = var10; +var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var11; +var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode12 = var13; +var_listnode8 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; +var_listnode11 = var14; +var15 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on */; +var_listnode12 = var15; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var14 = 1; +var16 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; +var16 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var16 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var14) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5784); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5980); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype16 = type_nullable_parser_nodes__TKwredef.color; -idtype17 = type_nullable_parser_nodes__TKwredef.id; +cltype18 = type_nullable_parser_nodes__TKwredef.color; +idtype19 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var15 = 1; +var17 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { -var15 = 0; +if(cltype18 >= var_tkwredefnode3->type->table_size) { +var17 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; } } -if (!var15) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5786); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5982); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype19 = type_nullable_parser_nodes__AVisibility.color; -idtype20 = type_nullable_parser_nodes__AVisibility.id; +cltype21 = type_nullable_parser_nodes__AVisibility.color; +idtype22 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var18 = 1; +var20 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { -var18 = 0; +if(cltype21 >= var_pvisibilitynode4->type->table_size) { +var20 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; } } -if (!var18) { +if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5788); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5984); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; +cltype24 = type_nullable_parser_nodes__AClasskind.color; +idtype25 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var21 = 1; +var23 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; +if(cltype24 >= var_pclasskindnode5->type->table_size) { +var23 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; } } -if (!var21) { +if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5790); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5986); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist8; /* isa nullable TClassid */ -cltype25 = type_nullable_parser_nodes__TClassid.color; -idtype26 = type_nullable_parser_nodes__TClassid.id; +cltype27 = type_nullable_parser_nodes__TClassid.color; +idtype28 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var24 = 1; +var26 = 1; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { -var24 = 0; +if(cltype27 >= var_tclassidnode6->type->table_size) { +var26 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; } } -if (!var24) { +if (!var26) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5792); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5988); +show_backtrace(1); } -var_listnode7 = var_nodearraylist7; +var_listnode7 = var_nodearraylist9; /* isa Array[Object] */ -cltype28 = type_array__Arraykernel__Object.color; -idtype29 = type_array__Arraykernel__Object.id; +cltype30 = type_array__Arraykernel__Object.color; +idtype31 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var27 = 0; +var29 = 0; } else { -if(cltype28 >= var_listnode7->type->table_size) { -var27 = 0; +if(cltype30 >= var_listnode7->type->table_size) { +var29 = 0; } else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; +var29 = var_listnode7->type->type_table[cltype30] == idtype31; } } -if (!var27) { +if (!var29) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5794); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5990); +show_backtrace(1); } -var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var30; -var_pexterncodeblocknode10 = var_nodearraylist8; +var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var32; +var_pexterncodeblocknode10 = var_nodearraylist10; /* isa nullable AExternCodeBlock */ -cltype32 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype33 = type_nullable_parser_nodes__AExternCodeBlock.id; +cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id; if(var_pexterncodeblocknode10 == NULL) { -var31 = 1; +var33 = 1; } else { -if(cltype32 >= var_pexterncodeblocknode10->type->table_size) { -var31 = 0; +if(cltype34 >= var_pexterncodeblocknode10->type->table_size) { +var33 = 0; } else { -var31 = var_pexterncodeblocknode10->type->type_table[cltype32] == idtype33; +var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35; } } -if (!var31) { +if (!var33) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5797); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5993); +show_backtrace(1); } -var_tkwendnode13 = var_nodearraylist10; +var_tkwendnode13 = var_nodearraylist12; /* isa nullable TKwend */ -cltype35 = type_nullable_parser_nodes__TKwend.color; -idtype36 = type_nullable_parser_nodes__TKwend.id; +cltype37 = type_nullable_parser_nodes__TKwend.color; +idtype38 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode13 == NULL) { -var34 = 1; +var36 = 1; } else { -if(cltype35 >= var_tkwendnode13->type->table_size) { -var34 = 0; +if(cltype37 >= var_tkwendnode13->type->table_size) { +var36 = 0; } else { -var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36; +var36 = var_tkwendnode13->type->type_table[cltype37] == idtype38; } } -if (!var34) { +if (!var36) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5799); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5995); +show_backtrace(1); } -var37 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var38 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_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) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var37); -var_pclassdefnode1 = var37; +var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var40 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; +var_pclassdefnode1 = var39; var_node_list = var_pclassdefnode1; -var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on */; +var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction114#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction114__action(val* self, val* p0) { -parser__ReduceAction114__action(self, p0); +/* method parser#ReduceAction119#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction119__action(val* self, val* p0) { +parser__ReduceAction119__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction115#action for (self: ReduceAction115, Parser) */ -void parser__ReduceAction115__action(val* self, val* p0) { +/* method parser#ReduceAction121#action for (self: ReduceAction121, Parser) */ +void parser__ReduceAction121__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* var2 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var10 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var11 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode15 /* var listnode15: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +short int var13 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_listnode7 /* var listnode7: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var23 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode11 /* var listnode11: nullable Object */; short int var24 /* : Bool */; int cltype25; int idtype26; val* var27 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: 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 /* : AStdClassdef */; -val* var35 /* : null */; -val* var36 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var37 /* : Int */; -long var38 /* : Int */; +val* var28 /* : AAnnotations */; +val* var29 /* : null */; +val* var30 /* : null */; +val* var31 /* : null */; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; +val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; +val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +val* var38 /* : AStdClassdef */; +val* var39 /* : null */; +val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; +long var40 /* : Int */; +long var41 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var1; +var_nodearraylist9 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var2; +var_nodearraylist8 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var3; +var_nodearraylist7 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var4; +var_nodearraylist6 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var5; +var_nodearraylist5 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var6; +var_nodearraylist4 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var7; +var_nodearraylist3 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var8; +var_nodearraylist2 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var9; -var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var10; +var_nodearraylist1 = var9; +var10 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; +var_listnode7 = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode8 = var11; +var_listnode15 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode11 = var12; -var13 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode12 = var13; +var_listnode16 = var12; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var14 = 1; +var13 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; +var13 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var13 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var14) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5836); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6031); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype16 = type_nullable_parser_nodes__AVisibility.color; -idtype17 = type_nullable_parser_nodes__AVisibility.id; +cltype15 = type_nullable_parser_nodes__AVisibility.color; +idtype16 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var15 = 1; +var14 = 1; } else { -if(cltype16 >= var_pvisibilitynode4->type->table_size) { -var15 = 0; +if(cltype15 >= var_pvisibilitynode4->type->table_size) { +var14 = 0; } else { -var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; +var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; } } -if (!var15) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5838); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6033); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ -cltype19 = type_nullable_parser_nodes__AClasskind.color; -idtype20 = type_nullable_parser_nodes__AClasskind.id; +cltype18 = type_nullable_parser_nodes__AClasskind.color; +idtype19 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var18 = 1; +var17 = 1; } else { -if(cltype19 >= var_pclasskindnode5->type->table_size) { -var18 = 0; +if(cltype18 >= var_pclasskindnode5->type->table_size) { +var17 = 0; } else { -var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20; +var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19; } } -if (!var18) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5840); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6035); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist5; /* isa nullable TClassid */ -cltype22 = type_nullable_parser_nodes__TClassid.color; -idtype23 = type_nullable_parser_nodes__TClassid.id; +cltype21 = type_nullable_parser_nodes__TClassid.color; +idtype22 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var21 = 1; +var20 = 1; } else { -if(cltype22 >= var_tclassidnode6->type->table_size) { -var21 = 0; +if(cltype21 >= var_tclassidnode6->type->table_size) { +var20 = 0; } else { -var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23; +var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22; } } -if (!var21) { +if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5842); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6037); +show_backtrace(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ +var23 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on */; +var_listnode12 = var23; +var_listnode11 = var_nodearraylist6; +/* isa Array[Object] */ cltype25 = type_array__Arraykernel__Object.color; idtype26 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { +if(var_listnode11 == NULL) { var24 = 0; } else { -if(cltype25 >= var_listnode7->type->table_size) { +if(cltype25 >= var_listnode11->type->table_size) { var24 = 0; } else { -var24 = var_listnode7->type->type_table[cltype25] == idtype26; +var24 = var_listnode11->type->type_table[cltype25] == idtype26; } } if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5844); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6040); +show_backtrace(1); } -var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var27; -var_pexterncodeblocknode10 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var28 = 1; +var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var27; +var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var29 = NULL; +var30 = NULL; +var31 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var28, var29, var30, var_listnode12, var31) /* init_aannotations on */; +var_pannotationsnode8 = var28; +var_pexterncodeblocknode14 = var_nodearraylist7; +/* isa nullable AExternCodeBlock */ +cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode14 == NULL) { +var32 = 1; } else { -if(cltype29 >= var_pexterncodeblocknode10->type->table_size) { -var28 = 0; +if(cltype33 >= var_pexterncodeblocknode14->type->table_size) { +var32 = 0; } else { -var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30; +var32 = var_pexterncodeblocknode14->type->type_table[cltype33] == idtype34; } } -if (!var28) { +if (!var32) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5847); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6049); +show_backtrace(1); } -var_tkwendnode13 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype32 = type_nullable_parser_nodes__TKwend.color; -idtype33 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode13 == NULL) { -var31 = 1; +var_tkwendnode17 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype36 = type_nullable_parser_nodes__TKwend.color; +idtype37 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode17 == NULL) { +var35 = 1; } else { -if(cltype32 >= var_tkwendnode13->type->table_size) { -var31 = 0; +if(cltype36 >= var_tkwendnode17->type->table_size) { +var35 = 0; } else { -var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33; +var35 = var_tkwendnode17->type->type_table[cltype36] == idtype37; } } -if (!var31) { +if (!var35) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5849); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6051); +show_backtrace(1); } -var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var35 = NULL; -var36 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var34); -var_pclassdefnode1 = var34; +var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var39 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var39, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; +var_pclassdefnode1 = var38; var_node_list = var_pclassdefnode1; -var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on */; +var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction115#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction115__action(val* self, val* p0) { -parser__ReduceAction115__action(self, p0); +/* method parser#ReduceAction121#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction121__action(val* self, val* p0) { +parser__ReduceAction121__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction116#action for (self: ReduceAction116, Parser) */ -void parser__ReduceAction116__action(val* self, val* p0) { +/* method parser#ReduceAction122#action for (self: ReduceAction122, Parser) */ +void parser__ReduceAction122__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* var2 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var11 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode15 /* var listnode15: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var14 /* : 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 var16 /* : Bool */; -int cltype17; -int idtype18; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var21 /* : Bool */; +int cltype22; +int idtype23; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : AStdClassdef */; -val* var36 /* : null */; -val* var37 /* : null */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var27 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode11 /* var listnode11: nullable Object */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var31 /* : Array[Object] */; +val* var32 /* : AAnnotations */; +val* var33 /* : null */; +val* var34 /* : null */; +val* var35 /* : null */; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; +val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; +short int var39 /* : Bool */; +int cltype40; +int idtype41; +val* var42 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var38 /* : Int */; -long var39 /* : Int */; +long var43 /* : Int */; +long var44 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var1; +var_nodearraylist10 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var2; +var_nodearraylist9 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var3; +var_nodearraylist8 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var4; +var_nodearraylist7 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var5; +var_nodearraylist6 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var6; +var_nodearraylist5 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var7; +var_nodearraylist4 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var8; +var_nodearraylist3 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var9; +var_nodearraylist2 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var10; -var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var11; +var_nodearraylist1 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; +var_listnode7 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode8 = var12; +var_listnode15 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode11 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; -CHECK_NEW_array__Array(var14); -var_listnode12 = var14; +var_listnode16 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var14 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { +var14 = 0; +} else { +var14 = var_pdocnode2->type->type_table[cltype] == idtype; +} +} +if (!var14) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6088); +show_backtrace(1); +} +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var15 = 1; +} else { +if(cltype16 >= var_tkwredefnode3->type->table_size) { var15 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; } } if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5887); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6090); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; +var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype17 = type_nullable_parser_nodes__AVisibility.color; -idtype18 = type_nullable_parser_nodes__AVisibility.id; +cltype19 = type_nullable_parser_nodes__AVisibility.color; +idtype20 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var16 = 1; +var18 = 1; } else { -if(cltype17 >= var_pvisibilitynode4->type->table_size) { -var16 = 0; +if(cltype19 >= var_pvisibilitynode4->type->table_size) { +var18 = 0; } else { -var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18; +var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; } } -if (!var16) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5889); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6092); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; +var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype20 = type_nullable_parser_nodes__AClasskind.color; -idtype21 = type_nullable_parser_nodes__AClasskind.id; +cltype22 = type_nullable_parser_nodes__AClasskind.color; +idtype23 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var19 = 1; +var21 = 1; } else { -if(cltype20 >= var_pclasskindnode5->type->table_size) { -var19 = 0; +if(cltype22 >= var_pclasskindnode5->type->table_size) { +var21 = 0; } else { -var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21; +var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; } } -if (!var19) { +if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5891); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6094); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; +var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype23 = type_nullable_parser_nodes__TClassid.color; -idtype24 = type_nullable_parser_nodes__TClassid.id; +cltype25 = type_nullable_parser_nodes__TClassid.color; +idtype26 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var22 = 1; +var24 = 1; } else { -if(cltype23 >= var_tclassidnode6->type->table_size) { -var22 = 0; +if(cltype25 >= var_tclassidnode6->type->table_size) { +var24 = 0; } else { -var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24; +var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; } } -if (!var22) { +if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5893); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6096); +show_backtrace(1); } -var_listnode7 = var_nodearraylist8; -/* isa Array[Object] */ -cltype26 = type_array__Arraykernel__Object.color; -idtype27 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var25 = 0; +var27 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on */; +var_listnode12 = var27; +var_listnode11 = var_nodearraylist7; +/* isa Array[Object] */ +cltype29 = type_array__Arraykernel__Object.color; +idtype30 = type_array__Arraykernel__Object.id; +if(var_listnode11 == NULL) { +var28 = 0; } else { -if(cltype26 >= var_listnode7->type->table_size) { -var25 = 0; +if(cltype29 >= var_listnode11->type->table_size) { +var28 = 0; } else { -var25 = var_listnode7->type->type_table[cltype26] == idtype27; +var28 = var_listnode11->type->type_table[cltype29] == idtype30; } } -if (!var25) { +if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5895); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6099); +show_backtrace(1); } -var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var28; -var_pexterncodeblocknode10 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var29 = 1; +var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var31; +var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var33 = NULL; +var34 = NULL; +var35 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode12, var35) /* init_aannotations on */; +var_pannotationsnode8 = var32; +var_pexterncodeblocknode14 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype37 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype38 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode14 == NULL) { +var36 = 1; } else { -if(cltype30 >= var_pexterncodeblocknode10->type->table_size) { -var29 = 0; +if(cltype37 >= var_pexterncodeblocknode14->type->table_size) { +var36 = 0; } else { -var29 = var_pexterncodeblocknode10->type->type_table[cltype30] == idtype31; +var36 = var_pexterncodeblocknode14->type->type_table[cltype37] == idtype38; } } -if (!var29) { +if (!var36) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5898); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6108); +show_backtrace(1); } -var_tkwendnode13 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype33 = type_nullable_parser_nodes__TKwend.color; -idtype34 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode13 == NULL) { -var32 = 1; +var_tkwendnode17 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype40 = type_nullable_parser_nodes__TKwend.color; +idtype41 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode17 == NULL) { +var39 = 1; } else { -if(cltype33 >= var_tkwendnode13->type->table_size) { -var32 = 0; +if(cltype40 >= var_tkwendnode17->type->table_size) { +var39 = 0; } else { -var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34; +var39 = var_tkwendnode17->type->type_table[cltype40] == idtype41; } } -if (!var32) { +if (!var39) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5900); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6110); +show_backtrace(1); } -var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var36 = NULL; -var37 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var37, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var35); -var_pclassdefnode1 = var35; +var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var42->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; +var_pclassdefnode1 = var42; var_node_list = var_pclassdefnode1; -var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on */; +var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction116#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction116__action(val* self, val* p0) { -parser__ReduceAction116__action(self, p0); +/* method parser#ReduceAction122#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction122__action(val* self, val* p0) { +parser__ReduceAction122__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction118#action for (self: ReduceAction118, Parser) */ -void parser__ReduceAction118__action(val* self, val* p0) { +/* method parser#ReduceAction123#action for (self: ReduceAction123, Parser) */ +void parser__ReduceAction123__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* var2 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var11 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode15 /* var listnode15: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var14 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var24 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode11 /* var listnode11: 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 var32 /* : Bool */; -int cltype33; -int idtype34; -val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -val* var38 /* : AStdClassdef */; -val* var39 /* : null */; +val* var28 /* : Array[Object] */; +val* var29 /* : AAnnotations */; +val* var30 /* : null */; +val* var31 /* : null */; +val* var32 /* : null */; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; +val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; +short int var33 /* : Bool */; +int cltype34; +int idtype35; +val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +val* var39 /* : AStdClassdef */; +val* var40 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var40 /* : Int */; long var41 /* : Int */; +long var42 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var1; +var_nodearraylist10 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var2; +var_nodearraylist9 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var3; +var_nodearraylist8 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var4; +var_nodearraylist7 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var5; +var_nodearraylist6 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var6; +var_nodearraylist5 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var7; +var_nodearraylist4 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var8; +var_nodearraylist3 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var9; +var_nodearraylist2 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var10; -var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var11; +var_nodearraylist1 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; +var_listnode7 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode8 = var12; +var_listnode15 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode11 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; -CHECK_NEW_array__Array(var14); -var_listnode12 = var14; +var_listnode16 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var14 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; -} else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (!var15) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5938); -exit(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype17 = type_nullable_parser_nodes__TKwredef.color; -idtype18 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var16 = 1; -} else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; +var14 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var14 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var16) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5940); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6147); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; +var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype20 = type_nullable_parser_nodes__AVisibility.color; -idtype21 = type_nullable_parser_nodes__AVisibility.id; +cltype16 = type_nullable_parser_nodes__AVisibility.color; +idtype17 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var15 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype16 >= var_pvisibilitynode4->type->table_size) { +var15 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; } } -if (!var19) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5942); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6149); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; +var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ -cltype23 = type_nullable_parser_nodes__AClasskind.color; -idtype24 = type_nullable_parser_nodes__AClasskind.id; +cltype19 = type_nullable_parser_nodes__AClasskind.color; +idtype20 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var22 = 1; +var18 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype19 >= var_pclasskindnode5->type->table_size) { +var18 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20; } } -if (!var22) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5944); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6151); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; +var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype26 = type_nullable_parser_nodes__TClassid.color; -idtype27 = type_nullable_parser_nodes__TClassid.id; +cltype22 = type_nullable_parser_nodes__TClassid.color; +idtype23 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var25 = 1; +var21 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; +if(cltype22 >= var_tclassidnode6->type->table_size) { +var21 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23; } } -if (!var25) { +if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5946); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6153); +show_backtrace(1); } -var_listnode7 = var_nodearraylist8; -/* isa Array[Object] */ -cltype29 = type_array__Arraykernel__Object.color; -idtype30 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var28 = 0; +var24 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on */; +var_listnode12 = var24; +var_listnode11 = var_nodearraylist7; +/* isa Array[Object] */ +cltype26 = type_array__Arraykernel__Object.color; +idtype27 = type_array__Arraykernel__Object.id; +if(var_listnode11 == NULL) { +var25 = 0; } else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; +if(cltype26 >= var_listnode11->type->table_size) { +var25 = 0; } else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var25 = var_listnode11->type->type_table[cltype26] == idtype27; } } -if (!var28) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5948); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6156); +show_backtrace(1); } -var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var31; -var_pexterncodeblocknode10 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var32 = 1; +var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var28; +var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var30 = NULL; +var31 = NULL; +var32 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var29, var30, var31, var_listnode12, var32) /* init_aannotations on */; +var_pannotationsnode8 = var29; +var_pexterncodeblocknode14 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode14 == NULL) { +var33 = 1; } else { -if(cltype33 >= var_pexterncodeblocknode10->type->table_size) { -var32 = 0; +if(cltype34 >= var_pexterncodeblocknode14->type->table_size) { +var33 = 0; } else { -var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34; +var33 = var_pexterncodeblocknode14->type->type_table[cltype34] == idtype35; } } -if (!var32) { +if (!var33) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5951); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6165); +show_backtrace(1); } -var_tkwendnode13 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype36 = type_nullable_parser_nodes__TKwend.color; -idtype37 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode13 == NULL) { -var35 = 1; +var_tkwendnode17 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype37 = type_nullable_parser_nodes__TKwend.color; +idtype38 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode17 == NULL) { +var36 = 1; } else { -if(cltype36 >= var_tkwendnode13->type->table_size) { -var35 = 0; +if(cltype37 >= var_tkwendnode17->type->table_size) { +var36 = 0; } else { -var35 = var_tkwendnode13->type->type_table[cltype36] == idtype37; +var36 = var_tkwendnode17->type->type_table[cltype37] == idtype38; } } -if (!var35) { +if (!var36) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5953); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6167); +show_backtrace(1); } -var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var39 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var38); -var_pclassdefnode1 = var38; +var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var40 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; +var_pclassdefnode1 = var39; var_node_list = var_pclassdefnode1; -var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on */; +var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction118#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction118__action(val* self, val* p0) { -parser__ReduceAction118__action(self, p0); +/* method parser#ReduceAction123#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction123__action(val* self, val* p0) { +parser__ReduceAction123__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction119#action for (self: ReduceAction119, Parser) */ -void parser__ReduceAction119__action(val* self, val* p0) { +/* method parser#ReduceAction124#action for (self: ReduceAction124, Parser) */ +void parser__ReduceAction124__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* var2 /* : nullable Object */; val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var11 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var12 /* : nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var12 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode15 /* var listnode15: Array[Object] */; val* var14 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var15 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var16 /* : Bool */; +short int var15 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var25 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode11 /* var listnode11: 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_tkwendnode13 /* var tkwendnode13: nullable Object */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; -val* var39 /* : AStdClassdef */; -val* var40 /* : null */; +val* var29 /* : Array[Object] */; +val* var30 /* : AAnnotations */; +val* var31 /* : null */; +val* var32 /* : null */; +val* var33 /* : null */; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; +val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; +short int var34 /* : Bool */; +int cltype35; +int idtype36; +val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +val* var40 /* : AStdClassdef */; +val* var41 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var41 /* : Int */; long var42 /* : Int */; +long var43 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist12 = var1; +var_nodearraylist11 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var2; +var_nodearraylist10 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var3; +var_nodearraylist9 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var4; +var_nodearraylist8 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var5; +var_nodearraylist7 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var6; +var_nodearraylist6 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var7; +var_nodearraylist5 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var8; +var_nodearraylist4 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var9; +var_nodearraylist3 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var10; +var_nodearraylist2 = var10; var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var11; -var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var12; +var_nodearraylist1 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; +var_listnode7 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode8 = var13; +var_listnode15 = var13; var14 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; -CHECK_NEW_array__Array(var14); -var_listnode11 = var14; -var15 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on */; -CHECK_NEW_array__Array(var15); -var_listnode12 = var15; +var_listnode16 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var16 = 1; +var15 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var16 = 0; -} else { -var16 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (!var16) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5992); -exit(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype18 = type_nullable_parser_nodes__TKwredef.color; -idtype19 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var17 = 1; -} else { -if(cltype18 >= var_tkwredefnode3->type->table_size) { -var17 = 0; +var15 = 0; } else { -var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; +var15 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var17) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5994); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6205); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; +var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype21 = type_nullable_parser_nodes__AVisibility.color; -idtype22 = type_nullable_parser_nodes__AVisibility.id; +cltype17 = type_nullable_parser_nodes__AVisibility.color; +idtype18 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var20 = 1; +var16 = 1; } else { -if(cltype21 >= var_pvisibilitynode4->type->table_size) { -var20 = 0; +if(cltype17 >= var_pvisibilitynode4->type->table_size) { +var16 = 0; } else { -var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; +var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18; } } -if (!var20) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5996); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6207); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; +var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ -cltype24 = type_nullable_parser_nodes__AClasskind.color; -idtype25 = type_nullable_parser_nodes__AClasskind.id; +cltype20 = type_nullable_parser_nodes__AClasskind.color; +idtype21 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var23 = 1; +var19 = 1; } else { -if(cltype24 >= var_pclasskindnode5->type->table_size) { -var23 = 0; +if(cltype20 >= var_pclasskindnode5->type->table_size) { +var19 = 0; } else { -var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; +var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21; } } -if (!var23) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5998); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6209); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist8; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype27 = type_nullable_parser_nodes__TClassid.color; -idtype28 = type_nullable_parser_nodes__TClassid.id; +cltype23 = type_nullable_parser_nodes__TClassid.color; +idtype24 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var26 = 1; +var22 = 1; } else { -if(cltype27 >= var_tclassidnode6->type->table_size) { -var26 = 0; +if(cltype23 >= var_tclassidnode6->type->table_size) { +var22 = 0; } else { -var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; +var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24; } } -if (!var26) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6000); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6211); +show_backtrace(1); } -var_listnode7 = var_nodearraylist9; -/* isa Array[Object] */ -cltype30 = type_array__Arraykernel__Object.color; -idtype31 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var29 = 0; +var25 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on */; +var_listnode12 = var25; +var_listnode11 = var_nodearraylist8; +/* isa Array[Object] */ +cltype27 = type_array__Arraykernel__Object.color; +idtype28 = type_array__Arraykernel__Object.id; +if(var_listnode11 == NULL) { +var26 = 0; } else { -if(cltype30 >= var_listnode7->type->table_size) { -var29 = 0; +if(cltype27 >= var_listnode11->type->table_size) { +var26 = 0; } else { -var29 = var_listnode7->type->type_table[cltype30] == idtype31; +var26 = var_listnode11->type->type_table[cltype27] == idtype28; } } -if (!var29) { +if (!var26) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6002); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6214); +show_backtrace(1); } -var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var32; -var_pexterncodeblocknode10 = var_nodearraylist10; -/* isa nullable AExternCodeBlock */ -cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var33 = 1; +var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var29; +var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var31 = NULL; +var32 = NULL; +var33 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var30, var31, var32, var_listnode12, var33) /* init_aannotations on */; +var_pannotationsnode8 = var30; +var_pexterncodeblocknode14 = var_nodearraylist9; +/* isa nullable AExternCodeBlock */ +cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode14 == NULL) { +var34 = 1; } else { -if(cltype34 >= var_pexterncodeblocknode10->type->table_size) { -var33 = 0; +if(cltype35 >= var_pexterncodeblocknode14->type->table_size) { +var34 = 0; } else { -var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35; +var34 = var_pexterncodeblocknode14->type->type_table[cltype35] == idtype36; } } -if (!var33) { +if (!var34) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6005); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6223); +show_backtrace(1); } -var_tkwendnode13 = var_nodearraylist12; -/* isa nullable TKwend */ -cltype37 = type_nullable_parser_nodes__TKwend.color; -idtype38 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode13 == NULL) { -var36 = 1; +var_tkwendnode17 = var_nodearraylist11; +/* isa nullable TKwend */ +cltype38 = type_nullable_parser_nodes__TKwend.color; +idtype39 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode17 == NULL) { +var37 = 1; } else { -if(cltype37 >= var_tkwendnode13->type->table_size) { -var36 = 0; +if(cltype38 >= var_tkwendnode17->type->table_size) { +var37 = 0; } else { -var36 = var_tkwendnode13->type->type_table[cltype37] == idtype38; +var37 = var_tkwendnode17->type->type_table[cltype38] == idtype39; } } -if (!var36) { +if (!var37) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6007); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6225); +show_backtrace(1); } -var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var40 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var39); -var_pclassdefnode1 = var39; +var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var41 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; +var_pclassdefnode1 = var40; var_node_list = var_pclassdefnode1; -var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on */; +var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction119#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction119__action(val* self, val* p0) { -parser__ReduceAction119__action(self, p0); +/* method parser#ReduceAction124#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction124__action(val* self, val* p0) { +parser__ReduceAction124__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction121#action for (self: ReduceAction121, Parser) */ -void parser__ReduceAction121__action(val* self, val* p0) { +/* method parser#ReduceAction126#action for (self: ReduceAction126, Parser) */ +void parser__ReduceAction126__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var8 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var9 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var10 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode15 /* var listnode15: Array[Object] */; -val* var12 /* : Array[Object] */; +val* var14 /* : Array[Object] */; val* var_listnode16 /* var listnode16: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var13 /* : Bool */; +short int var15 /* : Bool */; int cltype; int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var22 /* : Bool */; +int cltype23; +int idtype24; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var23 /* : Array[Object] */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var28 /* : Array[Object] */; val* var_listnode12 /* var listnode12: Array[Object] */; val* var_listnode11 /* var listnode11: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var27 /* : Array[Object] */; -val* var28 /* : AAnnotations */; -val* var29 /* : null */; -val* var30 /* : null */; -val* var31 /* : null */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var32 /* : Array[Object] */; +val* var33 /* : AAnnotations */; +val* var34 /* : null */; +val* var35 /* : null */; +val* var36 /* : null */; val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; +short int var37 /* : Bool */; +int cltype38; +int idtype39; val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -val* var38 /* : AStdClassdef */; -val* var39 /* : null */; +short int var40 /* : Bool */; +int cltype41; +int idtype42; +val* var43 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var40 /* : Int */; -long var41 /* : Int */; +long var44 /* : Int */; +long var45 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var1; +var_nodearraylist11 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var2; +var_nodearraylist10 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var3; +var_nodearraylist9 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var4; +var_nodearraylist8 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var5; +var_nodearraylist7 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var6; +var_nodearraylist6 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var7; +var_nodearraylist5 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var8; +var_nodearraylist4 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var9; -var10 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on */; -CHECK_NEW_array__Array(var10); -var_listnode7 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode15 = var11; +var_nodearraylist3 = var9; +var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var10; +var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode16 = var12; +var_listnode7 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; +var_listnode15 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; +var_listnode16 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var13 = 1; +var15 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var13 = 0; +var15 = 0; } else { -var13 = var_pdocnode2->type->type_table[cltype] == idtype; +var15 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var13) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6043); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6263); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype17 = type_nullable_parser_nodes__TKwredef.color; +idtype18 = type_nullable_parser_nodes__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 (!var16) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6265); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype15 = type_nullable_parser_nodes__AVisibility.color; -idtype16 = type_nullable_parser_nodes__AVisibility.id; +cltype20 = type_nullable_parser_nodes__AVisibility.color; +idtype21 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var14 = 1; +var19 = 1; } else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; +if(cltype20 >= var_pvisibilitynode4->type->table_size) { +var19 = 0; } else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; } } -if (!var14) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6045); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6267); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; +var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype18 = type_nullable_parser_nodes__AClasskind.color; -idtype19 = type_nullable_parser_nodes__AClasskind.id; +cltype23 = type_nullable_parser_nodes__AClasskind.color; +idtype24 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var17 = 1; +var22 = 1; } else { -if(cltype18 >= var_pclasskindnode5->type->table_size) { -var17 = 0; +if(cltype23 >= var_pclasskindnode5->type->table_size) { +var22 = 0; } else { -var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19; +var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; } } -if (!var17) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6047); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6269); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist5; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype21 = type_nullable_parser_nodes__TClassid.color; -idtype22 = type_nullable_parser_nodes__TClassid.id; +cltype26 = type_nullable_parser_nodes__TClassid.color; +idtype27 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var20 = 1; +var25 = 1; } else { -if(cltype21 >= var_tclassidnode6->type->table_size) { -var20 = 0; +if(cltype26 >= var_tclassidnode6->type->table_size) { +var25 = 0; } else { -var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22; +var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; } } -if (!var20) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6049); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6271); +show_backtrace(1); } -var23 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on */; -CHECK_NEW_array__Array(var23); -var_listnode12 = var23; -var_listnode11 = var_nodearraylist6; +var28 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on */; +var_listnode12 = var28; +var_listnode11 = var_nodearraylist8; /* isa Array[Object] */ -cltype25 = type_array__Arraykernel__Object.color; -idtype26 = type_array__Arraykernel__Object.id; +cltype30 = type_array__Arraykernel__Object.color; +idtype31 = type_array__Arraykernel__Object.id; if(var_listnode11 == NULL) { -var24 = 0; +var29 = 0; } else { -if(cltype25 >= var_listnode11->type->table_size) { -var24 = 0; +if(cltype30 >= var_listnode11->type->table_size) { +var29 = 0; } else { -var24 = var_listnode11->type->type_table[cltype25] == idtype26; +var29 = var_listnode11->type->type_table[cltype30] == idtype31; } } -if (!var24) { +if (!var29) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6052); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6274); +show_backtrace(1); } -var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var27; -var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var29 = NULL; -var30 = NULL; -var31 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var28, var29, var30, var_listnode12, var31) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var28); -var_pannotationsnode8 = var28; -var_pexterncodeblocknode14 = var_nodearraylist7; +var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var32; +var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var34 = NULL; +var35 = NULL; +var36 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode12, var36) /* init_aannotations on */; +var_pannotationsnode8 = var33; +var_pexterncodeblocknode14 = var_nodearraylist9; /* isa nullable AExternCodeBlock */ -cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id; +cltype38 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype39 = type_nullable_parser_nodes__AExternCodeBlock.id; if(var_pexterncodeblocknode14 == NULL) { -var32 = 1; +var37 = 1; } else { -if(cltype33 >= var_pexterncodeblocknode14->type->table_size) { -var32 = 0; +if(cltype38 >= var_pexterncodeblocknode14->type->table_size) { +var37 = 0; } else { -var32 = var_pexterncodeblocknode14->type->type_table[cltype33] == idtype34; +var37 = var_pexterncodeblocknode14->type->type_table[cltype38] == idtype39; } } -if (!var32) { +if (!var37) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6061); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6283); +show_backtrace(1); } -var_tkwendnode17 = var_nodearraylist9; +var_tkwendnode17 = var_nodearraylist11; /* isa nullable TKwend */ -cltype36 = type_nullable_parser_nodes__TKwend.color; -idtype37 = type_nullable_parser_nodes__TKwend.id; +cltype41 = type_nullable_parser_nodes__TKwend.color; +idtype42 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode17 == NULL) { -var35 = 1; +var40 = 1; } else { -if(cltype36 >= var_tkwendnode17->type->table_size) { -var35 = 0; +if(cltype41 >= var_tkwendnode17->type->table_size) { +var40 = 0; } else { -var35 = var_tkwendnode17->type->type_table[cltype36] == idtype37; +var40 = var_tkwendnode17->type->type_table[cltype41] == idtype42; } } -if (!var35) { +if (!var40) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6063); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6285); +show_backtrace(1); } -var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var39 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var39, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var38); -var_pclassdefnode1 = var38; +var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; +var_pclassdefnode1 = var43; var_node_list = var_pclassdefnode1; -var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on */; +var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction121#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction121__action(val* self, val* p0) { -parser__ReduceAction121__action(self, p0); +/* method parser#ReduceAction126#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction126__action(val* self, val* p0) { +parser__ReduceAction126__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction122#action for (self: ReduceAction122, Parser) */ -void parser__ReduceAction122__action(val* self, val* p0) { +/* method parser#ReduceAction127#action for (self: ReduceAction127, Parser) */ +void parser__ReduceAction127__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* var_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var9 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var10 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var11 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var12 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; -val* var12 /* : Array[Object] */; +val* var14 /* : Array[Object] */; val* var_listnode15 /* var listnode15: Array[Object] */; -val* var13 /* : Array[Object] */; +val* var15 /* : Array[Object] */; val* var_listnode16 /* var listnode16: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +short int var16 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; +short int var23 /* : Bool */; +int cltype24; +int idtype25; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var27 /* : Array[Object] */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : Array[Object] */; val* var_listnode12 /* var listnode12: Array[Object] */; val* var_listnode11 /* var listnode11: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : Array[Object] */; -val* var32 /* : AAnnotations */; -val* var33 /* : null */; -val* var34 /* : null */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +val* var33 /* : Array[Object] */; +val* var34 /* : AAnnotations */; val* var35 /* : null */; +val* var36 /* : null */; +val* var37 /* : null */; val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; +short int var38 /* : Bool */; +int cltype39; +int idtype40; val* var_tkwendnode17 /* var tkwendnode17: nullable Object */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -val* var42 /* : AStdClassdef */; +short int var41 /* : Bool */; +int cltype42; +int idtype43; +val* var44 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var43 /* : Int */; -long var44 /* : Int */; +long var45 /* : Int */; +long var46 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var1; +var_nodearraylist12 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var2; +var_nodearraylist11 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var3; +var_nodearraylist10 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var4; +var_nodearraylist9 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var5; +var_nodearraylist8 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var6; +var_nodearraylist7 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var7; +var_nodearraylist6 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var8; +var_nodearraylist5 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var9; +var_nodearraylist4 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); -var_listnode7 = var11; -var12 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on */; -CHECK_NEW_array__Array(var12); -var_listnode15 = var12; +var_nodearraylist3 = var10; +var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var11; +var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; -CHECK_NEW_array__Array(var13); -var_listnode16 = var13; +var_listnode7 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; +var_listnode15 = var14; +var15 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on */; +var_listnode16 = var15; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var14 = 1; +var16 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; +var16 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var16 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var14) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6100); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6324); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype16 = type_nullable_parser_nodes__TKwredef.color; -idtype17 = type_nullable_parser_nodes__TKwredef.id; +cltype18 = type_nullable_parser_nodes__TKwredef.color; +idtype19 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var15 = 1; +var17 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { -var15 = 0; +if(cltype18 >= var_tkwredefnode3->type->table_size) { +var17 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; } } -if (!var15) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6102); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6326); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype19 = type_nullable_parser_nodes__AVisibility.color; -idtype20 = type_nullable_parser_nodes__AVisibility.id; +cltype21 = type_nullable_parser_nodes__AVisibility.color; +idtype22 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var18 = 1; +var20 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { -var18 = 0; +if(cltype21 >= var_pvisibilitynode4->type->table_size) { +var20 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; } } -if (!var18) { +if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6104); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6328); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; +cltype24 = type_nullable_parser_nodes__AClasskind.color; +idtype25 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var21 = 1; +var23 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; +if(cltype24 >= var_pclasskindnode5->type->table_size) { +var23 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; } } -if (!var21) { +if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6106); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6330); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; +var_tclassidnode6 = var_nodearraylist8; /* isa nullable TClassid */ -cltype25 = type_nullable_parser_nodes__TClassid.color; -idtype26 = type_nullable_parser_nodes__TClassid.id; +cltype27 = type_nullable_parser_nodes__TClassid.color; +idtype28 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var24 = 1; +var26 = 1; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { -var24 = 0; +if(cltype27 >= var_tclassidnode6->type->table_size) { +var26 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; } } -if (!var24) { +if (!var26) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6108); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6332); +show_backtrace(1); } -var27 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on */; -CHECK_NEW_array__Array(var27); -var_listnode12 = var27; -var_listnode11 = var_nodearraylist7; +var29 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on */; +var_listnode12 = var29; +var_listnode11 = var_nodearraylist9; /* isa Array[Object] */ -cltype29 = type_array__Arraykernel__Object.color; -idtype30 = type_array__Arraykernel__Object.id; +cltype31 = type_array__Arraykernel__Object.color; +idtype32 = type_array__Arraykernel__Object.id; if(var_listnode11 == NULL) { -var28 = 0; +var30 = 0; } else { -if(cltype29 >= var_listnode11->type->table_size) { -var28 = 0; +if(cltype31 >= var_listnode11->type->table_size) { +var30 = 0; } else { -var28 = var_listnode11->type->type_table[cltype29] == idtype30; +var30 = var_listnode11->type->type_table[cltype31] == idtype32; } } -if (!var28) { +if (!var30) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6111); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6335); +show_backtrace(1); } -var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var31; -var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var33 = NULL; -var34 = NULL; +var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var33; +var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); var35 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode12, var35) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var32); -var_pannotationsnode8 = var32; -var_pexterncodeblocknode14 = var_nodearraylist8; +var36 = NULL; +var37 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var34, var35, var36, var_listnode12, var37) /* init_aannotations on */; +var_pannotationsnode8 = var34; +var_pexterncodeblocknode14 = var_nodearraylist10; /* isa nullable AExternCodeBlock */ -cltype37 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype38 = type_nullable_parser_nodes__AExternCodeBlock.id; +cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id; if(var_pexterncodeblocknode14 == NULL) { -var36 = 1; +var38 = 1; } else { -if(cltype37 >= var_pexterncodeblocknode14->type->table_size) { -var36 = 0; +if(cltype39 >= var_pexterncodeblocknode14->type->table_size) { +var38 = 0; } else { -var36 = var_pexterncodeblocknode14->type->type_table[cltype37] == idtype38; +var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40; } } -if (!var36) { +if (!var38) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6120); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6344); +show_backtrace(1); } -var_tkwendnode17 = var_nodearraylist10; +var_tkwendnode17 = var_nodearraylist12; /* isa nullable TKwend */ -cltype40 = type_nullable_parser_nodes__TKwend.color; -idtype41 = type_nullable_parser_nodes__TKwend.id; +cltype42 = type_nullable_parser_nodes__TKwend.color; +idtype43 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode17 == NULL) { -var39 = 1; +var41 = 1; } else { -if(cltype40 >= var_tkwendnode17->type->table_size) { -var39 = 0; +if(cltype42 >= var_tkwendnode17->type->table_size) { +var41 = 0; } else { -var39 = var_tkwendnode17->type->type_table[cltype40] == idtype41; +var41 = var_tkwendnode17->type->type_table[cltype42] == idtype43; } } -if (!var39) { +if (!var41) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6122); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6346); +show_backtrace(1); } -var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var42->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var42); -var_pclassdefnode1 = var42; +var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on */; +var_pclassdefnode1 = var44; var_node_list = var_pclassdefnode1; -var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on */; +var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction122#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction122__action(val* self, val* p0) { -parser__ReduceAction122__action(self, p0); +/* method parser#ReduceAction127#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction127__action(val* self, val* p0) { +parser__ReduceAction127__action(self, p0); RET_LABEL:; }