X-Git-Url: http://nitlanguage.org diff --git a/c_src/parser.sep.9.c b/c_src/parser.sep.9.c index 22730ce..8c2e5b3 100644 --- a/c_src/parser.sep.9.c +++ b/c_src/parser.sep.9.c @@ -1,6 +1,6 @@ #include "parser.sep.0.h" -/* method parser#ReduceAction307#action for (self: ReduceAction307, Parser) */ -void parser__ReduceAction307__action(val* self, val* p0) { +/* method parser#ReduceAction314#action for (self: ReduceAction314, Parser) */ +void parser__ReduceAction314__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -29,56 +29,65 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var12 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var13 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var14 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var15 /* : Array[Object] */; -val* var_listnode14 /* var listnode14: Array[Object] */; +val* var_listnode18 /* var listnode18: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var16 /* : Bool */; int cltype; int idtype; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; short int var17 /* : Bool */; int cltype18; int idtype19; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var23 /* : Bool */; int cltype24; int idtype25; -val* var_listnode7 /* var listnode7: nullable Object */; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var26 /* : Bool */; int cltype27; int idtype28; val* var29 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode11 /* var listnode11: nullable Object */; short int var30 /* : Bool */; int cltype31; int idtype32; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var33 /* : Bool */; -int cltype34; -int idtype35; -val* var36 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: nullable Object */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -val* var40 /* : Array[Object] */; -val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; +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 var38 /* : Bool */; +int cltype39; +int idtype40; +val* var_listnode15 /* var listnode15: nullable Object */; short int var41 /* : Bool */; int cltype42; int idtype43; -val* var44 /* : AStdClassdef */; -val* var45 /* : null */; -val* var46 /* : null */; +val* var44 /* : Array[Object] */; +val* var_listnode17 /* var listnode17: nullable Object */; +short int var45 /* : Bool */; +int cltype46; +int idtype47; +val* var48 /* : Array[Object] */; +val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; +short int var49 /* : Bool */; +int cltype50; +int idtype51; +val* var52 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var47 /* : Int */; -long var48 /* : Int */; +long var53 /* : Int */; +long var54 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -108,16 +117,13 @@ var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) 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_listnode8 = var13; +var_listnode7 = 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 = 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_listnode14 = var15; +var_listnode18 = var15; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -133,486 +139,516 @@ 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", 14182); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14474); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; -/* isa nullable AVisibility */ -cltype18 = type_nullable_parser_nodes__AVisibility.color; -idtype19 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { +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_pvisibilitynode4->type->table_size) { +if(cltype18 >= var_tkwredefnode3->type->table_size) { var17 = 0; } else { -var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; +var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; } } if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14184); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14476); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; -/* isa nullable AClasskind */ -cltype21 = type_nullable_parser_nodes__AClasskind.color; -idtype22 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype21 = type_nullable_parser_nodes__AVisibility.color; +idtype22 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { var20 = 1; } else { -if(cltype21 >= var_pclasskindnode5->type->table_size) { +if(cltype21 >= var_pvisibilitynode4->type->table_size) { var20 = 0; } else { -var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; +var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; } } if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14186); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14478); +show_backtrace(1); } -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) { +var_pclasskindnode5 = var_nodearraylist4; +/* isa nullable AClasskind */ +cltype24 = type_nullable_parser_nodes__AClasskind.color; +idtype25 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { var23 = 1; } else { -if(cltype24 >= var_tclassidnode6->type->table_size) { +if(cltype24 >= var_pclasskindnode5->type->table_size) { var23 = 0; } else { -var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; +var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; } } if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14188); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14480); +show_backtrace(1); } -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; +var_tclassidnode6 = var_nodearraylist6; +/* isa nullable TClassid */ +cltype27 = type_nullable_parser_nodes__TClassid.color; +idtype28 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { +var26 = 1; } else { -if(cltype27 >= var_listnode7->type->table_size) { +if(cltype27 >= var_tclassidnode6->type->table_size) { var26 = 0; } else { -var26 = var_listnode7->type->type_table[cltype27] == idtype28; +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", 14190); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14482); +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_pexterncodeblocknode10 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var30 = 1; +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_nodearraylist7; +/* isa Array[Object] */ +cltype31 = type_array__Arraykernel__Object.color; +idtype32 = type_array__Arraykernel__Object.id; +if(var_listnode11 == NULL) { +var30 = 0; } else { -if(cltype31 >= var_pexterncodeblocknode10->type->table_size) { +if(cltype31 >= var_listnode11->type->table_size) { var30 = 0; } else { -var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32; +var30 = var_listnode11->type->type_table[cltype31] == idtype32; } } if (!var30) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14193); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14485); +show_backtrace(1); } -var_listnode11 = var_nodearraylist9; -/* isa Array[Object] */ -cltype34 = type_array__Arraykernel__Object.color; -idtype35 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var33 = 0; +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; +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_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode14 == NULL) { +var38 = 1; } else { -if(cltype34 >= var_listnode11->type->table_size) { -var33 = 0; +if(cltype39 >= var_pexterncodeblocknode14->type->table_size) { +var38 = 0; } else { -var33 = var_listnode11->type->type_table[cltype34] == idtype35; +var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40; } } -if (!var33) { +if (!var38) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14195); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14494); +show_backtrace(1); } -var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var36; -var_listnode13 = var_nodearraylist10; -/* isa Array[Object] */ -cltype38 = type_array__Arraykernel__Object.color; -idtype39 = type_array__Arraykernel__Object.id; -if(var_listnode13 == NULL) { -var37 = 0; +var_listnode15 = var_nodearraylist9; +/* isa Array[Object] */ +cltype42 = type_array__Arraykernel__Object.color; +idtype43 = type_array__Arraykernel__Object.id; +if(var_listnode15 == NULL) { +var41 = 0; } else { -if(cltype38 >= var_listnode13->type->table_size) { -var37 = 0; +if(cltype42 >= var_listnode15->type->table_size) { +var41 = 0; } else { -var37 = var_listnode13->type->type_table[cltype38] == idtype39; +var41 = var_listnode15->type->type_table[cltype42] == idtype43; } } -if (!var37) { +if (!var41) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14198); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14496); +show_backtrace(1); } -var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on */; -var_listnode14 = var40; -var_tkwendnode15 = var_nodearraylist12; -/* isa nullable TKwend */ -cltype42 = type_nullable_parser_nodes__TKwend.color; -idtype43 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode15 == NULL) { -var41 = 1; +var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on */; +var_listnode16 = var44; +var_listnode17 = var_nodearraylist10; +/* isa Array[Object] */ +cltype46 = type_array__Arraykernel__Object.color; +idtype47 = type_array__Arraykernel__Object.id; +if(var_listnode17 == NULL) { +var45 = 0; } else { -if(cltype42 >= var_tkwendnode15->type->table_size) { -var41 = 0; +if(cltype46 >= var_listnode17->type->table_size) { +var45 = 0; } else { -var41 = var_tkwendnode15->type->type_table[cltype42] == idtype43; +var45 = var_listnode17->type->type_table[cltype46] == idtype47; } } -if (!var41) { +if (!var45) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14499); +show_backtrace(1); +} +var48 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on */; +var_listnode18 = var48; +var_tkwendnode19 = var_nodearraylist12; +/* isa nullable TKwend */ +cltype50 = type_nullable_parser_nodes__TKwend.color; +idtype51 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode19 == NULL) { +var49 = 1; +} else { +if(cltype50 >= var_tkwendnode19->type->table_size) { +var49 = 0; +} else { +var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51; +} +} +if (!var49) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14201); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14502); +show_backtrace(1); } -var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var45 = NULL; -var46 = 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, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var46, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var44); -var_pclassdefnode1 = var44; +var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var52->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on */; +var_pclassdefnode1 = var52; 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 */; +var53 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var54 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var53) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var54, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction307#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction307__action(val* self, val* p0) { -parser__ReduceAction307__action(self, p0); +/* method parser#ReduceAction314#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction314__action(val* self, val* p0) { +parser__ReduceAction314__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction308#action for (self: ReduceAction308, Parser) */ -void parser__ReduceAction308__action(val* self, val* p0) { +/* method parser#ReduceAction315#action for (self: ReduceAction315, Parser) */ +void parser__ReduceAction315__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist13 /* var nodearraylist13: nullable Object */; -val* var2 /* : nullable Object */; val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var11 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var12 /* : nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var13 /* : nullable Object */; +val* var12 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var13 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var14 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var15 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var16 /* : Array[Object] */; -val* var_listnode14 /* var listnode14: Array[Object] */; +val* var_listnode18 /* var listnode18: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var17 /* : Bool */; +short int var16 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_tclassidnode6 /* var tclassidnode6: 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* 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* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -val* var37 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: nullable Object */; +val* var31 /* : AAnnotations */; +val* var32 /* : null */; +val* var33 /* : null */; +val* var34 /* : null */; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; +val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +val* var_listnode15 /* var listnode15: nullable Object */; short int var38 /* : Bool */; int cltype39; int idtype40; val* var41 /* : Array[Object] */; -val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; +val* var_listnode17 /* var listnode17: nullable Object */; short int var42 /* : Bool */; int cltype43; int idtype44; -val* var45 /* : AStdClassdef */; -val* var46 /* : null */; -val* var47 /* : null */; +val* var45 /* : Array[Object] */; +val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; +short int var46 /* : Bool */; +int cltype47; +int idtype48; +val* var49 /* : AStdClassdef */; +val* var50 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var48 /* : Int */; -long var49 /* : Int */; +long var51 /* : Int */; +long var52 /* : 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_nodearraylist13 = var1; +var_nodearraylist12 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist12 = var2; +var_nodearraylist11 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var3; +var_nodearraylist10 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var4; +var_nodearraylist9 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var5; +var_nodearraylist8 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var6; +var_nodearraylist7 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var7; +var_nodearraylist6 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var8; +var_nodearraylist5 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var9; +var_nodearraylist4 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var10; +var_nodearraylist3 = var10; var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var11; +var_nodearraylist2 = var11; var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var12; -var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var13; +var_nodearraylist1 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on */; +var_listnode7 = 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_listnode8 = 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_listnode12 = var15; -var16 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; -CHECK_NEW_array__Array(var16); -var_listnode14 = var16; +var_listnode18 = 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) { -var17 = 1; +var16 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var17 = 0; +var16 = 0; } else { -var17 = var_pdocnode2->type->type_table[cltype] == idtype; +var16 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var17) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14241); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14541); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype19 = type_nullable_parser_nodes__AVisibility.color; -idtype20 = type_nullable_parser_nodes__AVisibility.id; +cltype18 = type_nullable_parser_nodes__AVisibility.color; +idtype19 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var18 = 1; +var17 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { -var18 = 0; +if(cltype18 >= var_pvisibilitynode4->type->table_size) { +var17 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var17 = var_pvisibilitynode4->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", 14243); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14543); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; +cltype21 = type_nullable_parser_nodes__AClasskind.color; +idtype22 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var21 = 1; +var20 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; +if(cltype21 >= var_pclasskindnode5->type->table_size) { +var20 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var20 = var_pclasskindnode5->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", 14245); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14545); +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; +cltype24 = type_nullable_parser_nodes__TClassid.color; +idtype25 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var24 = 1; +var23 = 1; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { -var24 = 0; +if(cltype24 >= var_tclassidnode6->type->table_size) { +var23 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var23 = var_tclassidnode6->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", 14247); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14547); +show_backtrace(1); } -var_listnode7 = var_nodearraylist8; -/* isa Array[Object] */ +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_listnode7 == NULL) { +if(var_listnode11 == NULL) { var27 = 0; } else { -if(cltype28 >= var_listnode7->type->table_size) { +if(cltype28 >= var_listnode11->type->table_size) { var27 = 0; } else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; +var27 = var_listnode11->type->type_table[cltype28] == idtype29; } } if (!var27) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14249); -exit(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_nodearraylist9; -/* 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(cltype32 >= var_pexterncodeblocknode10->type->table_size) { -var31 = 0; -} else { -var31 = var_pexterncodeblocknode10->type->type_table[cltype32] == idtype33; -} -} -if (!var31) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14252); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14550); +show_backtrace(1); } -var_listnode11 = var_nodearraylist10; -/* isa Array[Object] */ -cltype35 = type_array__Arraykernel__Object.color; -idtype36 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var34 = 0; +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_pexterncodeblocknode14 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype36 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype37 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode14 == NULL) { +var35 = 1; } else { -if(cltype35 >= var_listnode11->type->table_size) { -var34 = 0; +if(cltype36 >= var_pexterncodeblocknode14->type->table_size) { +var35 = 0; } else { -var34 = var_listnode11->type->type_table[cltype35] == idtype36; +var35 = var_pexterncodeblocknode14->type->type_table[cltype36] == idtype37; } } -if (!var34) { +if (!var35) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14254); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14559); +show_backtrace(1); } -var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var37; -var_listnode13 = var_nodearraylist11; -/* isa Array[Object] */ +var_listnode15 = var_nodearraylist9; +/* isa Array[Object] */ cltype39 = type_array__Arraykernel__Object.color; idtype40 = type_array__Arraykernel__Object.id; -if(var_listnode13 == NULL) { +if(var_listnode15 == NULL) { var38 = 0; } else { -if(cltype39 >= var_listnode13->type->table_size) { +if(cltype39 >= var_listnode15->type->table_size) { var38 = 0; } else { -var38 = var_listnode13->type->type_table[cltype39] == idtype40; +var38 = var_listnode15->type->type_table[cltype39] == idtype40; } } if (!var38) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14257); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14561); +show_backtrace(1); } -var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on */; -var_listnode14 = var41; -var_tkwendnode15 = var_nodearraylist13; -/* isa nullable TKwend */ -cltype43 = type_nullable_parser_nodes__TKwend.color; -idtype44 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode15 == NULL) { -var42 = 1; +var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on */; +var_listnode16 = var41; +var_listnode17 = var_nodearraylist10; +/* isa Array[Object] */ +cltype43 = type_array__Arraykernel__Object.color; +idtype44 = type_array__Arraykernel__Object.id; +if(var_listnode17 == NULL) { +var42 = 0; } else { -if(cltype43 >= var_tkwendnode15->type->table_size) { +if(cltype43 >= var_listnode17->type->table_size) { var42 = 0; } else { -var42 = var_tkwendnode15->type->type_table[cltype43] == idtype44; +var42 = var_listnode17->type->type_table[cltype43] == idtype44; } } if (!var42) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14260); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14564); +show_backtrace(1); +} +var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on */; +var_listnode18 = var45; +var_tkwendnode19 = var_nodearraylist12; +/* isa nullable TKwend */ +cltype47 = type_nullable_parser_nodes__TKwend.color; +idtype48 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode19 == NULL) { +var46 = 1; +} else { +if(cltype47 >= var_tkwendnode19->type->table_size) { +var46 = 0; +} else { +var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48; +} +} +if (!var46) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14567); +show_backtrace(1); } -var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var46 = NULL; -var47 = 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, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var47, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var45); -var_pclassdefnode1 = var45; +var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var50 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var50, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on */; +var_pclassdefnode1 = var49; var_node_list = var_pclassdefnode1; -var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on */; +var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction308#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction308__action(val* self, val* p0) { -parser__ReduceAction308__action(self, p0); +/* method parser#ReduceAction315#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction315__action(val* self, val* p0) { +parser__ReduceAction315__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction310#action for (self: ReduceAction310, Parser) */ -void parser__ReduceAction310__action(val* self, val* p0) { +/* method parser#ReduceAction316#action for (self: ReduceAction316, Parser) */ +void parser__ReduceAction316__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -643,64 +679,67 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var13 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var14 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var15 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var16 /* : Array[Object] */; -val* var_listnode14 /* var listnode14: Array[Object] */; +val* var_listnode18 /* var listnode18: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var17 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var18 /* : Bool */; int cltype19; int idtype20; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var21 /* : Bool */; int cltype22; int idtype23; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var24 /* : Bool */; int cltype25; int idtype26; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; +val* var27 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var_listnode11 /* var listnode11: nullable Object */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -val* var40 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: nullable Object */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -val* var44 /* : Array[Object] */; -val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -val* var48 /* : AStdClassdef */; -val* var49 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var50 /* : Int */; -long var51 /* : Int */; -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_nodearraylist13 = var1; +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_listnode15 /* var listnode15: nullable Object */; +short int var39 /* : Bool */; +int cltype40; +int idtype41; +val* var42 /* : Array[Object] */; +val* var_listnode17 /* var listnode17: nullable Object */; +short int var43 /* : Bool */; +int cltype44; +int idtype45; +val* var46 /* : Array[Object] */; +val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; +short int var47 /* : Bool */; +int cltype48; +int idtype49; +val* var50 /* : AStdClassdef */; +val* var51 /* : null */; +val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; +long var52 /* : Int */; +long var53 /* : 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_nodearraylist13 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; var_nodearraylist12 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; @@ -727,16 +766,13 @@ var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) var_nodearraylist1 = 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_listnode8 = var14; +var_listnode7 = 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 = var15; var16 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; -CHECK_NEW_array__Array(var16); -var_listnode14 = var16; +var_listnode18 = var16; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -752,843 +788,865 @@ var17 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14300); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14607); +show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype19 = type_nullable_parser_nodes__TKwredef.color; -idtype20 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { +var_pvisibilitynode4 = var_nodearraylist2; +/* 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_tkwredefnode3->type->table_size) { +if(cltype19 >= var_pvisibilitynode4->type->table_size) { var18 = 0; } else { -var18 = var_tkwredefnode3->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", 14302); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14609); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype22 = type_nullable_parser_nodes__AVisibility.color; -idtype23 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { +var_pclasskindnode5 = var_nodearraylist3; +/* 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_pvisibilitynode4->type->table_size) { +if(cltype22 >= var_pclasskindnode5->type->table_size) { var21 = 0; } else { -var21 = var_pvisibilitynode4->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", 14304); -exit(1); -} -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype25 = type_nullable_parser_nodes__AClasskind.color; -idtype26 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var24 = 1; -} else { -if(cltype25 >= var_pclasskindnode5->type->table_size) { -var24 = 0; -} else { -var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26; -} -} -if (!var24) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14306); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14611); +show_backtrace(1); } var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype28 = type_nullable_parser_nodes__TClassid.color; -idtype29 = type_nullable_parser_nodes__TClassid.id; +cltype25 = type_nullable_parser_nodes__TClassid.color; +idtype26 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var27 = 1; +var24 = 1; } else { -if(cltype28 >= var_tclassidnode6->type->table_size) { -var27 = 0; +if(cltype25 >= var_tclassidnode6->type->table_size) { +var24 = 0; } else { -var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29; +var24 = var_tclassidnode6->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", 14308); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14613); +show_backtrace(1); } -var_listnode7 = var_nodearraylist8; -/* isa Array[Object] */ -cltype31 = type_array__Arraykernel__Object.color; -idtype32 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var30 = 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_nodearraylist8; +/* isa Array[Object] */ +cltype29 = type_array__Arraykernel__Object.color; +idtype30 = type_array__Arraykernel__Object.id; +if(var_listnode11 == NULL) { +var28 = 0; } else { -if(cltype31 >= var_listnode7->type->table_size) { -var30 = 0; +if(cltype29 >= var_listnode11->type->table_size) { +var28 = 0; } else { -var30 = var_listnode7->type->type_table[cltype31] == idtype32; +var28 = var_listnode11->type->type_table[cltype29] == idtype30; } } -if (!var30) { +if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14310); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14616); +show_backtrace(1); } -var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var33; -var_pexterncodeblocknode10 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var34 = 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_nodearraylist9; +/* 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(cltype35 >= var_pexterncodeblocknode10->type->table_size) { -var34 = 0; +if(cltype37 >= var_pexterncodeblocknode14->type->table_size) { +var36 = 0; } else { -var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36; +var36 = var_pexterncodeblocknode14->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", 14313); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14625); +show_backtrace(1); } -var_listnode11 = var_nodearraylist10; -/* isa Array[Object] */ -cltype38 = type_array__Arraykernel__Object.color; -idtype39 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var37 = 0; +var_listnode15 = var_nodearraylist10; +/* isa Array[Object] */ +cltype40 = type_array__Arraykernel__Object.color; +idtype41 = type_array__Arraykernel__Object.id; +if(var_listnode15 == NULL) { +var39 = 0; } else { -if(cltype38 >= var_listnode11->type->table_size) { -var37 = 0; +if(cltype40 >= var_listnode15->type->table_size) { +var39 = 0; } else { -var37 = var_listnode11->type->type_table[cltype38] == idtype39; +var39 = var_listnode15->type->type_table[cltype40] == idtype41; } } -if (!var37) { +if (!var39) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14315); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14627); +show_backtrace(1); } -var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var40; -var_listnode13 = var_nodearraylist11; -/* isa Array[Object] */ -cltype42 = type_array__Arraykernel__Object.color; -idtype43 = type_array__Arraykernel__Object.id; -if(var_listnode13 == NULL) { -var41 = 0; +var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on */; +var_listnode16 = var42; +var_listnode17 = var_nodearraylist11; +/* isa Array[Object] */ +cltype44 = type_array__Arraykernel__Object.color; +idtype45 = type_array__Arraykernel__Object.id; +if(var_listnode17 == NULL) { +var43 = 0; } else { -if(cltype42 >= var_listnode13->type->table_size) { -var41 = 0; +if(cltype44 >= var_listnode17->type->table_size) { +var43 = 0; } else { -var41 = var_listnode13->type->type_table[cltype42] == idtype43; +var43 = var_listnode17->type->type_table[cltype44] == idtype45; } } -if (!var41) { +if (!var43) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14318); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14630); +show_backtrace(1); } -var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on */; -var_listnode14 = var44; -var_tkwendnode15 = var_nodearraylist13; -/* isa nullable TKwend */ -cltype46 = type_nullable_parser_nodes__TKwend.color; -idtype47 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode15 == NULL) { -var45 = 1; +var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on */; +var_listnode18 = var46; +var_tkwendnode19 = var_nodearraylist13; +/* isa nullable TKwend */ +cltype48 = type_nullable_parser_nodes__TKwend.color; +idtype49 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode19 == NULL) { +var47 = 1; } else { -if(cltype46 >= var_tkwendnode15->type->table_size) { -var45 = 0; +if(cltype48 >= var_tkwendnode19->type->table_size) { +var47 = 0; } else { -var45 = var_tkwendnode15->type->type_table[cltype46] == idtype47; +var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49; } } -if (!var45) { +if (!var47) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14321); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14633); +show_backtrace(1); } -var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var49 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var49, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var48); -var_pclassdefnode1 = var48; +var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var51 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var51, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on */; +var_pclassdefnode1 = var50; var_node_list = var_pclassdefnode1; -var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on */; +var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction310#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction310__action(val* self, val* p0) { -parser__ReduceAction310__action(self, p0); +/* method parser#ReduceAction316#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction316__action(val* self, val* p0) { +parser__ReduceAction316__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction311#action for (self: ReduceAction311, Parser) */ -void parser__ReduceAction311__action(val* self, val* p0) { +/* method parser#ReduceAction318#action for (self: ReduceAction318, Parser) */ +void parser__ReduceAction318__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_nodearraylist14 /* var nodearraylist14: nullable Object */; -val* var2 /* : nullable Object */; val* var_nodearraylist13 /* var nodearraylist13: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var11 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var12 /* : nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var13 /* : nullable Object */; +val* var12 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var14 /* : nullable Object */; +val* var13 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var14 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: Array[Object] */; val* var15 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var16 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var17 /* : Array[Object] */; -val* var_listnode14 /* var listnode14: Array[Object] */; +val* var_listnode18 /* var listnode18: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var18 /* : Bool */; +short int var17 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; +short int var21 /* : Bool */; +int cltype22; +int idtype23; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var_listnode7 /* var listnode7: nullable Object */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode11 /* var listnode11: nullable Object */; short int var31 /* : Bool */; int cltype32; int idtype33; val* var34 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var38 /* : Bool */; -int cltype39; -int idtype40; -val* var41 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: nullable Object */; +val* var35 /* : AAnnotations */; +val* var36 /* : null */; +val* var37 /* : null */; +val* var38 /* : null */; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; +val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; +short int var39 /* : Bool */; +int cltype40; +int idtype41; +val* var_listnode15 /* var listnode15: nullable Object */; short int var42 /* : Bool */; int cltype43; int idtype44; val* var45 /* : Array[Object] */; -val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; +val* var_listnode17 /* var listnode17: nullable Object */; short int var46 /* : Bool */; int cltype47; int idtype48; -val* var49 /* : AStdClassdef */; -val* var50 /* : null */; +val* var49 /* : Array[Object] */; +val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; +short int var50 /* : Bool */; +int cltype51; +int idtype52; +val* var53 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var51 /* : Int */; -long var52 /* : Int */; +long var54 /* : Int */; +long var55 /* : 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_nodearraylist14 = var1; +var_nodearraylist13 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist13 = var2; +var_nodearraylist12 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist12 = var3; +var_nodearraylist11 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var4; +var_nodearraylist10 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var5; +var_nodearraylist9 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var6; +var_nodearraylist8 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var7; +var_nodearraylist7 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var8; +var_nodearraylist6 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var9; +var_nodearraylist5 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var10; +var_nodearraylist4 = var10; var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var11; +var_nodearraylist3 = var11; var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var12; +var_nodearraylist2 = var12; var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var13; -var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var14; +var_nodearraylist1 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; +var_listnode7 = 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_listnode8 = var15; +var_listnode16 = var15; var16 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; -CHECK_NEW_array__Array(var16); -var_listnode12 = var16; -var17 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on */; -CHECK_NEW_array__Array(var17); -var_listnode14 = var17; +var_listnode18 = var16; 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) { -var18 = 1; +var17 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var18 = 0; +var17 = 0; } else { -var18 = var_pdocnode2->type->type_table[cltype] == idtype; +var17 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var18) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14362); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14673); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype20 = type_nullable_parser_nodes__TKwredef.color; -idtype21 = type_nullable_parser_nodes__TKwredef.id; +cltype19 = type_nullable_parser_nodes__TKwredef.color; +idtype20 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var19 = 1; +var18 = 1; } else { -if(cltype20 >= var_tkwredefnode3->type->table_size) { -var19 = 0; +if(cltype19 >= var_tkwredefnode3->type->table_size) { +var18 = 0; } else { -var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21; +var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20; } } -if (!var19) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14364); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14675); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype23 = type_nullable_parser_nodes__AVisibility.color; -idtype24 = type_nullable_parser_nodes__AVisibility.id; +cltype22 = type_nullable_parser_nodes__AVisibility.color; +idtype23 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var22 = 1; +var21 = 1; } else { -if(cltype23 >= var_pvisibilitynode4->type->table_size) { -var22 = 0; +if(cltype22 >= var_pvisibilitynode4->type->table_size) { +var21 = 0; } else { -var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24; +var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23; } } -if (!var22) { +if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14366); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14677); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype26 = type_nullable_parser_nodes__AClasskind.color; -idtype27 = type_nullable_parser_nodes__AClasskind.id; +cltype25 = type_nullable_parser_nodes__AClasskind.color; +idtype26 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var25 = 1; +var24 = 1; } else { -if(cltype26 >= var_pclasskindnode5->type->table_size) { -var25 = 0; +if(cltype25 >= var_pclasskindnode5->type->table_size) { +var24 = 0; } else { -var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27; +var24 = var_pclasskindnode5->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", 14368); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14679); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist8; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype29 = type_nullable_parser_nodes__TClassid.color; -idtype30 = type_nullable_parser_nodes__TClassid.id; +cltype28 = type_nullable_parser_nodes__TClassid.color; +idtype29 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var28 = 1; +var27 = 1; } else { -if(cltype29 >= var_tclassidnode6->type->table_size) { -var28 = 0; +if(cltype28 >= var_tclassidnode6->type->table_size) { +var27 = 0; } else { -var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30; +var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29; } } -if (!var28) { +if (!var27) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14370); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14681); +show_backtrace(1); } -var_listnode7 = var_nodearraylist9; -/* isa Array[Object] */ +var30 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on */; +var_listnode12 = var30; +var_listnode11 = var_nodearraylist8; +/* isa Array[Object] */ cltype32 = type_array__Arraykernel__Object.color; idtype33 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { +if(var_listnode11 == NULL) { var31 = 0; } else { -if(cltype32 >= var_listnode7->type->table_size) { +if(cltype32 >= var_listnode11->type->table_size) { var31 = 0; } else { -var31 = var_listnode7->type->type_table[cltype32] == idtype33; +var31 = var_listnode11->type->type_table[cltype32] == idtype33; } } if (!var31) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14372); -exit(1); -} -var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var34; -var_pexterncodeblocknode10 = var_nodearraylist10; -/* isa nullable AExternCodeBlock */ -cltype36 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype37 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var35 = 1; -} else { -if(cltype36 >= var_pexterncodeblocknode10->type->table_size) { -var35 = 0; -} else { -var35 = var_pexterncodeblocknode10->type->type_table[cltype36] == idtype37; -} -} -if (!var35) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14375); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14684); +show_backtrace(1); } -var_listnode11 = var_nodearraylist11; -/* isa Array[Object] */ -cltype39 = type_array__Arraykernel__Object.color; -idtype40 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var38 = 0; +var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var34; +var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var36 = NULL; +var37 = NULL; +var38 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode12, var38) /* init_aannotations on */; +var_pannotationsnode8 = var35; +var_pexterncodeblocknode14 = var_nodearraylist9; +/* isa nullable AExternCodeBlock */ +cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode14 == NULL) { +var39 = 1; } else { -if(cltype39 >= var_listnode11->type->table_size) { -var38 = 0; +if(cltype40 >= var_pexterncodeblocknode14->type->table_size) { +var39 = 0; } else { -var38 = var_listnode11->type->type_table[cltype39] == idtype40; +var39 = var_pexterncodeblocknode14->type->type_table[cltype40] == idtype41; } } -if (!var38) { +if (!var39) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14377); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14693); +show_backtrace(1); } -var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var41; -var_listnode13 = var_nodearraylist12; -/* isa Array[Object] */ +var_listnode15 = var_nodearraylist10; +/* isa Array[Object] */ cltype43 = type_array__Arraykernel__Object.color; idtype44 = type_array__Arraykernel__Object.id; -if(var_listnode13 == NULL) { +if(var_listnode15 == NULL) { var42 = 0; } else { -if(cltype43 >= var_listnode13->type->table_size) { +if(cltype43 >= var_listnode15->type->table_size) { var42 = 0; } else { -var42 = var_listnode13->type->type_table[cltype43] == idtype44; +var42 = var_listnode15->type->type_table[cltype43] == idtype44; } } if (!var42) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14380); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14695); +show_backtrace(1); } -var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on */; -var_listnode14 = var45; -var_tkwendnode15 = var_nodearraylist14; -/* isa nullable TKwend */ -cltype47 = type_nullable_parser_nodes__TKwend.color; -idtype48 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode15 == NULL) { -var46 = 1; +var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on */; +var_listnode16 = var45; +var_listnode17 = var_nodearraylist11; +/* isa Array[Object] */ +cltype47 = type_array__Arraykernel__Object.color; +idtype48 = type_array__Arraykernel__Object.id; +if(var_listnode17 == NULL) { +var46 = 0; } else { -if(cltype47 >= var_tkwendnode15->type->table_size) { +if(cltype47 >= var_listnode17->type->table_size) { var46 = 0; } else { -var46 = var_tkwendnode15->type->type_table[cltype47] == idtype48; +var46 = var_listnode17->type->type_table[cltype47] == idtype48; } } if (!var46) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14383); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14698); +show_backtrace(1); } -var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var50 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var50, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var49); -var_pclassdefnode1 = var49; +var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on */; +var_listnode18 = var49; +var_tkwendnode19 = var_nodearraylist13; +/* isa nullable TKwend */ +cltype51 = type_nullable_parser_nodes__TKwend.color; +idtype52 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode19 == NULL) { +var50 = 1; +} else { +if(cltype51 >= var_tkwendnode19->type->table_size) { +var50 = 0; +} else { +var50 = var_tkwendnode19->type->type_table[cltype51] == idtype52; +} +} +if (!var50) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14701); +show_backtrace(1); +} +var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var53->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var53, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on */; +var_pclassdefnode1 = var53; var_node_list = var_pclassdefnode1; -var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on */; +var54 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var55 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var54) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var55, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction311#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction311__action(val* self, val* p0) { -parser__ReduceAction311__action(self, p0); +/* method parser#ReduceAction318#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction318__action(val* self, val* p0) { +parser__ReduceAction318__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction313#action for (self: ReduceAction313, Parser) */ -void parser__ReduceAction313__action(val* self, val* p0) { +/* method parser#ReduceAction319#action for (self: ReduceAction319, Parser) */ +void parser__ReduceAction319__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* var_nodearraylist14 /* var nodearraylist14: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var_nodearraylist13 /* var nodearraylist13: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var9 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var10 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var11 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var12 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var13 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var14 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; +val* var15 /* : Array[Object] */; val* var_listnode7 /* var listnode7: Array[Object] */; -val* var13 /* : Array[Object] */; +val* var16 /* : Array[Object] */; val* var_listnode16 /* var listnode16: Array[Object] */; -val* var14 /* : Array[Object] */; +val* var17 /* : Array[Object] */; val* var_listnode18 /* var listnode18: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var18 /* : Bool */; int cltype; int idtype; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; short int var19 /* : Bool */; int cltype20; int idtype21; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var22 /* : Bool */; int cltype23; int idtype24; -val* var25 /* : Array[Object] */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var31 /* : 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* var29 /* : Array[Object] */; -val* var30 /* : AAnnotations */; -val* var31 /* : null */; -val* var32 /* : null */; -val* var33 /* : null */; +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_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; +short int var40 /* : Bool */; +int cltype41; +int idtype42; val* var_listnode15 /* var listnode15: nullable Object */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -val* var40 /* : Array[Object] */; +short int var43 /* : Bool */; +int cltype44; +int idtype45; +val* var46 /* : Array[Object] */; val* var_listnode17 /* var listnode17: nullable Object */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -val* var44 /* : Array[Object] */; +short int var47 /* : Bool */; +int cltype48; +int idtype49; +val* var50 /* : Array[Object] */; val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -val* var48 /* : AStdClassdef */; -val* var49 /* : null */; +short int var51 /* : Bool */; +int cltype52; +int idtype53; +val* var54 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var50 /* : Int */; -long var51 /* : Int */; +long var55 /* : Int */; +long var56 /* : 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_nodearraylist14 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var2; +var_nodearraylist13 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var3; +var_nodearraylist12 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var4; +var_nodearraylist11 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var5; +var_nodearraylist10 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var6; +var_nodearraylist9 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var7; +var_nodearraylist8 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var8; +var_nodearraylist7 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var9; +var_nodearraylist6 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var10; +var_nodearraylist5 = 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_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_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_listnode18 = var14; +var_nodearraylist4 = var11; +var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist3 = var12; +var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var13; +var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var14; +var15 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on */; +var_listnode7 = var15; +var16 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; +var_listnode16 = var16; +var17 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on */; +var_listnode18 = var17; 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; +var18 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; +var18 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var18 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var15) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14421); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14742); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype20 = type_nullable_parser_nodes__TKwredef.color; +idtype21 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var19 = 1; +} else { +if(cltype20 >= var_tkwredefnode3->type->table_size) { +var19 = 0; +} else { +var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21; +} +} +if (!var19) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14744); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype17 = type_nullable_parser_nodes__AVisibility.color; -idtype18 = type_nullable_parser_nodes__AVisibility.id; +cltype23 = type_nullable_parser_nodes__AVisibility.color; +idtype24 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var16 = 1; +var22 = 1; } else { -if(cltype17 >= var_pvisibilitynode4->type->table_size) { -var16 = 0; +if(cltype23 >= var_pvisibilitynode4->type->table_size) { +var22 = 0; } else { -var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18; +var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24; } } -if (!var16) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14423); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14746); +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; +cltype26 = type_nullable_parser_nodes__AClasskind.color; +idtype27 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var19 = 1; +var25 = 1; } else { -if(cltype20 >= var_pclasskindnode5->type->table_size) { -var19 = 0; +if(cltype26 >= var_pclasskindnode5->type->table_size) { +var25 = 0; } else { -var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21; +var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27; } } -if (!var19) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14425); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14748); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist5; +var_tclassidnode6 = var_nodearraylist8; /* isa nullable TClassid */ -cltype23 = type_nullable_parser_nodes__TClassid.color; -idtype24 = type_nullable_parser_nodes__TClassid.id; +cltype29 = type_nullable_parser_nodes__TClassid.color; +idtype30 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var22 = 1; +var28 = 1; } else { -if(cltype23 >= var_tclassidnode6->type->table_size) { -var22 = 0; +if(cltype29 >= var_tclassidnode6->type->table_size) { +var28 = 0; } else { -var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24; +var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30; } } -if (!var22) { +if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14427); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14750); +show_backtrace(1); } -var25 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on */; -CHECK_NEW_array__Array(var25); -var_listnode12 = var25; -var_listnode11 = var_nodearraylist6; +var31 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on */; +var_listnode12 = var31; +var_listnode11 = var_nodearraylist9; /* isa Array[Object] */ -cltype27 = type_array__Arraykernel__Object.color; -idtype28 = type_array__Arraykernel__Object.id; +cltype33 = type_array__Arraykernel__Object.color; +idtype34 = type_array__Arraykernel__Object.id; if(var_listnode11 == NULL) { -var26 = 0; +var32 = 0; } else { -if(cltype27 >= var_listnode11->type->table_size) { -var26 = 0; +if(cltype33 >= var_listnode11->type->table_size) { +var32 = 0; } else { -var26 = var_listnode11->type->type_table[cltype27] == idtype28; +var32 = var_listnode11->type->type_table[cltype33] == idtype34; } } -if (!var26) { +if (!var32) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14430); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14753); +show_backtrace(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 */; -CHECK_NEW_parser_nodes__AAnnotations(var30); -var_pannotationsnode8 = var30; -var_pexterncodeblocknode14 = var_nodearraylist7; +var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; +var_listnode12 = var35; +var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var37 = NULL; +var38 = NULL; +var39 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var36, var37, var38, var_listnode12, var39) /* init_aannotations on */; +var_pannotationsnode8 = var36; +var_pexterncodeblocknode14 = var_nodearraylist10; /* isa nullable AExternCodeBlock */ -cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id; +cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id; if(var_pexterncodeblocknode14 == NULL) { -var34 = 1; +var40 = 1; } else { -if(cltype35 >= var_pexterncodeblocknode14->type->table_size) { -var34 = 0; +if(cltype41 >= var_pexterncodeblocknode14->type->table_size) { +var40 = 0; } else { -var34 = var_pexterncodeblocknode14->type->type_table[cltype35] == idtype36; +var40 = var_pexterncodeblocknode14->type->type_table[cltype41] == idtype42; } } -if (!var34) { +if (!var40) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14439); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14762); +show_backtrace(1); } -var_listnode15 = var_nodearraylist8; +var_listnode15 = var_nodearraylist11; /* isa Array[Object] */ -cltype38 = type_array__Arraykernel__Object.color; -idtype39 = type_array__Arraykernel__Object.id; +cltype44 = type_array__Arraykernel__Object.color; +idtype45 = type_array__Arraykernel__Object.id; if(var_listnode15 == NULL) { -var37 = 0; +var43 = 0; } else { -if(cltype38 >= var_listnode15->type->table_size) { -var37 = 0; +if(cltype44 >= var_listnode15->type->table_size) { +var43 = 0; } else { -var37 = var_listnode15->type->type_table[cltype38] == idtype39; +var43 = var_listnode15->type->type_table[cltype44] == idtype45; } } -if (!var37) { +if (!var43) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14441); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14764); +show_backtrace(1); } -var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on */; -var_listnode16 = var40; -var_listnode17 = var_nodearraylist9; +var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on */; +var_listnode16 = var46; +var_listnode17 = var_nodearraylist12; /* isa Array[Object] */ -cltype42 = type_array__Arraykernel__Object.color; -idtype43 = type_array__Arraykernel__Object.id; +cltype48 = type_array__Arraykernel__Object.color; +idtype49 = type_array__Arraykernel__Object.id; if(var_listnode17 == NULL) { -var41 = 0; +var47 = 0; } else { -if(cltype42 >= var_listnode17->type->table_size) { -var41 = 0; +if(cltype48 >= var_listnode17->type->table_size) { +var47 = 0; } else { -var41 = var_listnode17->type->type_table[cltype42] == idtype43; +var47 = var_listnode17->type->type_table[cltype48] == idtype49; } } -if (!var41) { +if (!var47) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14444); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14767); +show_backtrace(1); } -var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on */; -var_listnode18 = var44; -var_tkwendnode19 = var_nodearraylist11; +var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on */; +var_listnode18 = var50; +var_tkwendnode19 = var_nodearraylist14; /* isa nullable TKwend */ -cltype46 = type_nullable_parser_nodes__TKwend.color; -idtype47 = type_nullable_parser_nodes__TKwend.id; +cltype52 = type_nullable_parser_nodes__TKwend.color; +idtype53 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode19 == NULL) { -var45 = 1; +var51 = 1; } else { -if(cltype46 >= var_tkwendnode19->type->table_size) { -var45 = 0; +if(cltype52 >= var_tkwendnode19->type->table_size) { +var51 = 0; } else { -var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47; +var51 = var_tkwendnode19->type->type_table[cltype52] == idtype53; } } -if (!var45) { +if (!var51) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14447); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14770); +show_backtrace(1); } -var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var49 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var49, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var48); -var_pclassdefnode1 = var48; +var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var54->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var54, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on */; +var_pclassdefnode1 = var54; var_node_list = var_pclassdefnode1; -var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on */; +var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction313#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction313__action(val* self, val* p0) { -parser__ReduceAction313__action(self, p0); +/* method parser#ReduceAction319#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction319__action(val* self, val* p0) { +parser__ReduceAction319__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction314#action for (self: ReduceAction314, Parser) */ -void parser__ReduceAction314__action(val* self, val* p0) { +/* method parser#ReduceAction321#action for (self: ReduceAction321, Parser) */ +void parser__ReduceAction321__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -1617,65 +1675,67 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var12 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var13 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var14 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; val* var15 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; +val* var_listnode19 /* var listnode19: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var16 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var17 /* : Bool */; int cltype18; int idtype19; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var23 /* : Bool */; int cltype24; int idtype25; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_listnode7 /* var listnode7: nullable 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 var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : Array[Object] */; -val* var34 /* : AAnnotations */; -val* var35 /* : null */; +val* var30 /* : Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode12 /* var listnode12: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : Array[Object] */; +val* var35 /* : AAnnotations */; val* var36 /* : null */; val* var37 /* : null */; -val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; -val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; -short int var38 /* : Bool */; -int cltype39; -int idtype40; -val* var_listnode15 /* var listnode15: nullable Object */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -val* var44 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: nullable Object */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -val* var48 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; -short int var49 /* : Bool */; -int cltype50; -int idtype51; -val* var52 /* : AStdClassdef */; +val* var38 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; +short int var39 /* : Bool */; +int cltype40; +int idtype41; +val* var_listnode16 /* var listnode16: nullable Object */; +short int var42 /* : Bool */; +int cltype43; +int idtype44; +val* var45 /* : Array[Object] */; +val* var_listnode18 /* var listnode18: nullable Object */; +short int var46 /* : Bool */; +int cltype47; +int idtype48; +val* var49 /* : Array[Object] */; +val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; +short int var50 /* : Bool */; +int cltype51; +int idtype52; +val* var53 /* : AStdClassdef */; +val* var54 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var53 /* : Int */; -long var54 /* : Int */; +long var55 /* : Int */; +long var56 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -1705,16 +1765,13 @@ var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) 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_listnode7 = 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; +var_listnode17 = 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_listnode18 = var15; +var_listnode19 = var15; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -1730,525 +1787,568 @@ 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", 14486); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14809); +show_backtrace(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) { +var_pvisibilitynode4 = var_nodearraylist2; +/* 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_tkwredefnode3->type->table_size) { +if(cltype18 >= var_pvisibilitynode4->type->table_size) { var17 = 0; } else { -var17 = var_tkwredefnode3->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", 14488); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14811); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype21 = type_nullable_parser_nodes__AVisibility.color; -idtype22 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { +var_pclasskindnode5 = var_nodearraylist3; +/* 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_pvisibilitynode4->type->table_size) { +if(cltype21 >= var_pclasskindnode5->type->table_size) { var20 = 0; } else { -var20 = var_pvisibilitynode4->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", 14490); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14813); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype24 = type_nullable_parser_nodes__AClasskind.color; -idtype25 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_tclassidnode6 = var_nodearraylist5; +/* 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_pclasskindnode5->type->table_size) { +if(cltype24 >= var_tclassidnode6->type->table_size) { var23 = 0; } else { -var23 = var_pclasskindnode5->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", 14492); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14815); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype27 = type_nullable_parser_nodes__TClassid.color; -idtype28 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { -var26 = 1; +var_listnode7 = var_nodearraylist6; +/* 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_tclassidnode6->type->table_size) { +if(cltype27 >= var_listnode7->type->table_size) { var26 = 0; } else { -var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; +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", 14494); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14817); +show_backtrace(1); } -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_listnode12 = var29; -var_listnode11 = var_nodearraylist7; -/* isa Array[Object] */ -cltype31 = type_array__Arraykernel__Object.color; -idtype32 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var30 = 0; +var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var29; +var30 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on */; +var_listnode13 = var30; +var_listnode12 = var_nodearraylist7; +/* isa Array[Object] */ +cltype32 = type_array__Arraykernel__Object.color; +idtype33 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var31 = 0; } else { -if(cltype31 >= var_listnode11->type->table_size) { -var30 = 0; +if(cltype32 >= var_listnode12->type->table_size) { +var31 = 0; } else { -var30 = var_listnode11->type->type_table[cltype31] == idtype32; +var31 = var_listnode12->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", 14497); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14821); +show_backtrace(1); } -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; +var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; +var_listnode13 = var34; +var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); 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 */; -CHECK_NEW_parser_nodes__AAnnotations(var34); -var_pannotationsnode8 = var34; -var_pexterncodeblocknode14 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode14 == NULL) { -var38 = 1; +var38 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode13, var38) /* init_aannotations on */; +var_pannotationsnode9 = var35; +var_pexterncodeblocknode15 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode15 == NULL) { +var39 = 1; } else { -if(cltype39 >= var_pexterncodeblocknode14->type->table_size) { -var38 = 0; +if(cltype40 >= var_pexterncodeblocknode15->type->table_size) { +var39 = 0; } else { -var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40; +var39 = var_pexterncodeblocknode15->type->type_table[cltype40] == idtype41; } } -if (!var38) { +if (!var39) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14506); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14830); +show_backtrace(1); } -var_listnode15 = var_nodearraylist9; -/* isa Array[Object] */ -cltype42 = type_array__Arraykernel__Object.color; -idtype43 = type_array__Arraykernel__Object.id; -if(var_listnode15 == NULL) { -var41 = 0; +var_listnode16 = var_nodearraylist9; +/* isa Array[Object] */ +cltype43 = type_array__Arraykernel__Object.color; +idtype44 = type_array__Arraykernel__Object.id; +if(var_listnode16 == NULL) { +var42 = 0; } else { -if(cltype42 >= var_listnode15->type->table_size) { -var41 = 0; +if(cltype43 >= var_listnode16->type->table_size) { +var42 = 0; } else { -var41 = var_listnode15->type->type_table[cltype42] == idtype43; +var42 = var_listnode16->type->type_table[cltype43] == idtype44; } } -if (!var41) { +if (!var42) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14508); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14832); +show_backtrace(1); } -var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on */; -var_listnode16 = var44; -var_listnode17 = var_nodearraylist10; -/* isa Array[Object] */ -cltype46 = type_array__Arraykernel__Object.color; -idtype47 = type_array__Arraykernel__Object.id; -if(var_listnode17 == NULL) { -var45 = 0; -} else { -if(cltype46 >= var_listnode17->type->table_size) { -var45 = 0; +var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on */; +var_listnode17 = var45; +var_listnode18 = var_nodearraylist10; +/* isa Array[Object] */ +cltype47 = type_array__Arraykernel__Object.color; +idtype48 = type_array__Arraykernel__Object.id; +if(var_listnode18 == NULL) { +var46 = 0; } else { -var45 = var_listnode17->type->type_table[cltype46] == idtype47; +if(cltype47 >= var_listnode18->type->table_size) { +var46 = 0; +} else { +var46 = var_listnode18->type->type_table[cltype47] == idtype48; } } -if (!var45) { +if (!var46) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14511); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14835); +show_backtrace(1); } -var48 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on */; -var_listnode18 = var48; -var_tkwendnode19 = var_nodearraylist12; -/* isa nullable TKwend */ -cltype50 = type_nullable_parser_nodes__TKwend.color; -idtype51 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode19 == NULL) { -var49 = 1; +var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on */; +var_listnode19 = var49; +var_tkwendnode20 = var_nodearraylist12; +/* isa nullable TKwend */ +cltype51 = type_nullable_parser_nodes__TKwend.color; +idtype52 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode20 == NULL) { +var50 = 1; } else { -if(cltype50 >= var_tkwendnode19->type->table_size) { -var49 = 0; +if(cltype51 >= var_tkwendnode20->type->table_size) { +var50 = 0; } else { -var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51; +var50 = var_tkwendnode20->type->type_table[cltype51] == idtype52; } } -if (!var49) { +if (!var50) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14514); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14838); +show_backtrace(1); } -var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var52->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var52); -var_pclassdefnode1 = var52; +var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var54 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var53->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var53, var_pdocnode2, var54, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on */; +var_pclassdefnode1 = var53; var_node_list = var_pclassdefnode1; -var53 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var54 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var53) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var54, var_node_list) /* push on */; +var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction314#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction314__action(val* self, val* p0) { -parser__ReduceAction314__action(self, p0); +/* method parser#ReduceAction321#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction321__action(val* self, val* p0) { +parser__ReduceAction321__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction315#action for (self: ReduceAction315, Parser) */ -void parser__ReduceAction315__action(val* self, val* p0) { +/* method parser#ReduceAction322#action for (self: ReduceAction322, Parser) */ +void parser__ReduceAction322__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* var_nodearraylist13 /* var nodearraylist13: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; +val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var9 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var10 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var11 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var12 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var13 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var13 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; val* var14 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var15 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; +val* var16 /* : Array[Object] */; +val* var_listnode19 /* var listnode19: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var16 /* : Bool */; +short int var17 /* : Bool */; int cltype; int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var21 /* : Bool */; +int cltype22; +int idtype23; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var24 /* : Bool */; +int cltype25; +int idtype26; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -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_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; +val* var_listnode7 /* var listnode7: nullable Object */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +val* var33 /* : Array[Object] */; +val* var34 /* : Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode12 /* var listnode12: nullable Object */; short int var35 /* : Bool */; int cltype36; int idtype37; -val* var_listnode15 /* var listnode15: nullable Object */; -short int var38 /* : Bool */; -int cltype39; -int idtype40; -val* var41 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: nullable Object */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -val* var45 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; +val* var38 /* : Array[Object] */; +val* var39 /* : AAnnotations */; +val* var40 /* : null */; +val* var41 /* : null */; +val* var42 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; +short int var43 /* : Bool */; +int cltype44; +int idtype45; +val* var_listnode16 /* var listnode16: nullable Object */; short int var46 /* : Bool */; int cltype47; int idtype48; -val* var49 /* : AStdClassdef */; -val* var50 /* : null */; +val* var49 /* : Array[Object] */; +val* var_listnode18 /* var listnode18: nullable Object */; +short int var50 /* : Bool */; +int cltype51; +int idtype52; +val* var53 /* : Array[Object] */; +val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; +short int var54 /* : Bool */; +int cltype55; +int idtype56; +val* var57 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var51 /* : Int */; -long var52 /* : Int */; +long var58 /* : Int */; +long var59 /* : 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_nodearraylist13 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var2; +var_nodearraylist12 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var3; +var_nodearraylist11 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var4; +var_nodearraylist10 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var5; +var_nodearraylist9 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var6; +var_nodearraylist8 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var7; +var_nodearraylist7 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var8; +var_nodearraylist6 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var9; +var_nodearraylist5 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var10; +var_nodearraylist4 = var10; var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var11; +var_nodearraylist3 = 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_listnode7 = var13; +var_nodearraylist2 = var12; +var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = 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_listnode8 = 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_listnode18 = var15; +var_listnode17 = var15; +var16 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; +var_listnode19 = var16; 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; +var17 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var16 = 0; +var17 = 0; } else { -var16 = var_pdocnode2->type->type_table[cltype] == idtype; +var17 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var16) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14553); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14878); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype19 = type_nullable_parser_nodes__TKwredef.color; +idtype20 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var18 = 1; +} else { +if(cltype19 >= var_tkwredefnode3->type->table_size) { +var18 = 0; +} else { +var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20; +} +} +if (!var18) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14880); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype18 = type_nullable_parser_nodes__AVisibility.color; -idtype19 = type_nullable_parser_nodes__AVisibility.id; +cltype22 = type_nullable_parser_nodes__AVisibility.color; +idtype23 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var17 = 1; +var21 = 1; } else { -if(cltype18 >= var_pvisibilitynode4->type->table_size) { -var17 = 0; +if(cltype22 >= var_pvisibilitynode4->type->table_size) { +var21 = 0; } else { -var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; +var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23; } } -if (!var17) { +if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14555); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14882); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; +var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype21 = type_nullable_parser_nodes__AClasskind.color; -idtype22 = type_nullable_parser_nodes__AClasskind.id; +cltype25 = type_nullable_parser_nodes__AClasskind.color; +idtype26 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var20 = 1; +var24 = 1; } else { -if(cltype21 >= var_pclasskindnode5->type->table_size) { -var20 = 0; +if(cltype25 >= var_pclasskindnode5->type->table_size) { +var24 = 0; } else { -var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; +var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26; } } -if (!var20) { +if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14557); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14884); +show_backtrace(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype24 = type_nullable_parser_nodes__TClassid.color; -idtype25 = type_nullable_parser_nodes__TClassid.id; +cltype28 = type_nullable_parser_nodes__TClassid.color; +idtype29 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var23 = 1; +var27 = 1; } else { -if(cltype24 >= var_tclassidnode6->type->table_size) { -var23 = 0; +if(cltype28 >= var_tclassidnode6->type->table_size) { +var27 = 0; } else { -var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; +var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29; } } -if (!var23) { +if (!var27) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14559); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14886); +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; -/* isa Array[Object] */ -cltype28 = type_array__Arraykernel__Object.color; -idtype29 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var27 = 0; +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype31 = type_array__Arraykernel__Object.color; +idtype32 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var30 = 0; } else { -if(cltype28 >= var_listnode11->type->table_size) { -var27 = 0; +if(cltype31 >= var_listnode7->type->table_size) { +var30 = 0; } else { -var27 = var_listnode11->type->type_table[cltype28] == idtype29; +var30 = var_listnode7->type->type_table[cltype31] == idtype32; } } -if (!var27) { +if (!var30) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14562); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14888); +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; -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_pexterncodeblocknode14 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype36 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype37 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode14 == NULL) { -var35 = 1; +var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var33; +var34 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on */; +var_listnode13 = var34; +var_listnode12 = var_nodearraylist8; +/* isa Array[Object] */ +cltype36 = type_array__Arraykernel__Object.color; +idtype37 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var35 = 0; } else { -if(cltype36 >= var_pexterncodeblocknode14->type->table_size) { +if(cltype36 >= var_listnode12->type->table_size) { var35 = 0; } else { -var35 = var_pexterncodeblocknode14->type->type_table[cltype36] == idtype37; +var35 = var_listnode12->type->type_table[cltype36] == idtype37; } } if (!var35) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14571); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14892); +show_backtrace(1); } -var_listnode15 = var_nodearraylist9; -/* isa Array[Object] */ -cltype39 = type_array__Arraykernel__Object.color; -idtype40 = type_array__Arraykernel__Object.id; -if(var_listnode15 == NULL) { -var38 = 0; +var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; +var_listnode13 = var38; +var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var40 = NULL; +var41 = NULL; +var42 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var39, var40, var41, var_listnode13, var42) /* init_aannotations on */; +var_pannotationsnode9 = var39; +var_pexterncodeblocknode15 = var_nodearraylist9; +/* isa nullable AExternCodeBlock */ +cltype44 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype45 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode15 == NULL) { +var43 = 1; } else { -if(cltype39 >= var_listnode15->type->table_size) { -var38 = 0; +if(cltype44 >= var_pexterncodeblocknode15->type->table_size) { +var43 = 0; } else { -var38 = var_listnode15->type->type_table[cltype39] == idtype40; +var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45; } } -if (!var38) { +if (!var43) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14573); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14901); +show_backtrace(1); } -var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on */; -var_listnode16 = var41; -var_listnode17 = var_nodearraylist10; -/* isa Array[Object] */ -cltype43 = type_array__Arraykernel__Object.color; -idtype44 = type_array__Arraykernel__Object.id; -if(var_listnode17 == NULL) { -var42 = 0; +var_listnode16 = var_nodearraylist10; +/* isa Array[Object] */ +cltype47 = type_array__Arraykernel__Object.color; +idtype48 = type_array__Arraykernel__Object.id; +if(var_listnode16 == NULL) { +var46 = 0; } else { -if(cltype43 >= var_listnode17->type->table_size) { -var42 = 0; +if(cltype47 >= var_listnode16->type->table_size) { +var46 = 0; } else { -var42 = var_listnode17->type->type_table[cltype43] == idtype44; +var46 = var_listnode16->type->type_table[cltype47] == idtype48; } } -if (!var42) { +if (!var46) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14576); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14903); +show_backtrace(1); } -var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on */; -var_listnode18 = var45; -var_tkwendnode19 = var_nodearraylist12; -/* isa nullable TKwend */ -cltype47 = type_nullable_parser_nodes__TKwend.color; -idtype48 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode19 == NULL) { -var46 = 1; +var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on */; +var_listnode17 = var49; +var_listnode18 = var_nodearraylist11; +/* isa Array[Object] */ +cltype51 = type_array__Arraykernel__Object.color; +idtype52 = type_array__Arraykernel__Object.id; +if(var_listnode18 == NULL) { +var50 = 0; } else { -if(cltype47 >= var_tkwendnode19->type->table_size) { -var46 = 0; +if(cltype51 >= var_listnode18->type->table_size) { +var50 = 0; } else { -var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48; +var50 = var_listnode18->type->type_table[cltype51] == idtype52; } } -if (!var46) { +if (!var50) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14579); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14906); +show_backtrace(1); } -var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var50 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var50, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var49); -var_pclassdefnode1 = var49; +var53 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on */; +var_listnode19 = var53; +var_tkwendnode20 = var_nodearraylist13; +/* isa nullable TKwend */ +cltype55 = type_nullable_parser_nodes__TKwend.color; +idtype56 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode20 == NULL) { +var54 = 1; +} else { +if(cltype55 >= var_tkwendnode20->type->table_size) { +var54 = 0; +} else { +var54 = var_tkwendnode20->type->type_table[cltype55] == idtype56; +} +} +if (!var54) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14909); +show_backtrace(1); +} +var57 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var57->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var57, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on */; +var_pclassdefnode1 = var57; var_node_list = var_pclassdefnode1; -var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on */; +var58 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var59 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var58) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var59, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction315#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction315__action(val* self, val* p0) { -parser__ReduceAction315__action(self, p0); +/* method parser#ReduceAction322#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction322__action(val* self, val* p0) { +parser__ReduceAction322__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction316#action for (self: ReduceAction316, Parser) */ -void parser__ReduceAction316__action(val* self, val* p0) { +/* method parser#ReduceAction323#action for (self: ReduceAction323, Parser) */ +void parser__ReduceAction323__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -2279,11 +2379,11 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var13 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var14 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var15 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; val* var16 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; +val* var_listnode19 /* var listnode19: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var17 /* : Bool */; int cltype; @@ -2300,41 +2400,46 @@ val* var_tclassidnode6 /* var tclassidnode6: 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* var_listnode7 /* var listnode7: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : Array[Object] */; 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_listnode15 /* var listnode15: nullable Object */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -val* var42 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: nullable 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_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; +short int var40 /* : Bool */; +int cltype41; +int idtype42; +val* var_listnode16 /* var listnode16: nullable Object */; short int var43 /* : Bool */; int cltype44; int idtype45; val* var46 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; +val* var_listnode18 /* var listnode18: nullable Object */; short int var47 /* : Bool */; int cltype48; int idtype49; -val* var50 /* : AStdClassdef */; -val* var51 /* : null */; +val* var50 /* : Array[Object] */; +val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; +short int var51 /* : Bool */; +int cltype52; +int idtype53; +val* var54 /* : AStdClassdef */; +val* var55 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var52 /* : Int */; -long var53 /* : Int */; +long var56 /* : Int */; +long var57 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -2366,16 +2471,13 @@ var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) var_nodearraylist1 = 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_listnode7 = var14; +var_listnode8 = 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_listnode16 = var15; +var_listnode17 = var15; var16 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; -CHECK_NEW_array__Array(var16); -var_listnode18 = var16; +var_listnode19 = var16; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -2391,8 +2493,8 @@ var17 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14619); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14949); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ @@ -2409,8 +2511,8 @@ 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", 14621); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14951); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ @@ -2427,10 +2529,10 @@ 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", 14623); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14953); +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; @@ -2445,478 +2547,498 @@ 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", 14625); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14955); +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; +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(cltype29 >= var_listnode11->type->table_size) { -var28 = 0; +if(cltype28 >= var_listnode7->type->table_size) { +var27 = 0; } else { -var28 = var_listnode11->type->type_table[cltype29] == idtype30; +var27 = var_listnode7->type->type_table[cltype28] == idtype29; } } -if (!var28) { +if (!var27) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14628); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14957); +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; -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_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype37 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype38 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode14 == NULL) { -var36 = 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 */; +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(cltype37 >= var_pexterncodeblocknode14->type->table_size) { -var36 = 0; +if(cltype33 >= var_listnode12->type->table_size) { +var32 = 0; } else { -var36 = var_pexterncodeblocknode14->type->type_table[cltype37] == idtype38; +var32 = var_listnode12->type->type_table[cltype33] == idtype34; } } -if (!var36) { +if (!var32) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14637); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14961); +show_backtrace(1); } -var_listnode15 = var_nodearraylist10; -/* isa Array[Object] */ -cltype40 = type_array__Arraykernel__Object.color; -idtype41 = type_array__Arraykernel__Object.id; -if(var_listnode15 == NULL) { -var39 = 0; +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; +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_pexterncodeblocknode15 = var_nodearraylist9; +/* isa nullable AExternCodeBlock */ +cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode15 == NULL) { +var40 = 1; } else { -if(cltype40 >= var_listnode15->type->table_size) { -var39 = 0; +if(cltype41 >= var_pexterncodeblocknode15->type->table_size) { +var40 = 0; } else { -var39 = var_listnode15->type->type_table[cltype40] == idtype41; +var40 = var_pexterncodeblocknode15->type->type_table[cltype41] == idtype42; } } -if (!var39) { +if (!var40) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14639); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14970); +show_backtrace(1); } -var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on */; -var_listnode16 = var42; -var_listnode17 = var_nodearraylist11; -/* isa Array[Object] */ +var_listnode16 = var_nodearraylist10; +/* isa Array[Object] */ cltype44 = type_array__Arraykernel__Object.color; idtype45 = type_array__Arraykernel__Object.id; -if(var_listnode17 == NULL) { +if(var_listnode16 == NULL) { var43 = 0; } else { -if(cltype44 >= var_listnode17->type->table_size) { +if(cltype44 >= var_listnode16->type->table_size) { var43 = 0; } else { -var43 = var_listnode17->type->type_table[cltype44] == idtype45; +var43 = var_listnode16->type->type_table[cltype44] == idtype45; } } if (!var43) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14642); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14972); +show_backtrace(1); } -var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on */; -var_listnode18 = var46; -var_tkwendnode19 = var_nodearraylist13; -/* isa nullable TKwend */ -cltype48 = type_nullable_parser_nodes__TKwend.color; -idtype49 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode19 == NULL) { -var47 = 1; +var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on */; +var_listnode17 = var46; +var_listnode18 = var_nodearraylist11; +/* isa Array[Object] */ +cltype48 = type_array__Arraykernel__Object.color; +idtype49 = type_array__Arraykernel__Object.id; +if(var_listnode18 == NULL) { +var47 = 0; } else { -if(cltype48 >= var_tkwendnode19->type->table_size) { +if(cltype48 >= var_listnode18->type->table_size) { var47 = 0; } else { -var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49; +var47 = var_listnode18->type->type_table[cltype48] == idtype49; } } if (!var47) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14645); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14975); +show_backtrace(1); } -var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var51 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var51, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var50); -var_pclassdefnode1 = var50; +var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on */; +var_listnode19 = var50; +var_tkwendnode20 = var_nodearraylist13; +/* isa nullable TKwend */ +cltype52 = type_nullable_parser_nodes__TKwend.color; +idtype53 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode20 == NULL) { +var51 = 1; +} else { +if(cltype52 >= var_tkwendnode20->type->table_size) { +var51 = 0; +} else { +var51 = var_tkwendnode20->type->type_table[cltype52] == idtype53; +} +} +if (!var51) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14978); +show_backtrace(1); +} +var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var55 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var54->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var54, var_pdocnode2, var55, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on */; +var_pclassdefnode1 = var54; var_node_list = var_pclassdefnode1; -var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on */; +var56 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var57 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var56) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var57, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction316#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction316__action(val* self, val* p0) { -parser__ReduceAction316__action(self, p0); +/* method parser#ReduceAction323#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction323__action(val* self, val* p0) { +parser__ReduceAction323__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction318#action for (self: ReduceAction318, Parser) */ -void parser__ReduceAction318__action(val* self, val* p0) { +/* method parser#ReduceAction324#action for (self: ReduceAction324, Parser) */ +void parser__ReduceAction324__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist13 /* var nodearraylist13: nullable Object */; +val* var_nodearraylist14 /* var nodearraylist14: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; +val* var_nodearraylist13 /* var nodearraylist13: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; +val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var9 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var10 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var11 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var12 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var13 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var14 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var14 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; val* var15 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var16 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; +val* var17 /* : Array[Object] */; +val* var_listnode19 /* var listnode19: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var17 /* : Bool */; +short int var18 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; +short int var22 /* : Bool */; +int cltype23; +int idtype24; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var34 /* : Array[Object] */; -val* var35 /* : AAnnotations */; -val* var36 /* : null */; -val* var37 /* : null */; +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* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; -val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -val* var_listnode15 /* var listnode15: nullable Object */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -val* var45 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: nullable Object */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -val* var49 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; -short int var50 /* : Bool */; -int cltype51; -int idtype52; -val* var53 /* : AStdClassdef */; +val* var39 /* : null */; +val* var40 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; +short int var41 /* : Bool */; +int cltype42; +int idtype43; +val* var_listnode16 /* var listnode16: nullable Object */; +short int var44 /* : Bool */; +int cltype45; +int idtype46; +val* var47 /* : Array[Object] */; +val* var_listnode18 /* var listnode18: nullable Object */; +short int var48 /* : Bool */; +int cltype49; +int idtype50; +val* var51 /* : Array[Object] */; +val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; +short int var52 /* : Bool */; +int cltype53; +int idtype54; +val* var55 /* : AStdClassdef */; +val* var56 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var54 /* : Int */; -long var55 /* : Int */; +long var57 /* : Int */; +long var58 /* : 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_nodearraylist13 = var1; +var_nodearraylist14 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist12 = var2; +var_nodearraylist13 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var3; +var_nodearraylist12 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var4; +var_nodearraylist11 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var5; +var_nodearraylist10 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var6; +var_nodearraylist9 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var7; +var_nodearraylist8 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var8; +var_nodearraylist7 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var9; +var_nodearraylist6 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var10; +var_nodearraylist5 = var10; var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var11; +var_nodearraylist4 = var11; var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var12; +var_nodearraylist3 = var12; var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = 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_listnode7 = var14; +var_nodearraylist2 = var13; +var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = 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_listnode16 = var15; +var_listnode8 = var15; var16 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; -CHECK_NEW_array__Array(var16); -var_listnode18 = var16; +var_listnode17 = var16; +var17 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on */; +var_listnode19 = var17; 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) { -var17 = 1; -} else { -if(cltype >= var_pdocnode2->type->table_size) { -var17 = 0; -} else { -var17 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (!var17) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14685); -exit(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype19 = type_nullable_parser_nodes__TKwredef.color; -idtype20 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { var18 = 1; } else { -if(cltype19 >= var_tkwredefnode3->type->table_size) { +if(cltype >= var_pdocnode2->type->table_size) { var18 = 0; } else { -var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20; +var18 = var_pdocnode2->type->type_table[cltype] == idtype; } } if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14687); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15019); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; +var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype22 = type_nullable_parser_nodes__AVisibility.color; -idtype23 = type_nullable_parser_nodes__AVisibility.id; +cltype20 = type_nullable_parser_nodes__AVisibility.color; +idtype21 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var21 = 1; +var19 = 1; } else { -if(cltype22 >= var_pvisibilitynode4->type->table_size) { -var21 = 0; +if(cltype20 >= var_pvisibilitynode4->type->table_size) { +var19 = 0; } else { -var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23; +var19 = var_pvisibilitynode4->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", 14689); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15021); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; +var_pclasskindnode5 = var_nodearraylist3; /* isa nullable AClasskind */ -cltype25 = type_nullable_parser_nodes__AClasskind.color; -idtype26 = type_nullable_parser_nodes__AClasskind.id; +cltype23 = type_nullable_parser_nodes__AClasskind.color; +idtype24 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var24 = 1; +var22 = 1; } else { -if(cltype25 >= var_pclasskindnode5->type->table_size) { -var24 = 0; +if(cltype23 >= var_pclasskindnode5->type->table_size) { +var22 = 0; } else { -var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26; +var22 = var_pclasskindnode5->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", 14691); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15023); +show_backtrace(1); } var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ -cltype28 = type_nullable_parser_nodes__TClassid.color; -idtype29 = type_nullable_parser_nodes__TClassid.id; +cltype26 = type_nullable_parser_nodes__TClassid.color; +idtype27 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var27 = 1; +var25 = 1; } else { -if(cltype28 >= var_tclassidnode6->type->table_size) { -var27 = 0; +if(cltype26 >= var_tclassidnode6->type->table_size) { +var25 = 0; } else { -var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29; +var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; } } -if (!var27) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14693); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15025); +show_backtrace(1); } -var30 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on */; -CHECK_NEW_array__Array(var30); -var_listnode12 = var30; -var_listnode11 = var_nodearraylist8; -/* isa Array[Object] */ -cltype32 = type_array__Arraykernel__Object.color; -idtype33 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var31 = 0; +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; } else { -if(cltype32 >= var_listnode11->type->table_size) { -var31 = 0; +if(cltype29 >= var_listnode7->type->table_size) { +var28 = 0; } else { -var31 = var_listnode11->type->type_table[cltype32] == idtype33; +var28 = var_listnode7->type->type_table[cltype29] == idtype30; } } -if (!var31) { +if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14696); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15027); +show_backtrace(1); } -var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var34; -var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var36 = NULL; -var37 = NULL; -var38 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode12, var38) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var35); -var_pannotationsnode8 = var35; -var_pexterncodeblocknode14 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode14 == NULL) { -var39 = 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 */; +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; } else { -if(cltype40 >= var_pexterncodeblocknode14->type->table_size) { -var39 = 0; +if(cltype34 >= var_listnode12->type->table_size) { +var33 = 0; } else { -var39 = var_pexterncodeblocknode14->type->type_table[cltype40] == idtype41; +var33 = var_listnode12->type->type_table[cltype34] == idtype35; } } -if (!var39) { +if (!var33) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14705); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15031); +show_backtrace(1); } -var_listnode15 = var_nodearraylist10; -/* isa Array[Object] */ -cltype43 = type_array__Arraykernel__Object.color; -idtype44 = type_array__Arraykernel__Object.id; -if(var_listnode15 == NULL) { -var42 = 0; +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_pexterncodeblocknode15 = var_nodearraylist10; +/* isa nullable AExternCodeBlock */ +cltype42 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype43 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode15 == NULL) { +var41 = 1; } else { -if(cltype43 >= var_listnode15->type->table_size) { -var42 = 0; +if(cltype42 >= var_pexterncodeblocknode15->type->table_size) { +var41 = 0; } else { -var42 = var_listnode15->type->type_table[cltype43] == idtype44; +var41 = var_pexterncodeblocknode15->type->type_table[cltype42] == idtype43; } } -if (!var42) { +if (!var41) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14707); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15040); +show_backtrace(1); } -var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on */; -var_listnode16 = var45; -var_listnode17 = var_nodearraylist11; -/* isa Array[Object] */ -cltype47 = type_array__Arraykernel__Object.color; -idtype48 = type_array__Arraykernel__Object.id; -if(var_listnode17 == NULL) { -var46 = 0; +var_listnode16 = var_nodearraylist11; +/* isa Array[Object] */ +cltype45 = type_array__Arraykernel__Object.color; +idtype46 = type_array__Arraykernel__Object.id; +if(var_listnode16 == NULL) { +var44 = 0; } else { -if(cltype47 >= var_listnode17->type->table_size) { -var46 = 0; +if(cltype45 >= var_listnode16->type->table_size) { +var44 = 0; } else { -var46 = var_listnode17->type->type_table[cltype47] == idtype48; +var44 = var_listnode16->type->type_table[cltype45] == idtype46; } } -if (!var46) { +if (!var44) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14710); -exit(1); -} -var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on */; -var_listnode18 = var49; -var_tkwendnode19 = var_nodearraylist13; -/* isa nullable TKwend */ -cltype51 = type_nullable_parser_nodes__TKwend.color; -idtype52 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode19 == NULL) { -var50 = 1; -} else { -if(cltype51 >= var_tkwendnode19->type->table_size) { -var50 = 0; -} else { -var50 = var_tkwendnode19->type->type_table[cltype51] == idtype52; +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15042); +show_backtrace(1); } +var47 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on */; +var_listnode17 = var47; +var_listnode18 = var_nodearraylist12; +/* isa Array[Object] */ +cltype49 = type_array__Arraykernel__Object.color; +idtype50 = type_array__Arraykernel__Object.id; +if(var_listnode18 == NULL) { +var48 = 0; +} else { +if(cltype49 >= var_listnode18->type->table_size) { +var48 = 0; +} else { +var48 = var_listnode18->type->type_table[cltype49] == idtype50; } -if (!var50) { +} +if (!var48) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14713); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15045); +show_backtrace(1); } -var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var53->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var53, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var53); -var_pclassdefnode1 = var53; +var51 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on */; +var_listnode19 = var51; +var_tkwendnode20 = var_nodearraylist14; +/* isa nullable TKwend */ +cltype53 = type_nullable_parser_nodes__TKwend.color; +idtype54 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode20 == NULL) { +var52 = 1; +} else { +if(cltype53 >= var_tkwendnode20->type->table_size) { +var52 = 0; +} else { +var52 = var_tkwendnode20->type->type_table[cltype53] == idtype54; +} +} +if (!var52) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15048); +show_backtrace(1); +} +var55 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var56 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var55->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var55, var_pdocnode2, var56, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on */; +var_pclassdefnode1 = var55; var_node_list = var_pclassdefnode1; -var54 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var55 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var54) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var55, var_node_list) /* push on */; +var57 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var58 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var57) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var58, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction318#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction318__action(val* self, val* p0) { -parser__ReduceAction318__action(self, p0); +/* method parser#ReduceAction324#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction324__action(val* self, val* p0) { +parser__ReduceAction324__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction319#action for (self: ReduceAction319, Parser) */ -void parser__ReduceAction319__action(val* self, val* p0) { +/* method parser#ReduceAction326#action for (self: ReduceAction326, Parser) */ +void parser__ReduceAction326__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -2949,11 +3071,11 @@ val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; val* var14 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var15 /* : Array[Object] */; -val* var_listnode7 /* var listnode7: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var16 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; val* var17 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; +val* var_listnode19 /* var listnode19: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var18 /* : Bool */; int cltype; @@ -2974,40 +3096,45 @@ val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var28 /* : Bool */; int cltype29; int idtype30; -val* var31 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; +val* var_listnode7 /* var listnode7: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : Array[Object] */; val* var35 /* : Array[Object] */; -val* var36 /* : AAnnotations */; -val* var37 /* : null */; -val* var38 /* : null */; -val* var39 /* : null */; -val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */; -val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */; -short int var40 /* : Bool */; -int cltype41; -int idtype42; -val* var_listnode15 /* var listnode15: nullable Object */; -short int var43 /* : Bool */; -int cltype44; -int idtype45; -val* var46 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: nullable Object */; +val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode12 /* var listnode12: nullable Object */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +val* var39 /* : Array[Object] */; +val* var40 /* : AAnnotations */; +val* var41 /* : null */; +val* var42 /* : null */; +val* var43 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; +short int var44 /* : Bool */; +int cltype45; +int idtype46; +val* var_listnode16 /* var listnode16: nullable Object */; short int var47 /* : Bool */; int cltype48; int idtype49; val* var50 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; +val* var_listnode18 /* var listnode18: nullable Object */; short int var51 /* : Bool */; int cltype52; int idtype53; -val* var54 /* : AStdClassdef */; +val* var54 /* : Array[Object] */; +val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; +short int var55 /* : Bool */; +int cltype56; +int idtype57; +val* var58 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var55 /* : Int */; -long var56 /* : Int */; +long var59 /* : Int */; +long var60 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -3041,16 +3168,13 @@ var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) var_nodearraylist1 = 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_listnode7 = var15; +var_listnode8 = var15; var16 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; -CHECK_NEW_array__Array(var16); -var_listnode16 = var16; +var_listnode17 = var16; var17 = NEW_array__Array(&type_array__Arraykernel__Object); ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on */; -CHECK_NEW_array__Array(var17); -var_listnode18 = var17; +var_listnode19 = var17; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -3066,8 +3190,8 @@ var18 = var_pdocnode2->type->type_table[cltype] == idtype; } if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14754); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15089); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ @@ -3084,8 +3208,8 @@ var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21; } if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14756); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15091); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ @@ -3102,8 +3226,8 @@ var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24; } if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14758); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15093); +show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ @@ -3120,10 +3244,10 @@ var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27; } if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14760); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15095); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist8; +var_tclassidnode6 = var_nodearraylist7; /* isa nullable TClassid */ cltype29 = type_nullable_parser_nodes__TClassid.color; idtype30 = type_nullable_parser_nodes__TClassid.id; @@ -3138,6846 +3262,6725 @@ var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30; } if (!var28) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14762); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15097); +show_backtrace(1); } -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_listnode12 = var31; -var_listnode11 = var_nodearraylist9; -/* isa Array[Object] */ -cltype33 = type_array__Arraykernel__Object.color; -idtype34 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var32 = 0; +var_listnode7 = var_nodearraylist8; +/* isa Array[Object] */ +cltype32 = type_array__Arraykernel__Object.color; +idtype33 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var31 = 0; } else { -if(cltype33 >= var_listnode11->type->table_size) { -var32 = 0; +if(cltype32 >= var_listnode7->type->table_size) { +var31 = 0; } else { -var32 = var_listnode11->type->type_table[cltype33] == idtype34; +var31 = var_listnode7->type->type_table[cltype32] == idtype33; } } -if (!var32) { +if (!var31) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14765); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15099); +show_backtrace(1); } -var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on */; -var_listnode12 = var35; -var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var37 = NULL; -var38 = NULL; -var39 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var36, var37, var38, var_listnode12, var39) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var36); -var_pannotationsnode8 = var36; -var_pexterncodeblocknode14 = var_nodearraylist10; -/* isa nullable AExternCodeBlock */ -cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode14 == NULL) { -var40 = 1; +var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var34; +var35 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var35->class->vft[COLOR_array__Array__init]))(var35) /* init on */; +var_listnode13 = var35; +var_listnode12 = var_nodearraylist9; +/* isa Array[Object] */ +cltype37 = type_array__Arraykernel__Object.color; +idtype38 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var36 = 0; } else { -if(cltype41 >= var_pexterncodeblocknode14->type->table_size) { -var40 = 0; +if(cltype37 >= var_listnode12->type->table_size) { +var36 = 0; } else { -var40 = var_pexterncodeblocknode14->type->type_table[cltype41] == idtype42; +var36 = var_listnode12->type->type_table[cltype37] == idtype38; } } -if (!var40) { +if (!var36) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14774); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15103); +show_backtrace(1); } -var_listnode15 = var_nodearraylist11; -/* isa Array[Object] */ -cltype44 = type_array__Arraykernel__Object.color; -idtype45 = type_array__Arraykernel__Object.id; -if(var_listnode15 == NULL) { -var43 = 0; +var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; +var_listnode13 = var39; +var40 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var41 = NULL; +var42 = NULL; +var43 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var40, var41, var42, var_listnode13, var43) /* init_aannotations on */; +var_pannotationsnode9 = var40; +var_pexterncodeblocknode15 = var_nodearraylist10; +/* isa nullable AExternCodeBlock */ +cltype45 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype46 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode15 == NULL) { +var44 = 1; } else { -if(cltype44 >= var_listnode15->type->table_size) { -var43 = 0; +if(cltype45 >= var_pexterncodeblocknode15->type->table_size) { +var44 = 0; } else { -var43 = var_listnode15->type->type_table[cltype44] == idtype45; +var44 = var_pexterncodeblocknode15->type->type_table[cltype45] == idtype46; } } -if (!var43) { +if (!var44) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14776); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15112); +show_backtrace(1); } -var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on */; -var_listnode16 = var46; -var_listnode17 = var_nodearraylist12; -/* isa Array[Object] */ +var_listnode16 = var_nodearraylist11; +/* isa Array[Object] */ cltype48 = type_array__Arraykernel__Object.color; idtype49 = type_array__Arraykernel__Object.id; -if(var_listnode17 == NULL) { +if(var_listnode16 == NULL) { var47 = 0; } else { -if(cltype48 >= var_listnode17->type->table_size) { +if(cltype48 >= var_listnode16->type->table_size) { var47 = 0; } else { -var47 = var_listnode17->type->type_table[cltype48] == idtype49; +var47 = var_listnode16->type->type_table[cltype48] == idtype49; } } if (!var47) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14779); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15114); +show_backtrace(1); } -var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on */; -var_listnode18 = var50; -var_tkwendnode19 = var_nodearraylist14; -/* isa nullable TKwend */ -cltype52 = type_nullable_parser_nodes__TKwend.color; -idtype53 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode19 == NULL) { -var51 = 1; +var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on */; +var_listnode17 = var50; +var_listnode18 = var_nodearraylist12; +/* isa Array[Object] */ +cltype52 = type_array__Arraykernel__Object.color; +idtype53 = type_array__Arraykernel__Object.id; +if(var_listnode18 == NULL) { +var51 = 0; } else { -if(cltype52 >= var_tkwendnode19->type->table_size) { +if(cltype52 >= var_listnode18->type->table_size) { var51 = 0; } else { -var51 = var_tkwendnode19->type->type_table[cltype52] == idtype53; +var51 = var_listnode18->type->type_table[cltype52] == idtype53; } } if (!var51) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14782); -exit(1); -} -var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var54->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var54, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var54); -var_pclassdefnode1 = var54; -var_node_list = var_pclassdefnode1; -var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on */; -RET_LABEL:; +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15117); +show_backtrace(1); } -/* method parser#ReduceAction319#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction319__action(val* self, val* p0) { -parser__ReduceAction319__action(self, p0); +var54 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on */; +var_listnode19 = var54; +var_tkwendnode20 = var_nodearraylist14; +/* isa nullable TKwend */ +cltype56 = type_nullable_parser_nodes__TKwend.color; +idtype57 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode20 == NULL) { +var55 = 1; +} else { +if(cltype56 >= var_tkwendnode20->type->table_size) { +var55 = 0; +} else { +var55 = var_tkwendnode20->type->type_table[cltype56] == idtype57; +} +} +if (!var55) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15120); +show_backtrace(1); +} +var58 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var58->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var58, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on */; +var_pclassdefnode1 = var58; +var_node_list = var_pclassdefnode1; +var59 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var60 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var59) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var60, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction321#action for (self: ReduceAction321, Parser) */ -void parser__ReduceAction321__action(val* self, val* p0) { +/* method parser#ReduceAction326#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction326__action(val* self, val* p0) { +parser__ReduceAction326__action(self, p0); +RET_LABEL:; +} +/* method parser#ReduceAction327#action for (self: ReduceAction327, Parser) */ +void parser__ReduceAction327__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* var_nodearraylist15 /* var nodearraylist15: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; +val* var_nodearraylist14 /* var nodearraylist14: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var_nodearraylist13 /* var nodearraylist13: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var9 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var10 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var11 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var12 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var13 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var14 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var15 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var13 /* : Array[Object] */; +val* var16 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; -val* var14 /* : Array[Object] */; +val* var17 /* : Array[Object] */; val* var_listnode17 /* var listnode17: Array[Object] */; -val* var15 /* : Array[Object] */; +val* var18 /* : Array[Object] */; val* var_listnode19 /* var listnode19: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var16 /* : Bool */; +short int var19 /* : Bool */; int cltype; int idtype; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var23 /* : Bool */; int cltype24; int idtype25; -val* var_listnode7 /* var listnode7: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var26 /* : Bool */; int cltype27; int idtype28; -val* var29 /* : Array[Object] */; -val* var30 /* : Array[Object] */; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var_listnode7 /* var listnode7: nullable Object */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; +val* var35 /* : Array[Object] */; +val* var36 /* : Array[Object] */; val* var_listnode13 /* var listnode13: Array[Object] */; val* var_listnode12 /* var listnode12: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var34 /* : Array[Object] */; -val* var35 /* : AAnnotations */; -val* var36 /* : null */; -val* var37 /* : null */; -val* var38 /* : null */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +val* var40 /* : Array[Object] */; +val* var41 /* : AAnnotations */; +val* var42 /* : null */; +val* var43 /* : null */; +val* var44 /* : null */; val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; +short int var45 /* : Bool */; +int cltype46; +int idtype47; val* var_listnode16 /* var listnode16: nullable Object */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -val* var45 /* : Array[Object] */; +short int var48 /* : Bool */; +int cltype49; +int idtype50; +val* var51 /* : Array[Object] */; val* var_listnode18 /* var listnode18: nullable Object */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -val* var49 /* : Array[Object] */; +short int var52 /* : Bool */; +int cltype53; +int idtype54; +val* var55 /* : Array[Object] */; val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; -short int var50 /* : Bool */; -int cltype51; -int idtype52; -val* var53 /* : AStdClassdef */; -val* var54 /* : null */; +short int var56 /* : Bool */; +int cltype57; +int idtype58; +val* var59 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var55 /* : Int */; -long var56 /* : Int */; +long var60 /* : Int */; +long var61 /* : 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_nodearraylist15 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var2; +var_nodearraylist14 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var3; +var_nodearraylist13 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var4; +var_nodearraylist12 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var5; +var_nodearraylist11 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var6; +var_nodearraylist10 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var7; +var_nodearraylist9 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var8; +var_nodearraylist8 = var8; var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var9; +var_nodearraylist7 = var9; var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var10; +var_nodearraylist6 = var10; var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var11; +var_nodearraylist5 = 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_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_listnode17 = 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_listnode19 = var15; +var_nodearraylist4 = var12; +var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist3 = var13; +var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var14; +var15 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var15; +var16 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; +var_listnode8 = var16; +var17 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on */; +var_listnode17 = var17; +var18 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var18->class->vft[COLOR_array__Array__init]))(var18) /* init on */; +var_listnode19 = var18; 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; +var19 = 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", 14821); -exit(1); -} -var_pvisibilitynode4 = var_nodearraylist2; -/* 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; +var19 = 0; } else { -var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; +var19 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var17) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14823); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15162); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; -/* isa nullable AClasskind */ -cltype21 = type_nullable_parser_nodes__AClasskind.color; -idtype22 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype21 = type_nullable_parser_nodes__TKwredef.color; +idtype22 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { var20 = 1; } else { -if(cltype21 >= var_pclasskindnode5->type->table_size) { +if(cltype21 >= var_tkwredefnode3->type->table_size) { var20 = 0; } else { -var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; +var20 = var_tkwredefnode3->type->type_table[cltype21] == idtype22; } } if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14825); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15164); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist5; -/* isa nullable TClassid */ -cltype24 = type_nullable_parser_nodes__TClassid.color; -idtype25 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype24 = type_nullable_parser_nodes__AVisibility.color; +idtype25 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { var23 = 1; } else { -if(cltype24 >= var_tclassidnode6->type->table_size) { +if(cltype24 >= var_pvisibilitynode4->type->table_size) { var23 = 0; } else { -var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; +var23 = var_pvisibilitynode4->type->type_table[cltype24] == idtype25; } } if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14827); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15166); +show_backtrace(1); } -var_listnode7 = var_nodearraylist6; -/* isa Array[Object] */ -cltype27 = type_array__Arraykernel__Object.color; -idtype28 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var26 = 0; +var_pclasskindnode5 = var_nodearraylist4; +/* isa nullable AClasskind */ +cltype27 = type_nullable_parser_nodes__AClasskind.color; +idtype28 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { +var26 = 1; } else { -if(cltype27 >= var_listnode7->type->table_size) { +if(cltype27 >= var_pclasskindnode5->type->table_size) { var26 = 0; } else { -var26 = var_listnode7->type->type_table[cltype27] == idtype28; +var26 = var_pclasskindnode5->type->type_table[cltype27] == idtype28; } } if (!var26) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14829); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15168); +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; -var30 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on */; -CHECK_NEW_array__Array(var30); -var_listnode13 = var30; -var_listnode12 = var_nodearraylist7; +var_tclassidnode6 = var_nodearraylist8; +/* isa nullable TClassid */ +cltype30 = type_nullable_parser_nodes__TClassid.color; +idtype31 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { +var29 = 1; +} else { +if(cltype30 >= var_tclassidnode6->type->table_size) { +var29 = 0; +} else { +var29 = var_tclassidnode6->type->type_table[cltype30] == idtype31; +} +} +if (!var29) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15170); +show_backtrace(1); +} +var_listnode7 = var_nodearraylist9; +/* isa Array[Object] */ +cltype33 = type_array__Arraykernel__Object.color; +idtype34 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var32 = 0; +} else { +if(cltype33 >= var_listnode7->type->table_size) { +var32 = 0; +} else { +var32 = var_listnode7->type->type_table[cltype33] == idtype34; +} +} +if (!var32) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15172); +show_backtrace(1); +} +var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; +var_listnode8 = var35; +var36 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var36->class->vft[COLOR_array__Array__init]))(var36) /* init on */; +var_listnode13 = var36; +var_listnode12 = var_nodearraylist10; /* isa Array[Object] */ -cltype32 = type_array__Arraykernel__Object.color; -idtype33 = type_array__Arraykernel__Object.id; +cltype38 = type_array__Arraykernel__Object.color; +idtype39 = type_array__Arraykernel__Object.id; if(var_listnode12 == NULL) { -var31 = 0; +var37 = 0; } else { -if(cltype32 >= var_listnode12->type->table_size) { -var31 = 0; +if(cltype38 >= var_listnode12->type->table_size) { +var37 = 0; } else { -var31 = var_listnode12->type->type_table[cltype32] == idtype33; +var37 = var_listnode12->type->type_table[cltype38] == idtype39; } } -if (!var31) { +if (!var37) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14833); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15176); +show_backtrace(1); } -var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; -var_listnode13 = var34; -var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var36 = NULL; -var37 = NULL; -var38 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode13, var38) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var35); -var_pannotationsnode9 = var35; -var_pexterncodeblocknode15 = var_nodearraylist8; +var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; +var_listnode13 = var40; +var41 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var42 = NULL; +var43 = NULL; +var44 = NULL; +((void (*)(val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var41, var42, var43, var_listnode13, var44) /* init_aannotations on */; +var_pannotationsnode9 = var41; +var_pexterncodeblocknode15 = var_nodearraylist11; /* isa nullable AExternCodeBlock */ -cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id; +cltype46 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype47 = type_nullable_parser_nodes__AExternCodeBlock.id; if(var_pexterncodeblocknode15 == NULL) { -var39 = 1; +var45 = 1; } else { -if(cltype40 >= var_pexterncodeblocknode15->type->table_size) { -var39 = 0; +if(cltype46 >= var_pexterncodeblocknode15->type->table_size) { +var45 = 0; } else { -var39 = var_pexterncodeblocknode15->type->type_table[cltype40] == idtype41; +var45 = var_pexterncodeblocknode15->type->type_table[cltype46] == idtype47; } } -if (!var39) { +if (!var45) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14842); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15185); +show_backtrace(1); } -var_listnode16 = var_nodearraylist9; +var_listnode16 = var_nodearraylist12; /* isa Array[Object] */ -cltype43 = type_array__Arraykernel__Object.color; -idtype44 = type_array__Arraykernel__Object.id; +cltype49 = type_array__Arraykernel__Object.color; +idtype50 = type_array__Arraykernel__Object.id; if(var_listnode16 == NULL) { -var42 = 0; +var48 = 0; } else { -if(cltype43 >= var_listnode16->type->table_size) { -var42 = 0; +if(cltype49 >= var_listnode16->type->table_size) { +var48 = 0; } else { -var42 = var_listnode16->type->type_table[cltype43] == idtype44; +var48 = var_listnode16->type->type_table[cltype49] == idtype50; } } -if (!var42) { +if (!var48) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14844); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15187); +show_backtrace(1); } -var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on */; -var_listnode17 = var45; -var_listnode18 = var_nodearraylist10; +var51 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on */; +var_listnode17 = var51; +var_listnode18 = var_nodearraylist13; /* isa Array[Object] */ -cltype47 = type_array__Arraykernel__Object.color; -idtype48 = type_array__Arraykernel__Object.id; +cltype53 = type_array__Arraykernel__Object.color; +idtype54 = type_array__Arraykernel__Object.id; if(var_listnode18 == NULL) { -var46 = 0; +var52 = 0; } else { -if(cltype47 >= var_listnode18->type->table_size) { -var46 = 0; +if(cltype53 >= var_listnode18->type->table_size) { +var52 = 0; } else { -var46 = var_listnode18->type->type_table[cltype47] == idtype48; +var52 = var_listnode18->type->type_table[cltype53] == idtype54; } } -if (!var46) { +if (!var52) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14847); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15190); +show_backtrace(1); } -var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on */; -var_listnode19 = var49; -var_tkwendnode20 = var_nodearraylist12; +var55 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on */; +var_listnode19 = var55; +var_tkwendnode20 = var_nodearraylist15; /* isa nullable TKwend */ -cltype51 = type_nullable_parser_nodes__TKwend.color; -idtype52 = type_nullable_parser_nodes__TKwend.id; +cltype57 = type_nullable_parser_nodes__TKwend.color; +idtype58 = type_nullable_parser_nodes__TKwend.id; if(var_tkwendnode20 == NULL) { -var50 = 1; +var56 = 1; } else { -if(cltype51 >= var_tkwendnode20->type->table_size) { -var50 = 0; +if(cltype57 >= var_tkwendnode20->type->table_size) { +var56 = 0; } else { -var50 = var_tkwendnode20->type->type_table[cltype51] == idtype52; +var56 = var_tkwendnode20->type->type_table[cltype57] == idtype58; } } -if (!var50) { +if (!var56) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14850); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15193); +show_backtrace(1); } -var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var54 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var53->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var53, var_pdocnode2, var54, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var53); -var_pclassdefnode1 = var53; +var59 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var59->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var59, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on */; +var_pclassdefnode1 = var59; var_node_list = var_pclassdefnode1; -var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on */; +var60 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var61 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var60) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var61, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction321#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction321__action(val* self, val* p0) { -parser__ReduceAction321__action(self, p0); +/* method parser#ReduceAction327#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction327__action(val* self, val* p0) { +parser__ReduceAction327__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction322#action for (self: ReduceAction322, Parser) */ -void parser__ReduceAction322__action(val* self, val* p0) { +/* method parser#ReduceAction329#action for (self: ReduceAction329, Parser) */ +void parser__ReduceAction329__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist13 /* var nodearraylist13: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var9 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var10 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var11 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var12 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var13 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var14 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var15 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var16 /* : Array[Object] */; -val* var_listnode19 /* var listnode19: Array[Object] */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var17 /* : Bool */; +val* var_tkwclassnode2 /* var tkwclassnode2: nullable Object */; +short int var2 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : Array[Object] */; -val* var34 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -val* var38 /* : Array[Object] */; -val* var39 /* : AAnnotations */; -val* var40 /* : null */; -val* var41 /* : null */; -val* var42 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; -short int var43 /* : Bool */; -int cltype44; -int idtype45; -val* var_listnode16 /* var listnode16: nullable Object */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -val* var49 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: nullable Object */; -short int var50 /* : Bool */; -int cltype51; -int idtype52; -val* var53 /* : Array[Object] */; -val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; -short int var54 /* : Bool */; -int cltype55; -int idtype56; -val* var57 /* : AStdClassdef */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var58 /* : Int */; -long var59 /* : Int */; +val* var3 /* : AConcreteClasskind */; +val* var_pclasskindnode1 /* var pclasskindnode1: nullable AConcreteClasskind */; +long var4 /* : Int */; +long var5 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist13 = var1; -var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist12 = var2; -var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var3; -var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var4; -var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var5; -var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var6; -var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var7; -var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var8; -var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var9; -var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var10; -var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var11; -var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var12; -var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = 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_listnode8 = 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; -var16 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; -CHECK_NEW_array__Array(var16); -var_listnode19 = var16; -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) { -var17 = 1; +var_nodearraylist1 = var1; +var_tkwclassnode2 = var_nodearraylist1; +/* isa nullable TKwclass */ +cltype = type_nullable_parser_nodes__TKwclass.color; +idtype = type_nullable_parser_nodes__TKwclass.id; +if(var_tkwclassnode2 == NULL) { +var2 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var17 = 0; +if(cltype >= var_tkwclassnode2->type->table_size) { +var2 = 0; } else { -var17 = var_pdocnode2->type->type_table[cltype] == idtype; +var2 = var_tkwclassnode2->type->type_table[cltype] == idtype; } } -if (!var17) { +if (!var2) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14890); -exit(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype19 = type_nullable_parser_nodes__TKwredef.color; -idtype20 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var18 = 1; -} else { -if(cltype19 >= var_tkwredefnode3->type->table_size) { -var18 = 0; -} else { -var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20; +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15218); +show_backtrace(1); } +var3 = NEW_parser_nodes__AConcreteClasskind(&type_parser_nodes__AConcreteClasskind); +((void (*)(val*, val*))(var3->class->vft[COLOR_parser_prod__AConcreteClasskind__init_aconcreteclasskind]))(var3, var_tkwclassnode2) /* init_aconcreteclasskind on */; +var_pclasskindnode1 = var3; +var_node_list = var_pclasskindnode1; +var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on */; +RET_LABEL:; } -if (!var18) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14892); -exit(1); +/* method parser#ReduceAction329#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction329__action(val* self, val* p0) { +parser__ReduceAction329__action(self, p0); +RET_LABEL:; } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype22 = type_nullable_parser_nodes__AVisibility.color; -idtype23 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var21 = 1; +/* method parser#ReduceAction330#action for (self: ReduceAction330, Parser) */ +void parser__ReduceAction330__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwabstractnode2 /* var tkwabstractnode2: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var7 /* : AAbstractClasskind */; +val* var_pclasskindnode1 /* var pclasskindnode1: nullable AAbstractClasskind */; +long var8 /* : Int */; +long var9 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +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_tkwabstractnode2 = var_nodearraylist1; +/* isa nullable TKwabstract */ +cltype = type_nullable_parser_nodes__TKwabstract.color; +idtype = type_nullable_parser_nodes__TKwabstract.id; +if(var_tkwabstractnode2 == NULL) { +var3 = 1; } else { -if(cltype22 >= var_pvisibilitynode4->type->table_size) { -var21 = 0; +if(cltype >= var_tkwabstractnode2->type->table_size) { +var3 = 0; } else { -var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23; +var3 = var_tkwabstractnode2->type->type_table[cltype] == idtype; } } -if (!var21) { +if (!var3) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14894); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15234); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype25 = type_nullable_parser_nodes__AClasskind.color; -idtype26 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var24 = 1; +var_tkwclassnode3 = var_nodearraylist2; +/* isa nullable TKwclass */ +cltype5 = type_nullable_parser_nodes__TKwclass.color; +idtype6 = type_nullable_parser_nodes__TKwclass.id; +if(var_tkwclassnode3 == NULL) { +var4 = 1; } else { -if(cltype25 >= var_pclasskindnode5->type->table_size) { -var24 = 0; +if(cltype5 >= var_tkwclassnode3->type->table_size) { +var4 = 0; } else { -var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26; +var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6; } } -if (!var24) { +if (!var4) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14896); -exit(1); -} -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype28 = type_nullable_parser_nodes__TClassid.color; -idtype29 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { -var27 = 1; -} else { -if(cltype28 >= var_tclassidnode6->type->table_size) { -var27 = 0; -} else { -var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29; +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15236); +show_backtrace(1); } +var7 = NEW_parser_nodes__AAbstractClasskind(&type_parser_nodes__AAbstractClasskind); +((void (*)(val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AAbstractClasskind__init_aabstractclasskind]))(var7, var_tkwabstractnode2, var_tkwclassnode3) /* init_aabstractclasskind on */; +var_pclasskindnode1 = var7; +var_node_list = var_pclasskindnode1; +var8 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var9 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var8) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var9, var_node_list) /* push on */; +RET_LABEL:; } -if (!var27) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14898); -exit(1); +/* method parser#ReduceAction330#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction330__action(val* self, val* p0) { +parser__ReduceAction330__action(self, p0); +RET_LABEL:; } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype31 = type_array__Arraykernel__Object.color; -idtype32 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var30 = 0; +/* method parser#ReduceAction331#action for (self: ReduceAction331, Parser) */ +void parser__ReduceAction331__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwinterfacenode2 /* var tkwinterfacenode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var3 /* : AInterfaceClasskind */; +val* var_pclasskindnode1 /* var pclasskindnode1: nullable AInterfaceClasskind */; +long var4 /* : Int */; +long var5 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var1; +var_tkwinterfacenode2 = var_nodearraylist1; +/* isa nullable TKwinterface */ +cltype = type_nullable_parser_nodes__TKwinterface.color; +idtype = type_nullable_parser_nodes__TKwinterface.id; +if(var_tkwinterfacenode2 == NULL) { +var2 = 1; } else { -if(cltype31 >= var_listnode7->type->table_size) { -var30 = 0; +if(cltype >= var_tkwinterfacenode2->type->table_size) { +var2 = 0; } else { -var30 = var_listnode7->type->type_table[cltype31] == idtype32; +var2 = var_tkwinterfacenode2->type->type_table[cltype] == idtype; } } -if (!var30) { +if (!var2) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14900); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15252); +show_backtrace(1); } -var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var33; -var34 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on */; -CHECK_NEW_array__Array(var34); -var_listnode13 = var34; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype36 = type_array__Arraykernel__Object.color; -idtype37 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var35 = 0; -} else { -if(cltype36 >= var_listnode12->type->table_size) { -var35 = 0; -} else { -var35 = var_listnode12->type->type_table[cltype36] == idtype37; +var3 = NEW_parser_nodes__AInterfaceClasskind(&type_parser_nodes__AInterfaceClasskind); +((void (*)(val*, val*))(var3->class->vft[COLOR_parser_prod__AInterfaceClasskind__init_ainterfaceclasskind]))(var3, var_tkwinterfacenode2) /* init_ainterfaceclasskind on */; +var_pclasskindnode1 = var3; +var_node_list = var_pclasskindnode1; +var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on */; +RET_LABEL:; } +/* method parser#ReduceAction331#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction331__action(val* self, val* p0) { +parser__ReduceAction331__action(self, p0); +RET_LABEL:; } -if (!var35) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14904); -exit(1); -} -var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; -var_listnode13 = var38; -var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var40 = NULL; -var41 = NULL; -var42 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var39, var40, var41, var_listnode13, var42) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var39); -var_pannotationsnode9 = var39; -var_pexterncodeblocknode15 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype44 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype45 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode15 == NULL) { -var43 = 1; +/* method parser#ReduceAction332#action for (self: ReduceAction332, Parser) */ +void parser__ReduceAction332__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwenumnode2 /* var tkwenumnode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var3 /* : AEnumClasskind */; +val* var_pclasskindnode1 /* var pclasskindnode1: nullable AEnumClasskind */; +long var4 /* : Int */; +long var5 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var1; +var_tkwenumnode2 = var_nodearraylist1; +/* isa nullable TKwenum */ +cltype = type_nullable_parser_nodes__TKwenum.color; +idtype = type_nullable_parser_nodes__TKwenum.id; +if(var_tkwenumnode2 == NULL) { +var2 = 1; } else { -if(cltype44 >= var_pexterncodeblocknode15->type->table_size) { -var43 = 0; +if(cltype >= var_tkwenumnode2->type->table_size) { +var2 = 0; } else { -var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45; +var2 = var_tkwenumnode2->type->type_table[cltype] == idtype; } } -if (!var43) { +if (!var2) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14913); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15267); +show_backtrace(1); } -var_listnode16 = var_nodearraylist10; -/* isa Array[Object] */ -cltype47 = type_array__Arraykernel__Object.color; -idtype48 = type_array__Arraykernel__Object.id; -if(var_listnode16 == NULL) { -var46 = 0; +var3 = NEW_parser_nodes__AEnumClasskind(&type_parser_nodes__AEnumClasskind); +((void (*)(val*, val*))(var3->class->vft[COLOR_parser_prod__AEnumClasskind__init_aenumclasskind]))(var3, var_tkwenumnode2) /* init_aenumclasskind on */; +var_pclasskindnode1 = var3; +var_node_list = var_pclasskindnode1; +var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on */; +RET_LABEL:; +} +/* method parser#ReduceAction332#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction332__action(val* self, val* p0) { +parser__ReduceAction332__action(self, p0); +RET_LABEL:; +} +/* method parser#ReduceAction333#action for (self: ReduceAction333, Parser) */ +void parser__ReduceAction333__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwexternnode2 /* var tkwexternnode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var3 /* : AExternClasskind */; +val* var4 /* : null */; +val* var_pclasskindnode1 /* var pclasskindnode1: nullable AExternClasskind */; +long var5 /* : Int */; +long var6 /* : 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; +var_tkwexternnode2 = var_nodearraylist1; +/* isa nullable TKwextern */ +cltype = type_nullable_parser_nodes__TKwextern.color; +idtype = type_nullable_parser_nodes__TKwextern.id; +if(var_tkwexternnode2 == NULL) { +var2 = 1; } else { -if(cltype47 >= var_listnode16->type->table_size) { -var46 = 0; +if(cltype >= var_tkwexternnode2->type->table_size) { +var2 = 0; } else { -var46 = var_listnode16->type->type_table[cltype47] == idtype48; +var2 = var_tkwexternnode2->type->type_table[cltype] == idtype; } } -if (!var46) { +if (!var2) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14915); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15282); +show_backtrace(1); } -var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on */; -var_listnode17 = var49; -var_listnode18 = var_nodearraylist11; -/* isa Array[Object] */ -cltype51 = type_array__Arraykernel__Object.color; -idtype52 = type_array__Arraykernel__Object.id; -if(var_listnode18 == NULL) { -var50 = 0; +var3 = NEW_parser_nodes__AExternClasskind(&type_parser_nodes__AExternClasskind); +var4 = NULL; +((void (*)(val*, val*, val*))(var3->class->vft[COLOR_parser_prod__AExternClasskind__init_aexternclasskind]))(var3, var_tkwexternnode2, var4) /* init_aexternclasskind on */; +var_pclasskindnode1 = var3; +var_node_list = var_pclasskindnode1; +var5 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var6 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var5) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var6, var_node_list) /* push on */; +RET_LABEL:; +} +/* method parser#ReduceAction333#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction333__action(val* self, val* p0) { +parser__ReduceAction333__action(self, p0); +RET_LABEL:; +} +/* method parser#ReduceAction334#action for (self: ReduceAction334, Parser) */ +void parser__ReduceAction334__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwexternnode2 /* var tkwexternnode2: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var7 /* : AExternClasskind */; +val* var_pclasskindnode1 /* var pclasskindnode1: nullable AExternClasskind */; +long var8 /* : Int */; +long var9 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +var1 = ((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_tkwexternnode2 = var_nodearraylist1; +/* isa nullable TKwextern */ +cltype = type_nullable_parser_nodes__TKwextern.color; +idtype = type_nullable_parser_nodes__TKwextern.id; +if(var_tkwexternnode2 == NULL) { +var3 = 1; } else { -if(cltype51 >= var_listnode18->type->table_size) { -var50 = 0; +if(cltype >= var_tkwexternnode2->type->table_size) { +var3 = 0; } else { -var50 = var_listnode18->type->type_table[cltype51] == idtype52; +var3 = var_tkwexternnode2->type->type_table[cltype] == idtype; } } -if (!var50) { +if (!var3) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14918); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15299); +show_backtrace(1); } -var53 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on */; -var_listnode19 = var53; -var_tkwendnode20 = var_nodearraylist13; -/* isa nullable TKwend */ -cltype55 = type_nullable_parser_nodes__TKwend.color; -idtype56 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode20 == NULL) { -var54 = 1; +var_tkwclassnode3 = var_nodearraylist2; +/* isa nullable TKwclass */ +cltype5 = type_nullable_parser_nodes__TKwclass.color; +idtype6 = type_nullable_parser_nodes__TKwclass.id; +if(var_tkwclassnode3 == NULL) { +var4 = 1; } else { -if(cltype55 >= var_tkwendnode20->type->table_size) { -var54 = 0; +if(cltype5 >= var_tkwclassnode3->type->table_size) { +var4 = 0; } else { -var54 = var_tkwendnode20->type->type_table[cltype55] == idtype56; +var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6; } } -if (!var54) { +if (!var4) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14921); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15301); +show_backtrace(1); } -var57 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var57->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var57, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var57); -var_pclassdefnode1 = var57; -var_node_list = var_pclassdefnode1; -var58 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var59 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var58) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var59, var_node_list) /* push on */; +var7 = NEW_parser_nodes__AExternClasskind(&type_parser_nodes__AExternClasskind); +((void (*)(val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AExternClasskind__init_aexternclasskind]))(var7, var_tkwexternnode2, var_tkwclassnode3) /* init_aexternclasskind on */; +var_pclasskindnode1 = var7; +var_node_list = var_pclasskindnode1; +var8 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var9 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var8) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var9, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction322#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction322__action(val* self, val* p0) { -parser__ReduceAction322__action(self, p0); +/* method parser#ReduceAction334#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction334__action(val* self, val* p0) { +parser__ReduceAction334__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction323#action for (self: ReduceAction323, Parser) */ -void parser__ReduceAction323__action(val* self, val* p0) { +/* method parser#ReduceAction335#action for (self: ReduceAction335, Parser) */ +void parser__ReduceAction335__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist13 /* var nodearraylist13: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var9 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var10 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var11 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var12 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var13 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var14 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var15 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var16 /* : Array[Object] */; -val* var_listnode19 /* var listnode19: Array[Object] */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var17 /* : Bool */; -int cltype; -int idtype; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : Array[Object] */; -val* 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_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; -short int var40 /* : Bool */; -int cltype41; -int idtype42; -val* var_listnode16 /* var listnode16: nullable Object */; -short int var43 /* : Bool */; -int cltype44; -int idtype45; -val* var46 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: nullable Object */; -short int var47 /* : Bool */; -int cltype48; -int idtype49; -val* var50 /* : Array[Object] */; -val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; -short int var51 /* : Bool */; -int cltype52; -int idtype53; -val* var54 /* : AStdClassdef */; -val* var55 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var56 /* : Int */; -long var57 /* : Int */; +val* var6 /* : Array[Object] */; +val* var_listnode2 /* var listnode2: Array[Object] */; +val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */; +val* var7 /* : null */; +short int var8 /* : Bool */; +long var9 /* : Int */; +long var10 /* : 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_nodearraylist13 = var1; +var_nodearraylist5 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist12 = var2; +var_nodearraylist4 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var3; +var_nodearraylist3 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var4; +var_nodearraylist2 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var5; -var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var6; -var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var7; -var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var8; -var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var9; -var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var10; -var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var11; -var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var12; -var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = 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_listnode8 = 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; -var16 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; -CHECK_NEW_array__Array(var16); -var_listnode19 = var16; -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) { -var17 = 1; -} else { -if(cltype >= var_pdocnode2->type->table_size) { -var17 = 0; +var_nodearraylist1 = var5; +var6 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var6->class->vft[COLOR_array__Array__init]))(var6) /* init on */; +var_listnode2 = var6; +var_pformaldefnode1 = var_nodearraylist3; +var7 = NULL; +if (var_pformaldefnode1 == NULL) { +var8 = 0; /* is null */ } else { -var17 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (!var17) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14961); -exit(1); +var8 = 1; /* arg is null and recv is not */ } -var_pvisibilitynode4 = var_nodearraylist2; -/* 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; +if (var8){ +((void (*)(val*, val*))(var_listnode2->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_listnode2, var_pformaldefnode1) /* add on */; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; } +var_node_list = var_listnode2; +var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on */; +RET_LABEL:; } -if (!var18) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14963); -exit(1); +/* method parser#ReduceAction335#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction335__action(val* self, val* p0) { +parser__ReduceAction335__action(self, p0); +RET_LABEL:; } -var_pclasskindnode5 = var_nodearraylist3; -/* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var21 = 1; +/* method parser#ReduceAction336#action for (self: ReduceAction336, Parser) */ +void parser__ReduceAction336__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var7 /* : Array[Object] */; +val* var_listnode3 /* var listnode3: Array[Object] */; +val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */; +val* var_listnode2 /* var listnode2: nullable Object */; +short int var8 /* : Bool */; +int cltype; +int idtype; +val* var9 /* : null */; +short int var10 /* : Bool */; +val* var11 /* : Array[Object] */; +long var12 /* : Int */; +long var13 /* : 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; +var7 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var7->class->vft[COLOR_array__Array__init]))(var7) /* init on */; +var_listnode3 = var7; +var_pformaldefnode1 = var_nodearraylist3; +var_listnode2 = var_nodearraylist4; +/* isa Array[Object] */ +cltype = type_array__Arraykernel__Object.color; +idtype = type_array__Arraykernel__Object.id; +if(var_listnode2 == NULL) { +var8 = 0; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; +if(cltype >= var_listnode2->type->table_size) { +var8 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var8 = var_listnode2->type->type_table[cltype] == idtype; } } -if (!var21) { +if (!var8) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14965); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15343); +show_backtrace(1); } -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(cltype25 >= var_tclassidnode6->type->table_size) { -var24 = 0; +var9 = NULL; +if (var_pformaldefnode1 == NULL) { +var10 = 0; /* is null */ } 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", 14967); -exit(1); +var10 = 1; /* arg is null and recv is not */ } -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(cltype28 >= var_listnode7->type->table_size) { -var27 = 0; +if (var10){ +((void (*)(val*, val*))(var_listnode3->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_listnode3, var_pformaldefnode1) /* add on */; } else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; -} } -if (!var27) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14969); -exit(1); +var11 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode3, var_listnode2) /* concat on */; +var_listnode3 = var11; +var_node_list = var_listnode3; +var12 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var13 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var12) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var13, var_node_list) /* push on */; +RET_LABEL:; } -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; -/* 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; +/* method parser#ReduceAction336#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction336__action(val* self, val* p0) { +parser__ReduceAction336__action(self, p0); +RET_LABEL:; } +/* method parser#ReduceAction337#action for (self: ReduceAction337, Parser) */ +void parser__ReduceAction337__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */; +long var4 /* : Int */; +long var5 /* : 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_nodearraylist3 = var1; +var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var2; +var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var3; +var_pformaldefnode1 = var_nodearraylist3; +var_node_list = var_pformaldefnode1; +var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on */; +RET_LABEL:; } -if (!var32) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14973); -exit(1); +/* method parser#ReduceAction337#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction337__action(val* self, val* p0) { +parser__ReduceAction337__action(self, p0); +RET_LABEL:; } -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; -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_pexterncodeblocknode15 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode15 == NULL) { -var40 = 1; +/* method parser#ReduceAction338#action for (self: ReduceAction338, Parser) */ +void parser__ReduceAction338__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; +short int var2 /* : Bool */; +int cltype; +int idtype; +val* var3 /* : AFormaldef */; +val* var4 /* : null */; +val* var5 /* : null */; +val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; +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_nodearraylist1 = var1; +var_tclassidnode2 = var_nodearraylist1; +/* isa nullable TClassid */ +cltype = type_nullable_parser_nodes__TClassid.color; +idtype = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode2 == NULL) { +var2 = 1; } else { -if(cltype41 >= var_pexterncodeblocknode15->type->table_size) { -var40 = 0; +if(cltype >= var_tclassidnode2->type->table_size) { +var2 = 0; } else { -var40 = var_pexterncodeblocknode15->type->type_table[cltype41] == idtype42; +var2 = var_tclassidnode2->type->type_table[cltype] == idtype; } } -if (!var40) { +if (!var2) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14982); -exit(1); -} -var_listnode16 = var_nodearraylist10; -/* isa Array[Object] */ -cltype44 = type_array__Arraykernel__Object.color; -idtype45 = type_array__Arraykernel__Object.id; -if(var_listnode16 == NULL) { -var43 = 0; -} else { -if(cltype44 >= var_listnode16->type->table_size) { -var43 = 0; -} else { -var43 = var_listnode16->type->type_table[cltype44] == idtype45; +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15372); +show_backtrace(1); } +var3 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef); +var4 = NULL; +var5 = NULL; +((void (*)(val*, val*, val*, val*))(var3->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var3, var_tclassidnode2, var4, var5) /* init_aformaldef on */; +var_pformaldefnode1 = var3; +var_node_list = var_pformaldefnode1; +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:; } -if (!var43) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14984); -exit(1); +/* method parser#ReduceAction338#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction338__action(val* self, val* p0) { +parser__ReduceAction338__action(self, p0); +RET_LABEL:; } -var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on */; -var_listnode17 = var46; -var_listnode18 = var_nodearraylist11; -/* isa Array[Object] */ -cltype48 = type_array__Arraykernel__Object.color; -idtype49 = type_array__Arraykernel__Object.id; -if(var_listnode18 == NULL) { -var47 = 0; +/* method parser#ReduceAction339#action for (self: ReduceAction339, Parser) */ +void parser__ReduceAction339__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var7 /* : AFormaldef */; +val* var8 /* : null */; +val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; +long var9 /* : Int */; +long var10 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +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_tclassidnode2 = var_nodearraylist1; +/* isa nullable TClassid */ +cltype = type_nullable_parser_nodes__TClassid.color; +idtype = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode2 == NULL) { +var3 = 1; } else { -if(cltype48 >= var_listnode18->type->table_size) { -var47 = 0; +if(cltype >= var_tclassidnode2->type->table_size) { +var3 = 0; } else { -var47 = var_listnode18->type->type_table[cltype48] == idtype49; +var3 = var_tclassidnode2->type->type_table[cltype] == idtype; } } -if (!var47) { +if (!var3) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14987); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15390); +show_backtrace(1); } -var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on */; -var_listnode19 = var50; -var_tkwendnode20 = var_nodearraylist13; -/* isa nullable TKwend */ -cltype52 = type_nullable_parser_nodes__TKwend.color; -idtype53 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode20 == NULL) { -var51 = 1; +var_pannotationsnode4 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype5 = type_nullable_parser_nodes__AAnnotations.color; +idtype6 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode4 == NULL) { +var4 = 1; } else { -if(cltype52 >= var_tkwendnode20->type->table_size) { -var51 = 0; +if(cltype5 >= var_pannotationsnode4->type->table_size) { +var4 = 0; } else { -var51 = var_tkwendnode20->type->type_table[cltype52] == idtype53; +var4 = var_pannotationsnode4->type->type_table[cltype5] == idtype6; } } -if (!var51) { +if (!var4) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14990); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15392); +show_backtrace(1); } -var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var55 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var54->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var54, var_pdocnode2, var55, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var54); -var_pclassdefnode1 = var54; -var_node_list = var_pclassdefnode1; -var56 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var57 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var56) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var57, var_node_list) /* push on */; +var7 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef); +var8 = NULL; +((void (*)(val*, val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var7, var_tclassidnode2, var8, var_pannotationsnode4) /* init_aformaldef on */; +var_pformaldefnode1 = var7; +var_node_list = var_pformaldefnode1; +var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction323#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction323__action(val* self, val* p0) { -parser__ReduceAction323__action(self, p0); +/* method parser#ReduceAction339#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction339__action(val* self, val* p0) { +parser__ReduceAction339__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction324#action for (self: ReduceAction324, Parser) */ -void parser__ReduceAction324__action(val* self, val* p0) { +/* method parser#ReduceAction340#action for (self: ReduceAction340, Parser) */ +void parser__ReduceAction340__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_nodearraylist14 /* var nodearraylist14: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist13 /* var nodearraylist13: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var9 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var10 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var11 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var12 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var13 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var14 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var15 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var16 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var17 /* : Array[Object] */; -val* var_listnode19 /* var listnode19: Array[Object] */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var18 /* : Bool */; +val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : Array[Object] */; -val* var32 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var33 /* : Bool */; -int cltype34; -int idtype35; -val* var36 /* : Array[Object] */; -val* var37 /* : AAnnotations */; -val* var38 /* : null */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -val* var_listnode16 /* var listnode16: nullable Object */; -short int var44 /* : Bool */; -int cltype45; -int idtype46; -val* var47 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: nullable Object */; -short int var48 /* : Bool */; -int cltype49; -int idtype50; -val* var51 /* : Array[Object] */; -val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; -short int var52 /* : Bool */; -int cltype53; -int idtype54; -val* var55 /* : AStdClassdef */; -val* var56 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var57 /* : Int */; -long var58 /* : Int */; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var7 /* : AFormaldef */; +val* var8 /* : null */; +val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; +long var9 /* : Int */; +long var10 /* : Int */; var_p = p0; var = NULL; var_node_list = var; var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist14 = var1; +var_nodearraylist2 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist13 = var2; -var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist12 = var3; -var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var4; -var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var5; -var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var6; -var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var7; -var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var8; -var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var9; -var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var10; -var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var11; -var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var12; -var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var13; -var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = 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_listnode8 = var15; -var16 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; -CHECK_NEW_array__Array(var16); -var_listnode17 = var16; -var17 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on */; -CHECK_NEW_array__Array(var17); -var_listnode19 = var17; -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) { -var18 = 1; +var_nodearraylist1 = var2; +var_tclassidnode2 = var_nodearraylist1; +/* isa nullable TClassid */ +cltype = type_nullable_parser_nodes__TClassid.color; +idtype = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode2 == NULL) { +var3 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var18 = 0; +if(cltype >= var_tclassidnode2->type->table_size) { +var3 = 0; } else { -var18 = var_pdocnode2->type->type_table[cltype] == idtype; +var3 = var_tclassidnode2->type->type_table[cltype] == idtype; } } -if (!var18) { +if (!var3) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15031); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15410); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist2; -/* isa nullable AVisibility */ -cltype20 = type_nullable_parser_nodes__AVisibility.color; -idtype21 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var_ptypenode3 = var_nodearraylist2; +/* isa nullable AType */ +cltype5 = type_nullable_parser_nodes__AType.color; +idtype6 = type_nullable_parser_nodes__AType.id; +if(var_ptypenode3 == NULL) { +var4 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype5 >= var_ptypenode3->type->table_size) { +var4 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var4 = var_ptypenode3->type->type_table[cltype5] == idtype6; } } -if (!var19) { +if (!var4) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15033); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15412); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist3; -/* isa nullable AClasskind */ -cltype23 = type_nullable_parser_nodes__AClasskind.color; -idtype24 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var22 = 1; +var7 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef); +var8 = NULL; +((void (*)(val*, val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var7, var_tclassidnode2, var_ptypenode3, var8) /* init_aformaldef on */; +var_pformaldefnode1 = var7; +var_node_list = var_pformaldefnode1; +var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on */; +RET_LABEL:; +} +/* method parser#ReduceAction340#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction340__action(val* self, val* p0) { +parser__ReduceAction340__action(self, p0); +RET_LABEL:; +} +/* method parser#ReduceAction341#action for (self: ReduceAction341, Parser) */ +void parser__ReduceAction341__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; +short int var4 /* : Bool */; +int cltype; +int idtype; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var5 /* : Bool */; +int cltype6; +int idtype7; +val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +val* var11 /* : AFormaldef */; +val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; +long var12 /* : Int */; +long var13 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist3 = var1; +var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var2; +var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var3; +var_tclassidnode2 = var_nodearraylist1; +/* isa nullable TClassid */ +cltype = type_nullable_parser_nodes__TClassid.color; +idtype = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode2 == NULL) { +var4 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype >= var_tclassidnode2->type->table_size) { +var4 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var4 = var_tclassidnode2->type->type_table[cltype] == idtype; } } -if (!var22) { +if (!var4) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15035); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15431); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist7; -/* isa nullable TClassid */ -cltype26 = type_nullable_parser_nodes__TClassid.color; -idtype27 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { -var25 = 1; +var_ptypenode3 = var_nodearraylist3; +/* isa nullable AType */ +cltype6 = type_nullable_parser_nodes__AType.color; +idtype7 = type_nullable_parser_nodes__AType.id; +if(var_ptypenode3 == NULL) { +var5 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; +if(cltype6 >= var_ptypenode3->type->table_size) { +var5 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var5 = var_ptypenode3->type->type_table[cltype6] == idtype7; } } -if (!var25) { +if (!var5) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15037); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15433); +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; +var_pannotationsnode4 = var_nodearraylist2; +/* isa nullable AAnnotations */ +cltype9 = type_nullable_parser_nodes__AAnnotations.color; +idtype10 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode4 == NULL) { +var8 = 1; } else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; +if(cltype9 >= var_pannotationsnode4->type->table_size) { +var8 = 0; } else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var8 = var_pannotationsnode4->type->type_table[cltype9] == idtype10; } } -if (!var28) { +if (!var8) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15039); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15435); +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; +var11 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef); +((void (*)(val*, val*, val*, val*))(var11->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var11, var_tclassidnode2, var_ptypenode3, var_pannotationsnode4) /* init_aformaldef on */; +var_pformaldefnode1 = var11; +var_node_list = var_pformaldefnode1; +var12 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var13 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var12) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var13, var_node_list) /* push on */; +RET_LABEL:; +} +/* method parser#ReduceAction341#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction341__action(val* self, val* p0) { +parser__ReduceAction341__action(self, p0); +RET_LABEL:; +} +/* method parser#ReduceAction342#action for (self: ReduceAction342, Parser) */ +void parser__ReduceAction342__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */; +short int var5 /* : Bool */; +int cltype; +int idtype; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var6 /* : Bool */; +int cltype7; +int idtype8; +val* var9 /* : ASuperclass */; +val* var10 /* : null */; +val* var_psuperclassnode1 /* var psuperclassnode1: nullable ASuperclass */; +long var11 /* : Int */; +long var12 /* : 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_nodearraylist4 = var1; +var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist3 = var2; +var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var3; +var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var4; +var_tkwsupernode2 = var_nodearraylist2; +/* isa nullable TKwsuper */ +cltype = type_nullable_parser_nodes__TKwsuper.color; +idtype = type_nullable_parser_nodes__TKwsuper.id; +if(var_tkwsupernode2 == NULL) { +var5 = 1; } else { -if(cltype34 >= var_listnode12->type->table_size) { -var33 = 0; +if(cltype >= var_tkwsupernode2->type->table_size) { +var5 = 0; } else { -var33 = var_listnode12->type->type_table[cltype34] == idtype35; +var5 = var_tkwsupernode2->type->type_table[cltype] == idtype; } } -if (!var33) { +if (!var5) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15043); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15455); +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_pexterncodeblocknode15 = var_nodearraylist10; -/* isa nullable AExternCodeBlock */ -cltype42 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype43 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode15 == NULL) { -var41 = 1; +var_ptypenode3 = var_nodearraylist4; +/* isa nullable AType */ +cltype7 = type_nullable_parser_nodes__AType.color; +idtype8 = type_nullable_parser_nodes__AType.id; +if(var_ptypenode3 == NULL) { +var6 = 1; } else { -if(cltype42 >= var_pexterncodeblocknode15->type->table_size) { -var41 = 0; +if(cltype7 >= var_ptypenode3->type->table_size) { +var6 = 0; } else { -var41 = var_pexterncodeblocknode15->type->type_table[cltype42] == idtype43; +var6 = var_ptypenode3->type->type_table[cltype7] == idtype8; +} } +if (!var6) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15457); +show_backtrace(1); +} +var9 = NEW_parser_nodes__ASuperclass(&type_parser_nodes__ASuperclass); +var10 = NULL; +((void (*)(val*, val*, val*, val*))(var9->class->vft[COLOR_parser_prod__ASuperclass__init_asuperclass]))(var9, var_tkwsupernode2, var_ptypenode3, var10) /* init_asuperclass on */; +var_psuperclassnode1 = var9; +var_node_list = var_psuperclassnode1; +var11 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var12 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var11) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var12, var_node_list) /* push on */; +RET_LABEL:; } -if (!var41) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15052); -exit(1); +/* method parser#ReduceAction342#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction342__action(val* self, val* p0) { +parser__ReduceAction342__action(self, p0); +RET_LABEL:; } -var_listnode16 = var_nodearraylist11; -/* isa Array[Object] */ -cltype45 = type_array__Arraykernel__Object.color; -idtype46 = type_array__Arraykernel__Object.id; -if(var_listnode16 == NULL) { -var44 = 0; +/* method parser#ReduceAction343#action for (self: ReduceAction343, Parser) */ +void parser__ReduceAction343__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */; +short int var6 /* : Bool */; +int cltype; +int idtype; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var13 /* : ASuperclass */; +val* var_psuperclassnode1 /* var psuperclassnode1: nullable ASuperclass */; +long var14 /* : Int */; +long var15 /* : 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_nodearraylist5 = var1; +var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist4 = var2; +var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist3 = var3; +var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist2 = var4; +var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var5; +var_tkwsupernode2 = var_nodearraylist2; +/* isa nullable TKwsuper */ +cltype = type_nullable_parser_nodes__TKwsuper.color; +idtype = type_nullable_parser_nodes__TKwsuper.id; +if(var_tkwsupernode2 == NULL) { +var6 = 1; } else { -if(cltype45 >= var_listnode16->type->table_size) { -var44 = 0; +if(cltype >= var_tkwsupernode2->type->table_size) { +var6 = 0; } else { -var44 = var_listnode16->type->type_table[cltype45] == idtype46; +var6 = var_tkwsupernode2->type->type_table[cltype] == idtype; } } -if (!var44) { +if (!var6) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15054); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15478); +show_backtrace(1); } -var47 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on */; -var_listnode17 = var47; -var_listnode18 = var_nodearraylist12; -/* isa Array[Object] */ -cltype49 = type_array__Arraykernel__Object.color; -idtype50 = type_array__Arraykernel__Object.id; -if(var_listnode18 == NULL) { -var48 = 0; +var_ptypenode3 = var_nodearraylist4; +/* isa nullable AType */ +cltype8 = type_nullable_parser_nodes__AType.color; +idtype9 = type_nullable_parser_nodes__AType.id; +if(var_ptypenode3 == NULL) { +var7 = 1; } else { -if(cltype49 >= var_listnode18->type->table_size) { -var48 = 0; +if(cltype8 >= var_ptypenode3->type->table_size) { +var7 = 0; } else { -var48 = var_listnode18->type->type_table[cltype49] == idtype50; +var7 = var_ptypenode3->type->type_table[cltype8] == idtype9; } } -if (!var48) { +if (!var7) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15057); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15480); +show_backtrace(1); } -var51 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on */; -var_listnode19 = var51; -var_tkwendnode20 = var_nodearraylist14; -/* isa nullable TKwend */ -cltype53 = type_nullable_parser_nodes__TKwend.color; -idtype54 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode20 == NULL) { -var52 = 1; +var_pannotationsnode4 = var_nodearraylist5; +/* isa nullable AAnnotations */ +cltype11 = type_nullable_parser_nodes__AAnnotations.color; +idtype12 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode4 == NULL) { +var10 = 1; } else { -if(cltype53 >= var_tkwendnode20->type->table_size) { -var52 = 0; +if(cltype11 >= var_pannotationsnode4->type->table_size) { +var10 = 0; } else { -var52 = var_tkwendnode20->type->type_table[cltype53] == idtype54; +var10 = var_pannotationsnode4->type->type_table[cltype11] == idtype12; } } -if (!var52) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15060); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15482); +show_backtrace(1); } -var55 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var56 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var55->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var55, var_pdocnode2, var56, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var55); -var_pclassdefnode1 = var55; -var_node_list = var_pclassdefnode1; -var57 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var58 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var57) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var58, var_node_list) /* push on */; +var13 = NEW_parser_nodes__ASuperclass(&type_parser_nodes__ASuperclass); +((void (*)(val*, val*, val*, val*))(var13->class->vft[COLOR_parser_prod__ASuperclass__init_asuperclass]))(var13, var_tkwsupernode2, var_ptypenode3, var_pannotationsnode4) /* init_asuperclass on */; +var_psuperclassnode1 = var13; +var_node_list = var_psuperclassnode1; +var14 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var15 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var14) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var15, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction324#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction324__action(val* self, val* p0) { -parser__ReduceAction324__action(self, p0); +/* method parser#ReduceAction343#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction343__action(val* self, val* p0) { +parser__ReduceAction343__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction326#action for (self: ReduceAction326, Parser) */ -void parser__ReduceAction326__action(val* self, val* p0) { +/* method parser#ReduceAction344#action for (self: ReduceAction344, Parser) */ +void parser__ReduceAction344__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_nodearraylist14 /* var nodearraylist14: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist13 /* var nodearraylist13: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var9 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var10 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var11 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var12 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var13 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var14 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var15 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var16 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var17 /* : Array[Object] */; -val* var_listnode19 /* var listnode19: Array[Object] */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var18 /* : Bool */; -int cltype; -int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var34 /* : Array[Object] */; -val* var35 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; -val* var39 /* : Array[Object] */; -val* var40 /* : AAnnotations */; -val* var41 /* : null */; -val* var42 /* : null */; -val* var43 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; -short int var44 /* : Bool */; -int cltype45; -int idtype46; -val* var_listnode16 /* var listnode16: nullable Object */; -short int var47 /* : Bool */; -int cltype48; -int idtype49; -val* var50 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: nullable Object */; -short int var51 /* : Bool */; -int cltype52; -int idtype53; -val* var54 /* : Array[Object] */; -val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; -short int var55 /* : Bool */; -int cltype56; -int idtype57; -val* var58 /* : AStdClassdef */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var59 /* : Int */; -long var60 /* : Int */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable Object */; +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_nodearraylist2 = var1; +var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var2; +var_ppropdefnode1 = var_nodearraylist1; +var_node_list = var_ppropdefnode1; +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 */; +RET_LABEL:; +} +/* method parser#ReduceAction344#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction344__action(val* self, val* p0) { +parser__ReduceAction344__action(self, p0); +RET_LABEL:; +} +/* method parser#ReduceAction345#action for (self: ReduceAction345, Parser) */ +void parser__ReduceAction345__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var8 /* : Bool */; +int cltype; +int idtype; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var_pexprnode9 /* var pexprnode9: nullable Object */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var24 /* : AConcreteMethPropdef */; +val* var25 /* : null */; +val* var26 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; +long var27 /* : Int */; +long var28 /* : 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_nodearraylist14 = var1; +var_nodearraylist7 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist13 = var2; +var_nodearraylist6 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist12 = var3; +var_nodearraylist5 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var4; +var_nodearraylist4 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var5; +var_nodearraylist3 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var6; +var_nodearraylist2 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var7; -var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var8; -var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var9; -var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var10; -var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var11; -var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var12; -var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var13; -var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = 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_listnode8 = var15; -var16 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; -CHECK_NEW_array__Array(var16); -var_listnode17 = var16; -var17 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on */; -CHECK_NEW_array__Array(var17); -var_listnode19 = var17; +var_nodearraylist1 = var7; 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) { -var18 = 1; +var8 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var18 = 0; -} else { -var18 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (!var18) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15101); -exit(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype20 = type_nullable_parser_nodes__TKwredef.color; -idtype21 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var19 = 1; -} else { -if(cltype20 >= var_tkwredefnode3->type->table_size) { -var19 = 0; +var8 = 0; } else { -var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21; +var8 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var19) { +if (!var8) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15103); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15517); +show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; +var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype23 = type_nullable_parser_nodes__AVisibility.color; -idtype24 = type_nullable_parser_nodes__AVisibility.id; +cltype10 = type_nullable_parser_nodes__AVisibility.color; +idtype11 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var22 = 1; -} else { -if(cltype23 >= var_pvisibilitynode4->type->table_size) { -var22 = 0; -} else { -var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24; -} -} -if (!var22) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15105); -exit(1); -} -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype26 = type_nullable_parser_nodes__AClasskind.color; -idtype27 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var25 = 1; -} else { -if(cltype26 >= var_pclasskindnode5->type->table_size) { -var25 = 0; -} else { -var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27; -} -} -if (!var25) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15107); -exit(1); -} -var_tclassidnode6 = var_nodearraylist7; -/* isa nullable TClassid */ -cltype29 = type_nullable_parser_nodes__TClassid.color; -idtype30 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { -var28 = 1; -} else { -if(cltype29 >= var_tclassidnode6->type->table_size) { -var28 = 0; -} else { -var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30; -} -} -if (!var28) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15109); -exit(1); -} -var_listnode7 = var_nodearraylist8; -/* isa Array[Object] */ -cltype32 = type_array__Arraykernel__Object.color; -idtype33 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var31 = 0; -} else { -if(cltype32 >= var_listnode7->type->table_size) { -var31 = 0; -} else { -var31 = var_listnode7->type->type_table[cltype32] == idtype33; -} -} -if (!var31) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15111); -exit(1); -} -var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var34; -var35 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var35->class->vft[COLOR_array__Array__init]))(var35) /* init on */; -CHECK_NEW_array__Array(var35); -var_listnode13 = var35; -var_listnode12 = var_nodearraylist9; -/* isa Array[Object] */ -cltype37 = type_array__Arraykernel__Object.color; -idtype38 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var36 = 0; +var9 = 1; } else { -if(cltype37 >= var_listnode12->type->table_size) { -var36 = 0; +if(cltype10 >= var_pvisibilitynode4->type->table_size) { +var9 = 0; } else { -var36 = var_listnode12->type->type_table[cltype37] == idtype38; +var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11; } } -if (!var36) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15115); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15519); +show_backtrace(1); } -var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; -var_listnode13 = var39; -var40 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var41 = NULL; -var42 = NULL; -var43 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var40, var41, var42, var_listnode13, var43) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var40); -var_pannotationsnode9 = var40; -var_pexterncodeblocknode15 = var_nodearraylist10; -/* isa nullable AExternCodeBlock */ -cltype45 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype46 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode15 == NULL) { -var44 = 1; +var_tkwmethnode5 = var_nodearraylist3; +/* isa nullable TKwmeth */ +cltype13 = type_nullable_parser_nodes__TKwmeth.color; +idtype14 = type_nullable_parser_nodes__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var12 = 1; } else { -if(cltype45 >= var_pexterncodeblocknode15->type->table_size) { -var44 = 0; +if(cltype13 >= var_tkwmethnode5->type->table_size) { +var12 = 0; } else { -var44 = var_pexterncodeblocknode15->type->type_table[cltype45] == idtype46; +var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14; } } -if (!var44) { +if (!var12) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15124); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15521); +show_backtrace(1); } -var_listnode16 = var_nodearraylist11; -/* isa Array[Object] */ -cltype48 = type_array__Arraykernel__Object.color; -idtype49 = type_array__Arraykernel__Object.id; -if(var_listnode16 == NULL) { -var47 = 0; +var_pmethidnode6 = var_nodearraylist4; +/* isa nullable AMethid */ +cltype16 = type_nullable_parser_nodes__AMethid.color; +idtype17 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode6 == NULL) { +var15 = 1; } else { -if(cltype48 >= var_listnode16->type->table_size) { -var47 = 0; +if(cltype16 >= var_pmethidnode6->type->table_size) { +var15 = 0; } else { -var47 = var_listnode16->type->type_table[cltype48] == idtype49; +var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17; } } -if (!var47) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15126); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15523); +show_backtrace(1); } -var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on */; -var_listnode17 = var50; -var_listnode18 = var_nodearraylist12; -/* isa Array[Object] */ -cltype52 = type_array__Arraykernel__Object.color; -idtype53 = type_array__Arraykernel__Object.id; -if(var_listnode18 == NULL) { -var51 = 0; +var_psignaturenode7 = var_nodearraylist5; +/* isa nullable ASignature */ +cltype19 = type_nullable_parser_nodes__ASignature.color; +idtype20 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode7 == NULL) { +var18 = 1; } else { -if(cltype52 >= var_listnode18->type->table_size) { -var51 = 0; +if(cltype19 >= var_psignaturenode7->type->table_size) { +var18 = 0; } else { -var51 = var_listnode18->type->type_table[cltype52] == idtype53; +var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20; } } -if (!var51) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15129); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15525); +show_backtrace(1); } -var54 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on */; -var_listnode19 = var54; -var_tkwendnode20 = var_nodearraylist14; -/* isa nullable TKwend */ -cltype56 = type_nullable_parser_nodes__TKwend.color; -idtype57 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode20 == NULL) { -var55 = 1; +var_pexprnode9 = var_nodearraylist7; +/* isa nullable AExpr */ +cltype22 = type_nullable_parser_nodes__AExpr.color; +idtype23 = type_nullable_parser_nodes__AExpr.id; +if(var_pexprnode9 == NULL) { +var21 = 1; } else { -if(cltype56 >= var_tkwendnode20->type->table_size) { -var55 = 0; +if(cltype22 >= var_pexprnode9->type->table_size) { +var21 = 0; } else { -var55 = var_tkwendnode20->type->type_table[cltype56] == idtype57; +var21 = var_pexprnode9->type->type_table[cltype22] == idtype23; } } -if (!var55) { +if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15132); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15527); +show_backtrace(1); } -var58 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var58->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var58, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var58); -var_pclassdefnode1 = var58; -var_node_list = var_pclassdefnode1; -var59 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var60 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var59) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var60, var_node_list) /* push on */; +var24 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); +var25 = NULL; +var26 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var24, var_pdocnode2, var25, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var26, var_pexprnode9) /* init_aconcretemethpropdef on */; +var_ppropdefnode1 = var24; +var_node_list = var_ppropdefnode1; +var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction326#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction326__action(val* self, val* p0) { -parser__ReduceAction326__action(self, p0); +/* method parser#ReduceAction345#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction345__action(val* self, val* p0) { +parser__ReduceAction345__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction327#action for (self: ReduceAction327, Parser) */ -void parser__ReduceAction327__action(val* self, val* p0) { +/* method parser#ReduceAction346#action for (self: ReduceAction346, Parser) */ +void parser__ReduceAction346__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_nodearraylist15 /* var nodearraylist15: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist14 /* var nodearraylist14: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist13 /* var nodearraylist13: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var8 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var9 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var10 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var11 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var12 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var13 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var14 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var15 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var16 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var17 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var18 /* : Array[Object] */; -val* var_listnode19 /* var listnode19: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var19 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var10 /* : Bool */; +int cltype11; +int idtype12; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : Array[Object] */; -val* var36 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -val* var40 /* : Array[Object] */; -val* var41 /* : AAnnotations */; -val* var42 /* : null */; -val* var43 /* : null */; -val* var44 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -val* var_listnode16 /* var listnode16: nullable Object */; -short int var48 /* : Bool */; -int cltype49; -int idtype50; -val* var51 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: nullable Object */; -short int var52 /* : Bool */; -int cltype53; -int idtype54; -val* var55 /* : Array[Object] */; -val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; -short int var56 /* : Bool */; -int cltype57; -int idtype58; -val* var59 /* : AStdClassdef */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var60 /* : Int */; -long var61 /* : Int */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var_pexprnode9 /* var pexprnode9: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var28 /* : AConcreteMethPropdef */; +val* var29 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; +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_nodearraylist15 = var1; +var_nodearraylist8 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist14 = var2; +var_nodearraylist7 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist13 = var3; +var_nodearraylist6 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist12 = var4; +var_nodearraylist5 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist11 = var5; +var_nodearraylist4 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist10 = var6; +var_nodearraylist3 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist9 = var7; +var_nodearraylist2 = var7; var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var8; -var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var9; -var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var10; -var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var11; -var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var12; -var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var13; -var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var14; -var15 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var15; -var16 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on */; -CHECK_NEW_array__Array(var16); -var_listnode8 = var16; -var17 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on */; -CHECK_NEW_array__Array(var17); -var_listnode17 = var17; -var18 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var18->class->vft[COLOR_array__Array__init]))(var18) /* init on */; -CHECK_NEW_array__Array(var18); -var_listnode19 = var18; +var_nodearraylist1 = var8; 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) { -var19 = 1; +var9 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var19 = 0; +var9 = 0; } else { -var19 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var19) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15174); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15556); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype21 = type_nullable_parser_nodes__TKwredef.color; -idtype22 = type_nullable_parser_nodes__TKwredef.id; +cltype11 = type_nullable_parser_nodes__TKwredef.color; +idtype12 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var20 = 1; +var10 = 1; } else { -if(cltype21 >= var_tkwredefnode3->type->table_size) { -var20 = 0; +if(cltype11 >= var_tkwredefnode3->type->table_size) { +var10 = 0; } else { -var20 = var_tkwredefnode3->type->type_table[cltype21] == idtype22; +var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; } } -if (!var20) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15176); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15558); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype24 = type_nullable_parser_nodes__AVisibility.color; -idtype25 = type_nullable_parser_nodes__AVisibility.id; +cltype14 = type_nullable_parser_nodes__AVisibility.color; +idtype15 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var23 = 1; +var13 = 1; } else { -if(cltype24 >= var_pvisibilitynode4->type->table_size) { -var23 = 0; +if(cltype14 >= var_pvisibilitynode4->type->table_size) { +var13 = 0; +} else { +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", 15560); +show_backtrace(1); +} +var_tkwmethnode5 = var_nodearraylist4; +/* isa nullable TKwmeth */ +cltype17 = type_nullable_parser_nodes__TKwmeth.color; +idtype18 = type_nullable_parser_nodes__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var16 = 1; +} else { +if(cltype17 >= var_tkwmethnode5->type->table_size) { +var16 = 0; } else { -var23 = var_pvisibilitynode4->type->type_table[cltype24] == idtype25; +var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18; } } -if (!var23) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15178); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15562); +show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype27 = type_nullable_parser_nodes__AClasskind.color; -idtype28 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var26 = 1; +var_pmethidnode6 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype20 = type_nullable_parser_nodes__AMethid.color; +idtype21 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode6 == NULL) { +var19 = 1; } else { -if(cltype27 >= var_pclasskindnode5->type->table_size) { -var26 = 0; +if(cltype20 >= var_pmethidnode6->type->table_size) { +var19 = 0; } else { -var26 = var_pclasskindnode5->type->type_table[cltype27] == idtype28; +var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21; } } -if (!var26) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15180); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15564); +show_backtrace(1); } -var_tclassidnode6 = var_nodearraylist8; -/* isa nullable TClassid */ -cltype30 = type_nullable_parser_nodes__TClassid.color; -idtype31 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { -var29 = 1; +var_psignaturenode7 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype23 = type_nullable_parser_nodes__ASignature.color; +idtype24 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode7 == NULL) { +var22 = 1; } else { -if(cltype30 >= var_tclassidnode6->type->table_size) { -var29 = 0; +if(cltype23 >= var_psignaturenode7->type->table_size) { +var22 = 0; } else { -var29 = var_tclassidnode6->type->type_table[cltype30] == idtype31; +var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24; } } -if (!var29) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15182); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15566); +show_backtrace(1); } -var_listnode7 = var_nodearraylist9; -/* isa Array[Object] */ -cltype33 = type_array__Arraykernel__Object.color; -idtype34 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var32 = 0; +var_pexprnode9 = var_nodearraylist8; +/* isa nullable AExpr */ +cltype26 = type_nullable_parser_nodes__AExpr.color; +idtype27 = type_nullable_parser_nodes__AExpr.id; +if(var_pexprnode9 == NULL) { +var25 = 1; } else { -if(cltype33 >= var_listnode7->type->table_size) { -var32 = 0; +if(cltype26 >= var_pexprnode9->type->table_size) { +var25 = 0; } else { -var32 = var_listnode7->type->type_table[cltype33] == idtype34; +var25 = var_pexprnode9->type->type_table[cltype26] == idtype27; } } -if (!var32) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15184); -exit(1); -} -var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on */; -var_listnode8 = var35; -var36 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var36->class->vft[COLOR_array__Array__init]))(var36) /* init on */; -CHECK_NEW_array__Array(var36); -var_listnode13 = var36; -var_listnode12 = var_nodearraylist10; -/* isa Array[Object] */ -cltype38 = type_array__Arraykernel__Object.color; -idtype39 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var37 = 0; -} else { -if(cltype38 >= var_listnode12->type->table_size) { -var37 = 0; -} else { -var37 = var_listnode12->type->type_table[cltype38] == idtype39; +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15568); +show_backtrace(1); } +var28 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); +var29 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var29, var_pexprnode9) /* init_aconcretemethpropdef on */; +var_ppropdefnode1 = var28; +var_node_list = var_ppropdefnode1; +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:; } -if (!var37) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15188); -exit(1); +/* method parser#ReduceAction346#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction346__action(val* self, val* p0) { +parser__ReduceAction346__action(self, p0); +RET_LABEL:; } -var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on */; -var_listnode13 = var40; -var41 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var42 = NULL; -var43 = NULL; -var44 = NULL; -((void (*)(val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var41, var42, var43, var_listnode13, var44) /* init_aannotations on */; -CHECK_NEW_parser_nodes__AAnnotations(var41); -var_pannotationsnode9 = var41; -var_pexterncodeblocknode15 = var_nodearraylist11; -/* isa nullable AExternCodeBlock */ -cltype46 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype47 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode15 == NULL) { -var45 = 1; +/* method parser#ReduceAction347#action for (self: ReduceAction347, Parser) */ +void parser__ReduceAction347__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* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var9 /* : Bool */; +int cltype; +int idtype; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var_pexprnode9 /* var pexprnode9: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var28 /* : AConcreteMethPropdef */; +val* var29 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; +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_nodearraylist8 = var1; +var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist7 = var2; +var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist6 = var3; +var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist5 = var4; +var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist4 = var5; +var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +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; +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) { +var9 = 1; } else { -if(cltype46 >= var_pexterncodeblocknode15->type->table_size) { -var45 = 0; +if(cltype >= var_pdocnode2->type->table_size) { +var9 = 0; } else { -var45 = var_pexterncodeblocknode15->type->type_table[cltype46] == idtype47; +var9 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var45) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15197); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15597); +show_backtrace(1); } -var_listnode16 = var_nodearraylist12; -/* isa Array[Object] */ -cltype49 = type_array__Arraykernel__Object.color; -idtype50 = type_array__Arraykernel__Object.id; -if(var_listnode16 == NULL) { -var48 = 0; +var_pvisibilitynode4 = var_nodearraylist2; +/* isa nullable AVisibility */ +cltype11 = type_nullable_parser_nodes__AVisibility.color; +idtype12 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var10 = 1; } else { -if(cltype49 >= var_listnode16->type->table_size) { -var48 = 0; +if(cltype11 >= var_pvisibilitynode4->type->table_size) { +var10 = 0; } else { -var48 = var_listnode16->type->type_table[cltype49] == idtype50; +var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12; } } -if (!var48) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15199); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15599); +show_backtrace(1); } -var51 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on */; -var_listnode17 = var51; -var_listnode18 = var_nodearraylist13; -/* isa Array[Object] */ -cltype53 = type_array__Arraykernel__Object.color; -idtype54 = type_array__Arraykernel__Object.id; -if(var_listnode18 == NULL) { -var52 = 0; +var_tkwmethnode5 = var_nodearraylist3; +/* isa nullable TKwmeth */ +cltype14 = type_nullable_parser_nodes__TKwmeth.color; +idtype15 = type_nullable_parser_nodes__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var13 = 1; } else { -if(cltype53 >= var_listnode18->type->table_size) { -var52 = 0; +if(cltype14 >= var_tkwmethnode5->type->table_size) { +var13 = 0; } else { -var52 = var_listnode18->type->type_table[cltype53] == idtype54; +var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15; } } -if (!var52) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15202); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15601); +show_backtrace(1); } -var55 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on */; -var_listnode19 = var55; -var_tkwendnode20 = var_nodearraylist15; -/* isa nullable TKwend */ -cltype57 = type_nullable_parser_nodes__TKwend.color; -idtype58 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode20 == NULL) { -var56 = 1; +var_pmethidnode6 = var_nodearraylist4; +/* isa nullable AMethid */ +cltype17 = type_nullable_parser_nodes__AMethid.color; +idtype18 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode6 == NULL) { +var16 = 1; } else { -if(cltype57 >= var_tkwendnode20->type->table_size) { -var56 = 0; +if(cltype17 >= var_pmethidnode6->type->table_size) { +var16 = 0; } else { -var56 = var_tkwendnode20->type->type_table[cltype57] == idtype58; +var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18; } } -if (!var56) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15205); -exit(1); -} -var59 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var59->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var59, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on */; -CHECK_NEW_parser_nodes__AStdClassdef(var59); -var_pclassdefnode1 = var59; -var_node_list = var_pclassdefnode1; -var60 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var61 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var60) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var61, var_node_list) /* push on */; -RET_LABEL:; -} -/* method parser#ReduceAction327#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction327__action(val* self, val* p0) { -parser__ReduceAction327__action(self, p0); -RET_LABEL:; +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15603); +show_backtrace(1); } -/* method parser#ReduceAction329#action for (self: ReduceAction329, Parser) */ -void parser__ReduceAction329__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwclassnode2 /* var tkwclassnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AConcreteClasskind */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AConcreteClasskind */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var1; -var_tkwclassnode2 = var_nodearraylist1; -/* isa nullable TKwclass */ -cltype = type_nullable_parser_nodes__TKwclass.color; -idtype = type_nullable_parser_nodes__TKwclass.id; -if(var_tkwclassnode2 == NULL) { -var2 = 1; +var_psignaturenode7 = var_nodearraylist5; +/* isa nullable ASignature */ +cltype20 = type_nullable_parser_nodes__ASignature.color; +idtype21 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode7 == NULL) { +var19 = 1; } else { -if(cltype >= var_tkwclassnode2->type->table_size) { -var2 = 0; +if(cltype20 >= var_psignaturenode7->type->table_size) { +var19 = 0; } else { -var2 = var_tkwclassnode2->type->type_table[cltype] == idtype; +var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21; } } -if (!var2) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15230); -exit(1); -} -var3 = NEW_parser_nodes__AConcreteClasskind(&type_parser_nodes__AConcreteClasskind); -((void (*)(val*, val*))(var3->class->vft[COLOR_parser_prod__AConcreteClasskind__init_aconcreteclasskind]))(var3, var_tkwclassnode2) /* init_aconcreteclasskind on */; -CHECK_NEW_parser_nodes__AConcreteClasskind(var3); -var_pclasskindnode1 = var3; -var_node_list = var_pclasskindnode1; -var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on */; -RET_LABEL:; -} -/* method parser#ReduceAction329#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction329__action(val* self, val* p0) { -parser__ReduceAction329__action(self, p0); -RET_LABEL:; +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15605); +show_backtrace(1); } -/* method parser#ReduceAction330#action for (self: ReduceAction330, Parser) */ -void parser__ReduceAction330__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwabstractnode2 /* var tkwabstractnode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AAbstractClasskind */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AAbstractClasskind */; -long var8 /* : Int */; -long var9 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -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_tkwabstractnode2 = var_nodearraylist1; -/* isa nullable TKwabstract */ -cltype = type_nullable_parser_nodes__TKwabstract.color; -idtype = type_nullable_parser_nodes__TKwabstract.id; -if(var_tkwabstractnode2 == NULL) { -var3 = 1; +var_pannotationsnode8 = var_nodearraylist6; +/* isa nullable AAnnotations */ +cltype23 = type_nullable_parser_nodes__AAnnotations.color; +idtype24 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode8 == NULL) { +var22 = 1; } else { -if(cltype >= var_tkwabstractnode2->type->table_size) { -var3 = 0; +if(cltype23 >= var_pannotationsnode8->type->table_size) { +var22 = 0; } else { -var3 = var_tkwabstractnode2->type->type_table[cltype] == idtype; +var22 = var_pannotationsnode8->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", 15246); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15607); +show_backtrace(1); } -var_tkwclassnode3 = var_nodearraylist2; -/* isa nullable TKwclass */ -cltype5 = type_nullable_parser_nodes__TKwclass.color; -idtype6 = type_nullable_parser_nodes__TKwclass.id; -if(var_tkwclassnode3 == NULL) { -var4 = 1; +var_pexprnode9 = var_nodearraylist8; +/* isa nullable AExpr */ +cltype26 = type_nullable_parser_nodes__AExpr.color; +idtype27 = type_nullable_parser_nodes__AExpr.id; +if(var_pexprnode9 == NULL) { +var25 = 1; } else { -if(cltype5 >= var_tkwclassnode3->type->table_size) { -var4 = 0; +if(cltype26 >= var_pexprnode9->type->table_size) { +var25 = 0; } else { -var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6; +var25 = var_pexprnode9->type->type_table[cltype26] == idtype27; } } -if (!var4) { +if (!var25) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15248); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15609); +show_backtrace(1); } -var7 = NEW_parser_nodes__AAbstractClasskind(&type_parser_nodes__AAbstractClasskind); -((void (*)(val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AAbstractClasskind__init_aabstractclasskind]))(var7, var_tkwabstractnode2, var_tkwclassnode3) /* init_aabstractclasskind on */; -CHECK_NEW_parser_nodes__AAbstractClasskind(var7); -var_pclasskindnode1 = var7; -var_node_list = var_pclasskindnode1; -var8 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var9 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var8) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var9, var_node_list) /* push on */; +var28 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); +var29 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var28, var_pdocnode2, var29, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on */; +var_ppropdefnode1 = var28; +var_node_list = var_ppropdefnode1; +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#ReduceAction330#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction330__action(val* self, val* p0) { -parser__ReduceAction330__action(self, p0); +/* method parser#ReduceAction347#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction347__action(val* self, val* p0) { +parser__ReduceAction347__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction331#action for (self: ReduceAction331, Parser) */ -void parser__ReduceAction331__action(val* self, val* p0) { +/* method parser#ReduceAction348#action for (self: ReduceAction348, Parser) */ +void parser__ReduceAction348__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwinterfacenode2 /* var tkwinterfacenode2: nullable Object */; -short int var2 /* : Bool */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var10 /* : Bool */; int cltype; int idtype; -val* var3 /* : AInterfaceClasskind */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AInterfaceClasskind */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var_pexprnode9 /* var pexprnode9: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var32 /* : AConcreteMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; +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_nodearraylist1 = var1; -var_tkwinterfacenode2 = var_nodearraylist1; -/* isa nullable TKwinterface */ -cltype = type_nullable_parser_nodes__TKwinterface.color; -idtype = type_nullable_parser_nodes__TKwinterface.id; -if(var_tkwinterfacenode2 == NULL) { -var2 = 1; +var_nodearraylist9 = var1; +var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist8 = var2; +var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist7 = var3; +var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist6 = var4; +var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist5 = var5; +var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist4 = var6; +var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +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; +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) { +var10 = 1; } else { -if(cltype >= var_tkwinterfacenode2->type->table_size) { -var2 = 0; +if(cltype >= var_pdocnode2->type->table_size) { +var10 = 0; } else { -var2 = var_tkwinterfacenode2->type->type_table[cltype] == idtype; +var10 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var2) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15264); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15639); +show_backtrace(1); } -var3 = NEW_parser_nodes__AInterfaceClasskind(&type_parser_nodes__AInterfaceClasskind); -((void (*)(val*, val*))(var3->class->vft[COLOR_parser_prod__AInterfaceClasskind__init_ainterfaceclasskind]))(var3, var_tkwinterfacenode2) /* init_ainterfaceclasskind on */; -CHECK_NEW_parser_nodes__AInterfaceClasskind(var3); -var_pclasskindnode1 = var3; -var_node_list = var_pclasskindnode1; -var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on */; -RET_LABEL:; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype12 = type_nullable_parser_nodes__TKwredef.color; +idtype13 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var11 = 1; +} else { +if(cltype12 >= var_tkwredefnode3->type->table_size) { +var11 = 0; +} else { +var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; } -/* method parser#ReduceAction331#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction331__action(val* self, val* p0) { -parser__ReduceAction331__action(self, p0); -RET_LABEL:; } -/* method parser#ReduceAction332#action for (self: ReduceAction332, Parser) */ -void parser__ReduceAction332__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwenumnode2 /* var tkwenumnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AEnumClasskind */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AEnumClasskind */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var1; -var_tkwenumnode2 = var_nodearraylist1; -/* isa nullable TKwenum */ -cltype = type_nullable_parser_nodes__TKwenum.color; -idtype = type_nullable_parser_nodes__TKwenum.id; -if(var_tkwenumnode2 == NULL) { -var2 = 1; +if (!var11) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15641); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist3; +/* 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(cltype >= var_tkwenumnode2->type->table_size) { -var2 = 0; +if(cltype15 >= var_pvisibilitynode4->type->table_size) { +var14 = 0; } else { -var2 = var_tkwenumnode2->type->type_table[cltype] == idtype; +var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; } } -if (!var2) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15279); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15643); +show_backtrace(1); } -var3 = NEW_parser_nodes__AEnumClasskind(&type_parser_nodes__AEnumClasskind); -((void (*)(val*, val*))(var3->class->vft[COLOR_parser_prod__AEnumClasskind__init_aenumclasskind]))(var3, var_tkwenumnode2) /* init_aenumclasskind on */; -CHECK_NEW_parser_nodes__AEnumClasskind(var3); -var_pclasskindnode1 = var3; -var_node_list = var_pclasskindnode1; -var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on */; -RET_LABEL:; +var_tkwmethnode5 = var_nodearraylist4; +/* isa nullable TKwmeth */ +cltype18 = type_nullable_parser_nodes__TKwmeth.color; +idtype19 = type_nullable_parser_nodes__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var17 = 1; +} else { +if(cltype18 >= var_tkwmethnode5->type->table_size) { +var17 = 0; +} else { +var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19; } -/* method parser#ReduceAction332#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction332__action(val* self, val* p0) { -parser__ReduceAction332__action(self, p0); -RET_LABEL:; } -/* method parser#ReduceAction333#action for (self: ReduceAction333, Parser) */ -void parser__ReduceAction333__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwexternnode2 /* var tkwexternnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AExternClasskind */; -val* var4 /* : null */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AExternClasskind */; -long var5 /* : Int */; -long var6 /* : 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; -var_tkwexternnode2 = var_nodearraylist1; -/* isa nullable TKwextern */ -cltype = type_nullable_parser_nodes__TKwextern.color; -idtype = type_nullable_parser_nodes__TKwextern.id; -if(var_tkwexternnode2 == NULL) { -var2 = 1; +if (!var17) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15645); +show_backtrace(1); +} +var_pmethidnode6 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype21 = type_nullable_parser_nodes__AMethid.color; +idtype22 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode6 == NULL) { +var20 = 1; } else { -if(cltype >= var_tkwexternnode2->type->table_size) { -var2 = 0; +if(cltype21 >= var_pmethidnode6->type->table_size) { +var20 = 0; } else { -var2 = var_tkwexternnode2->type->type_table[cltype] == idtype; +var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22; } } -if (!var2) { +if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15294); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15647); +show_backtrace(1); } -var3 = NEW_parser_nodes__AExternClasskind(&type_parser_nodes__AExternClasskind); -var4 = NULL; -((void (*)(val*, val*, val*))(var3->class->vft[COLOR_parser_prod__AExternClasskind__init_aexternclasskind]))(var3, var_tkwexternnode2, var4) /* init_aexternclasskind on */; -CHECK_NEW_parser_nodes__AExternClasskind(var3); -var_pclasskindnode1 = var3; -var_node_list = var_pclasskindnode1; -var5 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var6 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var5) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var6, var_node_list) /* push on */; -RET_LABEL:; +var_psignaturenode7 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype24 = type_nullable_parser_nodes__ASignature.color; +idtype25 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode7 == NULL) { +var23 = 1; +} else { +if(cltype24 >= var_psignaturenode7->type->table_size) { +var23 = 0; +} else { +var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25; } -/* method parser#ReduceAction333#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction333__action(val* self, val* p0) { -parser__ReduceAction333__action(self, p0); -RET_LABEL:; } -/* method parser#ReduceAction334#action for (self: ReduceAction334, Parser) */ -void parser__ReduceAction334__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwexternnode2 /* var tkwexternnode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AExternClasskind */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AExternClasskind */; -long var8 /* : Int */; -long var9 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = ((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_tkwexternnode2 = var_nodearraylist1; -/* isa nullable TKwextern */ -cltype = type_nullable_parser_nodes__TKwextern.color; -idtype = type_nullable_parser_nodes__TKwextern.id; -if(var_tkwexternnode2 == NULL) { -var3 = 1; +if (!var23) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15649); +show_backtrace(1); +} +var_pannotationsnode8 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype27 = type_nullable_parser_nodes__AAnnotations.color; +idtype28 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode8 == NULL) { +var26 = 1; } else { -if(cltype >= var_tkwexternnode2->type->table_size) { -var3 = 0; +if(cltype27 >= var_pannotationsnode8->type->table_size) { +var26 = 0; } else { -var3 = var_tkwexternnode2->type->type_table[cltype] == idtype; +var26 = var_pannotationsnode8->type->type_table[cltype27] == idtype28; } } -if (!var3) { +if (!var26) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15311); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15651); +show_backtrace(1); } -var_tkwclassnode3 = var_nodearraylist2; -/* isa nullable TKwclass */ -cltype5 = type_nullable_parser_nodes__TKwclass.color; -idtype6 = type_nullable_parser_nodes__TKwclass.id; -if(var_tkwclassnode3 == NULL) { -var4 = 1; +var_pexprnode9 = var_nodearraylist9; +/* isa nullable AExpr */ +cltype30 = type_nullable_parser_nodes__AExpr.color; +idtype31 = type_nullable_parser_nodes__AExpr.id; +if(var_pexprnode9 == NULL) { +var29 = 1; } else { -if(cltype5 >= var_tkwclassnode3->type->table_size) { -var4 = 0; +if(cltype30 >= var_pexprnode9->type->table_size) { +var29 = 0; } else { -var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6; +var29 = var_pexprnode9->type->type_table[cltype30] == idtype31; } } -if (!var4) { +if (!var29) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15313); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15653); +show_backtrace(1); } -var7 = NEW_parser_nodes__AExternClasskind(&type_parser_nodes__AExternClasskind); -((void (*)(val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AExternClasskind__init_aexternclasskind]))(var7, var_tkwexternnode2, var_tkwclassnode3) /* init_aexternclasskind on */; -CHECK_NEW_parser_nodes__AExternClasskind(var7); -var_pclasskindnode1 = var7; -var_node_list = var_pclasskindnode1; -var8 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var9 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var8) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var9, var_node_list) /* push on */; +var32 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var32, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on */; +var_ppropdefnode1 = var32; +var_node_list = var_ppropdefnode1; +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#ReduceAction334#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction334__action(val* self, val* p0) { -parser__ReduceAction334__action(self, p0); +} +/* method parser#ReduceAction348#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction348__action(val* self, val* p0) { +parser__ReduceAction348__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction335#action for (self: ReduceAction335, Parser) */ -void parser__ReduceAction335__action(val* self, val* p0) { +/* method parser#ReduceAction349#action for (self: ReduceAction349, Parser) */ +void parser__ReduceAction349__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var5 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var6 /* : Array[Object] */; -val* var_listnode2 /* var listnode2: Array[Object] */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */; -val* var7 /* : null */; -short int var8 /* : Bool */; -long var9 /* : Int */; -long var10 /* : Int */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var9 /* : Bool */; +int cltype; +int idtype; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_pexprnode9 /* var pexprnode9: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var25 /* : AConcreteMethPropdef */; +val* var26 /* : null */; +val* var27 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; +long var28 /* : Int */; +long var29 /* : 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_nodearraylist5 = var1; +var_nodearraylist8 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var2; +var_nodearraylist7 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var3; +var_nodearraylist6 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var4; +var_nodearraylist5 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var5; -var6 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var6->class->vft[COLOR_array__Array__init]))(var6) /* init on */; -CHECK_NEW_array__Array(var6); -var_listnode2 = var6; -var_pformaldefnode1 = var_nodearraylist3; -var7 = NULL; -if (var_pformaldefnode1 == NULL) { -var8 = 0; /* is null */ +var_nodearraylist4 = var5; +var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +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; +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) { +var9 = 1; } else { -var8 = 1; /* arg is null and recv is not */ +if(cltype >= var_pdocnode2->type->table_size) { +var9 = 0; +} else { +var9 = var_pdocnode2->type->type_table[cltype] == idtype; } -if (var8){ -((void (*)(val*, val*))(var_listnode2->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_listnode2, var_pformaldefnode1) /* add on */; +} +if (!var9) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15682); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist2; +/* isa nullable AVisibility */ +cltype11 = type_nullable_parser_nodes__AVisibility.color; +idtype12 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var10 = 1; +} else { +if(cltype11 >= var_pvisibilitynode4->type->table_size) { +var10 = 0; } else { +var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12; } -var_node_list = var_listnode2; -var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on */; +} +if (!var10) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15684); +show_backtrace(1); +} +var_tkwmethnode5 = var_nodearraylist3; +/* isa nullable TKwmeth */ +cltype14 = type_nullable_parser_nodes__TKwmeth.color; +idtype15 = type_nullable_parser_nodes__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var13 = 1; +} else { +if(cltype14 >= var_tkwmethnode5->type->table_size) { +var13 = 0; +} else { +var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15; +} +} +if (!var13) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15686); +show_backtrace(1); +} +var_pmethidnode6 = var_nodearraylist4; +/* isa nullable AMethid */ +cltype17 = type_nullable_parser_nodes__AMethid.color; +idtype18 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode6 == NULL) { +var16 = 1; +} else { +if(cltype17 >= var_pmethidnode6->type->table_size) { +var16 = 0; +} else { +var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18; +} +} +if (!var16) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15688); +show_backtrace(1); +} +var_psignaturenode7 = var_nodearraylist5; +/* isa nullable ASignature */ +cltype20 = type_nullable_parser_nodes__ASignature.color; +idtype21 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode7 == NULL) { +var19 = 1; +} else { +if(cltype20 >= var_psignaturenode7->type->table_size) { +var19 = 0; +} else { +var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21; +} +} +if (!var19) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15690); +show_backtrace(1); +} +var_pexprnode9 = var_nodearraylist7; +/* isa nullable AExpr */ +cltype23 = type_nullable_parser_nodes__AExpr.color; +idtype24 = type_nullable_parser_nodes__AExpr.id; +if(var_pexprnode9 == NULL) { +var22 = 1; +} else { +if(cltype23 >= var_pexprnode9->type->table_size) { +var22 = 0; +} else { +var22 = var_pexprnode9->type->type_table[cltype23] == idtype24; +} +} +if (!var22) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15692); +show_backtrace(1); +} +var25 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); +var26 = NULL; +var27 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexprnode9) /* init_aconcretemethpropdef on */; +var_ppropdefnode1 = var25; +var_node_list = var_ppropdefnode1; +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 */; RET_LABEL:; } -/* method parser#ReduceAction335#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction335__action(val* self, val* p0) { -parser__ReduceAction335__action(self, p0); +/* method parser#ReduceAction349#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction349__action(val* self, val* p0) { +parser__ReduceAction349__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction336#action for (self: ReduceAction336, Parser) */ -void parser__ReduceAction336__action(val* self, val* p0) { +/* method parser#ReduceAction350#action for (self: ReduceAction350, Parser) */ +void parser__ReduceAction350__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_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var6 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var7 /* : Array[Object] */; -val* var_listnode3 /* var listnode3: Array[Object] */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */; -val* var_listnode2 /* var listnode2: nullable Object */; -short int var8 /* : Bool */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var10 /* : Bool */; int cltype; int idtype; -val* var9 /* : null */; -short int var10 /* : Bool */; -val* var11 /* : Array[Object] */; -long var12 /* : Int */; -long var13 /* : Int */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_pexprnode9 /* var pexprnode9: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : AConcreteMethPropdef */; +val* var30 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; +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_nodearraylist9 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var2; +var_nodearraylist8 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var3; +var_nodearraylist7 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var4; +var_nodearraylist6 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var5; +var_nodearraylist5 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var6; -var7 = NEW_array__Array(&type_array__Arraykernel__Object); -((void (*)(val*))(var7->class->vft[COLOR_array__Array__init]))(var7) /* init on */; -CHECK_NEW_array__Array(var7); -var_listnode3 = var7; -var_pformaldefnode1 = var_nodearraylist3; -var_listnode2 = var_nodearraylist4; -/* isa Array[Object] */ -cltype = type_array__Arraykernel__Object.color; -idtype = type_array__Arraykernel__Object.id; -if(var_listnode2 == NULL) { -var8 = 0; +var_nodearraylist4 = var6; +var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +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; +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) { +var10 = 1; } else { -if(cltype >= var_listnode2->type->table_size) { -var8 = 0; +if(cltype >= var_pdocnode2->type->table_size) { +var10 = 0; } else { -var8 = var_listnode2->type->type_table[cltype] == idtype; +var10 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var8) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15355); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15722); +show_backtrace(1); } -var9 = NULL; -if (var_pformaldefnode1 == NULL) { -var10 = 0; /* is null */ +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype12 = type_nullable_parser_nodes__TKwredef.color; +idtype13 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var11 = 1; } else { -var10 = 1; /* arg is null and recv is not */ -} -if (var10){ -((void (*)(val*, val*))(var_listnode3->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_listnode3, var_pformaldefnode1) /* add on */; +if(cltype12 >= var_tkwredefnode3->type->table_size) { +var11 = 0; } else { +var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; } -var11 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode3, var_listnode2) /* concat on */; -var_listnode3 = var11; -var_node_list = var_listnode3; -var12 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var13 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var12) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var13, var_node_list) /* push on */; -RET_LABEL:; } -/* method parser#ReduceAction336#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction336__action(val* self, val* p0) { -parser__ReduceAction336__action(self, p0); -RET_LABEL:; +if (!var11) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15724); +show_backtrace(1); } -/* method parser#ReduceAction337#action for (self: ReduceAction337, Parser) */ -void parser__ReduceAction337__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */; -long var4 /* : Int */; -long var5 /* : 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_nodearraylist3 = var1; -var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var2; -var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var3; -var_pformaldefnode1 = var_nodearraylist3; -var_node_list = var_pformaldefnode1; -var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on */; -RET_LABEL:; +var_pvisibilitynode4 = var_nodearraylist3; +/* 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_pvisibilitynode4->type->table_size) { +var14 = 0; +} else { +var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; } -/* method parser#ReduceAction337#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction337__action(val* self, val* p0) { -parser__ReduceAction337__action(self, p0); -RET_LABEL:; } -/* method parser#ReduceAction338#action for (self: ReduceAction338, Parser) */ -void parser__ReduceAction338__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AFormaldef */; -val* var4 /* : null */; -val* var5 /* : null */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; -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_nodearraylist1 = var1; -var_tclassidnode2 = var_nodearraylist1; -/* isa nullable TClassid */ -cltype = type_nullable_parser_nodes__TClassid.color; -idtype = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode2 == NULL) { -var2 = 1; +if (!var14) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15726); +show_backtrace(1); +} +var_tkwmethnode5 = var_nodearraylist4; +/* isa nullable TKwmeth */ +cltype18 = type_nullable_parser_nodes__TKwmeth.color; +idtype19 = type_nullable_parser_nodes__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var17 = 1; } else { -if(cltype >= var_tclassidnode2->type->table_size) { -var2 = 0; +if(cltype18 >= var_tkwmethnode5->type->table_size) { +var17 = 0; } else { -var2 = var_tclassidnode2->type->type_table[cltype] == idtype; +var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19; } } -if (!var2) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15384); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15728); +show_backtrace(1); } -var3 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef); -var4 = NULL; -var5 = NULL; -((void (*)(val*, val*, val*, val*))(var3->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var3, var_tclassidnode2, var4, var5) /* init_aformaldef on */; -CHECK_NEW_parser_nodes__AFormaldef(var3); -var_pformaldefnode1 = var3; -var_node_list = var_pformaldefnode1; -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:; +var_pmethidnode6 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype21 = type_nullable_parser_nodes__AMethid.color; +idtype22 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode6 == NULL) { +var20 = 1; +} else { +if(cltype21 >= var_pmethidnode6->type->table_size) { +var20 = 0; +} else { +var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22; } -/* method parser#ReduceAction338#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction338__action(val* self, val* p0) { -parser__ReduceAction338__action(self, p0); -RET_LABEL:; } -/* method parser#ReduceAction339#action for (self: ReduceAction339, Parser) */ -void parser__ReduceAction339__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AFormaldef */; -val* var8 /* : null */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; -long var9 /* : Int */; -long var10 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -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_tclassidnode2 = var_nodearraylist1; -/* isa nullable TClassid */ -cltype = type_nullable_parser_nodes__TClassid.color; -idtype = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode2 == NULL) { -var3 = 1; +if (!var20) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15730); +show_backtrace(1); +} +var_psignaturenode7 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype24 = type_nullable_parser_nodes__ASignature.color; +idtype25 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode7 == NULL) { +var23 = 1; } else { -if(cltype >= var_tclassidnode2->type->table_size) { -var3 = 0; +if(cltype24 >= var_psignaturenode7->type->table_size) { +var23 = 0; } else { -var3 = var_tclassidnode2->type->type_table[cltype] == idtype; +var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25; } } -if (!var3) { +if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15402); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15732); +show_backtrace(1); } -var_pannotationsnode4 = var_nodearraylist2; -/* isa nullable AAnnotations */ -cltype5 = type_nullable_parser_nodes__AAnnotations.color; -idtype6 = type_nullable_parser_nodes__AAnnotations.id; -if(var_pannotationsnode4 == NULL) { -var4 = 1; +var_pexprnode9 = var_nodearraylist8; +/* isa nullable AExpr */ +cltype27 = type_nullable_parser_nodes__AExpr.color; +idtype28 = type_nullable_parser_nodes__AExpr.id; +if(var_pexprnode9 == NULL) { +var26 = 1; } else { -if(cltype5 >= var_pannotationsnode4->type->table_size) { -var4 = 0; +if(cltype27 >= var_pexprnode9->type->table_size) { +var26 = 0; } else { -var4 = var_pannotationsnode4->type->type_table[cltype5] == idtype6; +var26 = var_pexprnode9->type->type_table[cltype27] == idtype28; } } -if (!var4) { +if (!var26) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15404); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15734); +show_backtrace(1); } -var7 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef); -var8 = NULL; -((void (*)(val*, val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var7, var_tclassidnode2, var8, var_pannotationsnode4) /* init_aformaldef on */; -CHECK_NEW_parser_nodes__AFormaldef(var7); -var_pformaldefnode1 = var7; -var_node_list = var_pformaldefnode1; -var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on */; +var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); +var30 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexprnode9) /* init_aconcretemethpropdef on */; +var_ppropdefnode1 = var29; +var_node_list = var_ppropdefnode1; +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#ReduceAction339#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction339__action(val* self, val* p0) { -parser__ReduceAction339__action(self, p0); +/* method parser#ReduceAction350#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction350__action(val* self, val* p0) { +parser__ReduceAction350__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction340#action for (self: ReduceAction340, Parser) */ -void parser__ReduceAction340__action(val* self, val* p0) { +/* method parser#ReduceAction351#action for (self: ReduceAction351, Parser) */ +void parser__ReduceAction351__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_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; -short int var3 /* : Bool */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var10 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AFormaldef */; -val* var8 /* : null */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; -long var9 /* : Int */; -long var10 /* : Int */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_pexprnode9 /* var pexprnode9: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : AConcreteMethPropdef */; +val* var30 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; +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_nodearraylist2 = var1; +var_nodearraylist9 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var2; -var_tclassidnode2 = var_nodearraylist1; -/* isa nullable TClassid */ -cltype = type_nullable_parser_nodes__TClassid.color; -idtype = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode2 == NULL) { -var3 = 1; +var_nodearraylist8 = var2; +var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist7 = var3; +var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist6 = var4; +var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist5 = var5; +var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist4 = var6; +var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +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; +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) { +var10 = 1; } else { -if(cltype >= var_tclassidnode2->type->table_size) { -var3 = 0; +if(cltype >= var_pdocnode2->type->table_size) { +var10 = 0; } else { -var3 = var_tclassidnode2->type->type_table[cltype] == idtype; +var10 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var3) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15422); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15764); +show_backtrace(1); } -var_ptypenode3 = var_nodearraylist2; -/* isa nullable AType */ -cltype5 = type_nullable_parser_nodes__AType.color; -idtype6 = type_nullable_parser_nodes__AType.id; -if(var_ptypenode3 == NULL) { -var4 = 1; +var_pvisibilitynode4 = var_nodearraylist2; +/* isa nullable AVisibility */ +cltype12 = type_nullable_parser_nodes__AVisibility.color; +idtype13 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var11 = 1; } else { -if(cltype5 >= var_ptypenode3->type->table_size) { -var4 = 0; +if(cltype12 >= var_pvisibilitynode4->type->table_size) { +var11 = 0; } else { -var4 = var_ptypenode3->type->type_table[cltype5] == idtype6; +var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13; } } -if (!var4) { +if (!var11) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15424); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15766); +show_backtrace(1); } -var7 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef); -var8 = NULL; -((void (*)(val*, val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var7, var_tclassidnode2, var_ptypenode3, var8) /* init_aformaldef on */; -CHECK_NEW_parser_nodes__AFormaldef(var7); -var_pformaldefnode1 = var7; -var_node_list = var_pformaldefnode1; -var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on */; -RET_LABEL:; +var_tkwmethnode5 = var_nodearraylist3; +/* isa nullable TKwmeth */ +cltype15 = type_nullable_parser_nodes__TKwmeth.color; +idtype16 = type_nullable_parser_nodes__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var14 = 1; +} else { +if(cltype15 >= var_tkwmethnode5->type->table_size) { +var14 = 0; +} else { +var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16; } -/* method parser#ReduceAction340#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction340__action(val* self, val* p0) { -parser__ReduceAction340__action(self, p0); -RET_LABEL:; } -/* method parser#ReduceAction341#action for (self: ReduceAction341, Parser) */ -void parser__ReduceAction341__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; -short int var4 /* : Bool */; -int cltype; -int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var5 /* : Bool */; -int cltype6; -int idtype7; -val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -val* var11 /* : AFormaldef */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; -long var12 /* : Int */; -long var13 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var1; -var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var2; -var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var3; -var_tclassidnode2 = var_nodearraylist1; -/* isa nullable TClassid */ -cltype = type_nullable_parser_nodes__TClassid.color; -idtype = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode2 == NULL) { -var4 = 1; +if (!var14) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15768); +show_backtrace(1); +} +var_pmethidnode6 = var_nodearraylist4; +/* isa nullable AMethid */ +cltype18 = type_nullable_parser_nodes__AMethid.color; +idtype19 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode6 == NULL) { +var17 = 1; } else { -if(cltype >= var_tclassidnode2->type->table_size) { -var4 = 0; +if(cltype18 >= var_pmethidnode6->type->table_size) { +var17 = 0; } else { -var4 = var_tclassidnode2->type->type_table[cltype] == idtype; +var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19; } } -if (!var4) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15443); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15770); +show_backtrace(1); } -var_ptypenode3 = var_nodearraylist3; -/* isa nullable AType */ -cltype6 = type_nullable_parser_nodes__AType.color; -idtype7 = type_nullable_parser_nodes__AType.id; -if(var_ptypenode3 == NULL) { -var5 = 1; +var_psignaturenode7 = var_nodearraylist5; +/* isa nullable ASignature */ +cltype21 = type_nullable_parser_nodes__ASignature.color; +idtype22 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode7 == NULL) { +var20 = 1; +} else { +if(cltype21 >= var_psignaturenode7->type->table_size) { +var20 = 0; +} else { +var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22; +} +} +if (!var20) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15772); +show_backtrace(1); +} +var_pannotationsnode8 = var_nodearraylist6; +/* isa nullable AAnnotations */ +cltype24 = type_nullable_parser_nodes__AAnnotations.color; +idtype25 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode8 == NULL) { +var23 = 1; } else { -if(cltype6 >= var_ptypenode3->type->table_size) { -var5 = 0; +if(cltype24 >= var_pannotationsnode8->type->table_size) { +var23 = 0; } else { -var5 = var_ptypenode3->type->type_table[cltype6] == idtype7; +var23 = var_pannotationsnode8->type->type_table[cltype24] == idtype25; } } -if (!var5) { +if (!var23) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15445); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15774); +show_backtrace(1); } -var_pannotationsnode4 = var_nodearraylist2; -/* isa nullable AAnnotations */ -cltype9 = type_nullable_parser_nodes__AAnnotations.color; -idtype10 = type_nullable_parser_nodes__AAnnotations.id; -if(var_pannotationsnode4 == NULL) { -var8 = 1; +var_pexprnode9 = var_nodearraylist8; +/* isa nullable AExpr */ +cltype27 = type_nullable_parser_nodes__AExpr.color; +idtype28 = type_nullable_parser_nodes__AExpr.id; +if(var_pexprnode9 == NULL) { +var26 = 1; } else { -if(cltype9 >= var_pannotationsnode4->type->table_size) { -var8 = 0; +if(cltype27 >= var_pexprnode9->type->table_size) { +var26 = 0; } else { -var8 = var_pannotationsnode4->type->type_table[cltype9] == idtype10; +var26 = var_pexprnode9->type->type_table[cltype27] == idtype28; } } -if (!var8) { +if (!var26) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15447); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15776); +show_backtrace(1); } -var11 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef); -((void (*)(val*, val*, val*, val*))(var11->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var11, var_tclassidnode2, var_ptypenode3, var_pannotationsnode4) /* init_aformaldef on */; -CHECK_NEW_parser_nodes__AFormaldef(var11); -var_pformaldefnode1 = var11; -var_node_list = var_pformaldefnode1; -var12 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var13 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var12) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var13, var_node_list) /* push on */; +var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); +var30 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on */; +var_ppropdefnode1 = var29; +var_node_list = var_ppropdefnode1; +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#ReduceAction341#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction341__action(val* self, val* p0) { -parser__ReduceAction341__action(self, p0); +/* method parser#ReduceAction351#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction351__action(val* self, val* p0) { +parser__ReduceAction351__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction342#action for (self: ReduceAction342, Parser) */ -void parser__ReduceAction342__action(val* self, val* p0) { +/* method parser#ReduceAction352#action for (self: ReduceAction352, Parser) */ +void parser__ReduceAction352__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var4 /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var9 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */; -short int var5 /* : Bool */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var11 /* : Bool */; int cltype; int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -val* var9 /* : ASuperclass */; -val* var10 /* : null */; -val* var_psuperclassnode1 /* var psuperclassnode1: nullable ASuperclass */; -long var11 /* : Int */; -long var12 /* : Int */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var_pexprnode9 /* var pexprnode9: nullable Object */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +val* var33 /* : AConcreteMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; +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_nodearraylist4 = var1; +var_nodearraylist10 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var2; +var_nodearraylist9 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var3; +var_nodearraylist8 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var4; -var_tkwsupernode2 = var_nodearraylist2; -/* isa nullable TKwsuper */ -cltype = type_nullable_parser_nodes__TKwsuper.color; -idtype = type_nullable_parser_nodes__TKwsuper.id; -if(var_tkwsupernode2 == NULL) { -var5 = 1; +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; +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; } else { -if(cltype >= var_tkwsupernode2->type->table_size) { -var5 = 0; +if(cltype >= var_pdocnode2->type->table_size) { +var11 = 0; } else { -var5 = var_tkwsupernode2->type->type_table[cltype] == idtype; +var11 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var5) { +if (!var11) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15467); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15807); +show_backtrace(1); } -var_ptypenode3 = var_nodearraylist4; -/* isa nullable AType */ -cltype7 = type_nullable_parser_nodes__AType.color; -idtype8 = type_nullable_parser_nodes__AType.id; -if(var_ptypenode3 == NULL) { -var6 = 1; +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype13 = type_nullable_parser_nodes__TKwredef.color; +idtype14 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var12 = 1; } else { -if(cltype7 >= var_ptypenode3->type->table_size) { -var6 = 0; +if(cltype13 >= var_tkwredefnode3->type->table_size) { +var12 = 0; } else { -var6 = var_ptypenode3->type->type_table[cltype7] == idtype8; +var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14; } } -if (!var6) { +if (!var12) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15469); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15809); +show_backtrace(1); } -var9 = NEW_parser_nodes__ASuperclass(&type_parser_nodes__ASuperclass); -var10 = NULL; -((void (*)(val*, val*, val*, val*))(var9->class->vft[COLOR_parser_prod__ASuperclass__init_asuperclass]))(var9, var_tkwsupernode2, var_ptypenode3, var10) /* init_asuperclass on */; -CHECK_NEW_parser_nodes__ASuperclass(var9); -var_psuperclassnode1 = var9; -var_node_list = var_psuperclassnode1; -var11 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var12 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var11) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var12, var_node_list) /* push on */; -RET_LABEL:; +var_pvisibilitynode4 = var_nodearraylist3; +/* 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_pvisibilitynode4->type->table_size) { +var15 = 0; +} else { +var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; } -/* method parser#ReduceAction342#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction342__action(val* self, val* p0) { -parser__ReduceAction342__action(self, p0); -RET_LABEL:; } -/* method parser#ReduceAction343#action for (self: ReduceAction343, Parser) */ -void parser__ReduceAction343__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */; -short int var6 /* : Bool */; -int cltype; -int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var7 /* : Bool */; -int cltype8; -int idtype9; -val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : ASuperclass */; -val* var_psuperclassnode1 /* var psuperclassnode1: nullable ASuperclass */; -long var14 /* : Int */; -long var15 /* : 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_nodearraylist5 = var1; -var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var2; -var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var3; -var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist2 = var4; -var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist1 = var5; -var_tkwsupernode2 = var_nodearraylist2; -/* isa nullable TKwsuper */ -cltype = type_nullable_parser_nodes__TKwsuper.color; -idtype = type_nullable_parser_nodes__TKwsuper.id; -if(var_tkwsupernode2 == NULL) { -var6 = 1; +if (!var15) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15811); +show_backtrace(1); +} +var_tkwmethnode5 = var_nodearraylist4; +/* isa nullable TKwmeth */ +cltype19 = type_nullable_parser_nodes__TKwmeth.color; +idtype20 = type_nullable_parser_nodes__TKwmeth.id; +if(var_tkwmethnode5 == NULL) { +var18 = 1; } else { -if(cltype >= var_tkwsupernode2->type->table_size) { -var6 = 0; +if(cltype19 >= var_tkwmethnode5->type->table_size) { +var18 = 0; } else { -var6 = var_tkwsupernode2->type->type_table[cltype] == idtype; +var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20; } } -if (!var6) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15490); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15813); +show_backtrace(1); } -var_ptypenode3 = var_nodearraylist4; -/* isa nullable AType */ -cltype8 = type_nullable_parser_nodes__AType.color; -idtype9 = type_nullable_parser_nodes__AType.id; -if(var_ptypenode3 == NULL) { -var7 = 1; +var_pmethidnode6 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype22 = type_nullable_parser_nodes__AMethid.color; +idtype23 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode6 == NULL) { +var21 = 1; } else { -if(cltype8 >= var_ptypenode3->type->table_size) { -var7 = 0; +if(cltype22 >= var_pmethidnode6->type->table_size) { +var21 = 0; } else { -var7 = var_ptypenode3->type->type_table[cltype8] == idtype9; +var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23; } } -if (!var7) { +if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15492); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15815); +show_backtrace(1); } -var_pannotationsnode4 = var_nodearraylist5; -/* isa nullable AAnnotations */ -cltype11 = type_nullable_parser_nodes__AAnnotations.color; -idtype12 = type_nullable_parser_nodes__AAnnotations.id; -if(var_pannotationsnode4 == NULL) { -var10 = 1; +var_psignaturenode7 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype25 = type_nullable_parser_nodes__ASignature.color; +idtype26 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode7 == NULL) { +var24 = 1; } else { -if(cltype11 >= var_pannotationsnode4->type->table_size) { -var10 = 0; +if(cltype25 >= var_psignaturenode7->type->table_size) { +var24 = 0; } else { -var10 = var_pannotationsnode4->type->type_table[cltype11] == idtype12; +var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26; } } -if (!var10) { +if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15494); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15817); +show_backtrace(1); } -var13 = NEW_parser_nodes__ASuperclass(&type_parser_nodes__ASuperclass); -((void (*)(val*, val*, val*, val*))(var13->class->vft[COLOR_parser_prod__ASuperclass__init_asuperclass]))(var13, var_tkwsupernode2, var_ptypenode3, var_pannotationsnode4) /* init_asuperclass on */; -CHECK_NEW_parser_nodes__ASuperclass(var13); -var_psuperclassnode1 = var13; -var_node_list = var_psuperclassnode1; -var14 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var15 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var14) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var15, var_node_list) /* push on */; -RET_LABEL:; +var_pannotationsnode8 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype28 = type_nullable_parser_nodes__AAnnotations.color; +idtype29 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode8 == NULL) { +var27 = 1; +} else { +if(cltype28 >= var_pannotationsnode8->type->table_size) { +var27 = 0; +} else { +var27 = var_pannotationsnode8->type->type_table[cltype28] == idtype29; } -/* method parser#ReduceAction343#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction343__action(val* self, val* p0) { -parser__ReduceAction343__action(self, p0); -RET_LABEL:; } -/* method parser#ReduceAction344#action for (self: ReduceAction344, Parser) */ -void parser__ReduceAction344__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable Object */; -long var3 /* : Int */; -long var4 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = ((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_ppropdefnode1 = var_nodearraylist1; +if (!var27) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15819); +show_backtrace(1); +} +var_pexprnode9 = var_nodearraylist9; +/* isa nullable AExpr */ +cltype31 = type_nullable_parser_nodes__AExpr.color; +idtype32 = type_nullable_parser_nodes__AExpr.id; +if(var_pexprnode9 == NULL) { +var30 = 1; +} else { +if(cltype31 >= var_pexprnode9->type->table_size) { +var30 = 0; +} else { +var30 = var_pexprnode9->type->type_table[cltype31] == idtype32; +} +} +if (!var30) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15821); +show_backtrace(1); +} +var33 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on */; +var_ppropdefnode1 = var33; var_node_list = var_ppropdefnode1; -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 */; +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#ReduceAction344#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction344__action(val* self, val* p0) { -parser__ReduceAction344__action(self, p0); +/* method parser#ReduceAction352#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction352__action(val* self, val* p0) { +parser__ReduceAction352__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction345#action for (self: ReduceAction345, Parser) */ -void parser__ReduceAction345__action(val* self, val* p0) { +/* method parser#ReduceAction353#action for (self: ReduceAction353, Parser) */ +void parser__ReduceAction353__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_pdocnode2 /* var pdocnode2: nullable Object */; -short int var8 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; +short int var10 /* : Bool */; +int cltype11; +int idtype12; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; +short int var13 /* : Bool */; +int cltype14; +int idtype15; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_pexprnode9 /* var pexprnode9: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var24 /* : AConcreteMethPropdef */; -val* var25 /* : null */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var25 /* : AConcreteMethPropdef */; val* var26 /* : null */; +val* var27 /* : null */; val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; -long var27 /* : Int */; long var28 /* : Int */; +long var29 /* : 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_nodearraylist2 = var7; +var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var8; 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) { -var8 = 1; +var9 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var8 = 0; +var9 = 0; } else { -var8 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var8) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15529); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15850); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype10 = type_nullable_parser_nodes__AVisibility.color; -idtype11 = type_nullable_parser_nodes__AVisibility.id; +cltype11 = type_nullable_parser_nodes__AVisibility.color; +idtype12 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var9 = 1; +var10 = 1; } else { -if(cltype10 >= var_pvisibilitynode4->type->table_size) { -var9 = 0; +if(cltype11 >= var_pvisibilitynode4->type->table_size) { +var10 = 0; } else { -var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11; +var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12; } } -if (!var9) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15531); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15852); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist3; /* isa nullable TKwmeth */ -cltype13 = type_nullable_parser_nodes__TKwmeth.color; -idtype14 = type_nullable_parser_nodes__TKwmeth.id; +cltype14 = type_nullable_parser_nodes__TKwmeth.color; +idtype15 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var12 = 1; +var13 = 1; } else { -if(cltype13 >= var_tkwmethnode5->type->table_size) { -var12 = 0; +if(cltype14 >= var_tkwmethnode5->type->table_size) { +var13 = 0; } else { -var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14; +var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15; } } -if (!var12) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15533); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15854); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist4; /* isa nullable AMethid */ -cltype16 = type_nullable_parser_nodes__AMethid.color; -idtype17 = type_nullable_parser_nodes__AMethid.id; +cltype17 = type_nullable_parser_nodes__AMethid.color; +idtype18 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var15 = 1; +var16 = 1; } else { -if(cltype16 >= var_pmethidnode6->type->table_size) { -var15 = 0; +if(cltype17 >= var_pmethidnode6->type->table_size) { +var16 = 0; } else { -var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17; +var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18; } } -if (!var15) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15535); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15856); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist5; -/* isa nullable ASignature */ -cltype19 = type_nullable_parser_nodes__ASignature.color; -idtype20 = type_nullable_parser_nodes__ASignature.id; +/* isa nullable ASignature */ +cltype20 = type_nullable_parser_nodes__ASignature.color; +idtype21 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var18 = 1; +var19 = 1; } else { -if(cltype19 >= var_psignaturenode7->type->table_size) { -var18 = 0; +if(cltype20 >= var_psignaturenode7->type->table_size) { +var19 = 0; } else { -var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20; +var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21; } } -if (!var18) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15537); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15858); +show_backtrace(1); } -var_pexprnode9 = var_nodearraylist7; +var_pexprnode9 = var_nodearraylist8; /* isa nullable AExpr */ -cltype22 = type_nullable_parser_nodes__AExpr.color; -idtype23 = type_nullable_parser_nodes__AExpr.id; +cltype23 = type_nullable_parser_nodes__AExpr.color; +idtype24 = type_nullable_parser_nodes__AExpr.id; if(var_pexprnode9 == NULL) { -var21 = 1; +var22 = 1; } else { -if(cltype22 >= var_pexprnode9->type->table_size) { -var21 = 0; +if(cltype23 >= var_pexprnode9->type->table_size) { +var22 = 0; } else { -var21 = var_pexprnode9->type->type_table[cltype22] == idtype23; +var22 = var_pexprnode9->type->type_table[cltype23] == idtype24; } } -if (!var21) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15539); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15860); +show_backtrace(1); } -var24 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); -var25 = NULL; +var25 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); var26 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var24, var_pdocnode2, var25, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var26, var_pexprnode9) /* init_aconcretemethpropdef on */; -CHECK_NEW_parser_nodes__AConcreteMethPropdef(var24); -var_ppropdefnode1 = var24; +var27 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexprnode9) /* init_aconcretemethpropdef on */; +var_ppropdefnode1 = var25; var_node_list = var_ppropdefnode1; -var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on */; +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 */; RET_LABEL:; } -/* method parser#ReduceAction345#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction345__action(val* self, val* p0) { -parser__ReduceAction345__action(self, p0); +/* method parser#ReduceAction353#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction353__action(val* self, val* p0) { +parser__ReduceAction353__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction346#action for (self: ReduceAction346, Parser) */ -void parser__ReduceAction346__action(val* self, val* p0) { +/* method parser#ReduceAction354#action for (self: ReduceAction354, Parser) */ +void parser__ReduceAction354__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* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +short int var10 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; +short int var11 /* : Bool */; +int cltype12; +int idtype13; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; +short int var23 /* : Bool */; +int cltype24; +int idtype25; val* var_pexprnode9 /* var pexprnode9: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : AConcreteMethPropdef */; -val* var29 /* : null */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : AConcreteMethPropdef */; +val* var30 /* : null */; val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; -long var30 /* : 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_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; +var_nodearraylist2 = var8; +var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var9; 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) { -var9 = 1; +var10 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +var10 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var10 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var9) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15568); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15890); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype11 = type_nullable_parser_nodes__TKwredef.color; -idtype12 = type_nullable_parser_nodes__TKwredef.id; +cltype12 = type_nullable_parser_nodes__TKwredef.color; +idtype13 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var10 = 1; +var11 = 1; } else { -if(cltype11 >= var_tkwredefnode3->type->table_size) { -var10 = 0; +if(cltype12 >= var_tkwredefnode3->type->table_size) { +var11 = 0; } else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; } } -if (!var10) { +if (!var11) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15570); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15892); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype14 = type_nullable_parser_nodes__AVisibility.color; -idtype15 = type_nullable_parser_nodes__AVisibility.id; +cltype15 = type_nullable_parser_nodes__AVisibility.color; +idtype16 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var13 = 1; +var14 = 1; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; +if(cltype15 >= var_pvisibilitynode4->type->table_size) { +var14 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var14 = var_pvisibilitynode4->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", 15572); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15894); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist4; /* isa nullable TKwmeth */ -cltype17 = type_nullable_parser_nodes__TKwmeth.color; -idtype18 = type_nullable_parser_nodes__TKwmeth.id; +cltype18 = type_nullable_parser_nodes__TKwmeth.color; +idtype19 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var16 = 1; +var17 = 1; } else { -if(cltype17 >= var_tkwmethnode5->type->table_size) { -var16 = 0; +if(cltype18 >= var_tkwmethnode5->type->table_size) { +var17 = 0; } else { -var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18; +var17 = var_tkwmethnode5->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", 15574); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15896); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist5; /* isa nullable AMethid */ -cltype20 = type_nullable_parser_nodes__AMethid.color; -idtype21 = type_nullable_parser_nodes__AMethid.id; +cltype21 = type_nullable_parser_nodes__AMethid.color; +idtype22 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var19 = 1; +var20 = 1; } else { -if(cltype20 >= var_pmethidnode6->type->table_size) { -var19 = 0; +if(cltype21 >= var_pmethidnode6->type->table_size) { +var20 = 0; } else { -var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21; +var20 = var_pmethidnode6->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", 15576); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15898); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist6; /* isa nullable ASignature */ -cltype23 = type_nullable_parser_nodes__ASignature.color; -idtype24 = type_nullable_parser_nodes__ASignature.id; +cltype24 = type_nullable_parser_nodes__ASignature.color; +idtype25 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var22 = 1; +var23 = 1; } else { -if(cltype23 >= var_psignaturenode7->type->table_size) { -var22 = 0; +if(cltype24 >= var_psignaturenode7->type->table_size) { +var23 = 0; } else { -var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24; +var23 = var_psignaturenode7->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", 15578); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15900); +show_backtrace(1); } -var_pexprnode9 = var_nodearraylist8; +var_pexprnode9 = var_nodearraylist9; /* isa nullable AExpr */ -cltype26 = type_nullable_parser_nodes__AExpr.color; -idtype27 = type_nullable_parser_nodes__AExpr.id; +cltype27 = type_nullable_parser_nodes__AExpr.color; +idtype28 = type_nullable_parser_nodes__AExpr.id; if(var_pexprnode9 == NULL) { -var25 = 1; +var26 = 1; } else { -if(cltype26 >= var_pexprnode9->type->table_size) { -var25 = 0; +if(cltype27 >= var_pexprnode9->type->table_size) { +var26 = 0; } else { -var25 = var_pexprnode9->type->type_table[cltype26] == idtype27; +var26 = var_pexprnode9->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", 15580); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15902); +show_backtrace(1); } -var28 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); -var29 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var29, var_pexprnode9) /* init_aconcretemethpropdef on */; -CHECK_NEW_parser_nodes__AConcreteMethPropdef(var28); -var_ppropdefnode1 = var28; +var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); +var30 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexprnode9) /* init_aconcretemethpropdef on */; +var_ppropdefnode1 = var29; var_node_list = var_ppropdefnode1; -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 */; +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#ReduceAction346#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction346__action(val* self, val* p0) { -parser__ReduceAction346__action(self, p0); +/* method parser#ReduceAction354#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction354__action(val* self, val* p0) { +parser__ReduceAction354__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction347#action for (self: ReduceAction347, Parser) */ -void parser__ReduceAction347__action(val* self, val* p0) { +/* method parser#ReduceAction355#action for (self: ReduceAction355, Parser) */ +void parser__ReduceAction355__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* var1 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; +short int var8 /* : Bool */; +int cltype9; +int idtype10; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var11 /* : Bool */; +int cltype12; +int idtype13; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_pexprnode9 /* var pexprnode9: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : AConcreteMethPropdef */; -val* var29 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; -long var30 /* : Int */; -long var31 /* : Int */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var23 /* : ADeferredMethPropdef */; +val* var24 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */; +long var25 /* : Int */; +long var26 /* : 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_nodearraylist6 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var2; +var_nodearraylist5 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var3; +var_nodearraylist4 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var4; +var_nodearraylist3 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var5; +var_nodearraylist2 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -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; +var_nodearraylist1 = var6; 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) { -var9 = 1; +var7 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +var7 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var7 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var9) { +if (!var7) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15609); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15929); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype11 = type_nullable_parser_nodes__AVisibility.color; -idtype12 = type_nullable_parser_nodes__AVisibility.id; +cltype9 = type_nullable_parser_nodes__AVisibility.color; +idtype10 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var10 = 1; +var8 = 1; } else { -if(cltype11 >= var_pvisibilitynode4->type->table_size) { -var10 = 0; +if(cltype9 >= var_pvisibilitynode4->type->table_size) { +var8 = 0; } else { -var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12; +var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10; } } -if (!var10) { +if (!var8) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15611); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15931); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist3; /* isa nullable TKwmeth */ -cltype14 = type_nullable_parser_nodes__TKwmeth.color; -idtype15 = type_nullable_parser_nodes__TKwmeth.id; +cltype12 = type_nullable_parser_nodes__TKwmeth.color; +idtype13 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var13 = 1; +var11 = 1; } else { -if(cltype14 >= var_tkwmethnode5->type->table_size) { -var13 = 0; +if(cltype12 >= var_tkwmethnode5->type->table_size) { +var11 = 0; } else { -var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15; +var11 = var_tkwmethnode5->type->type_table[cltype12] == idtype13; } } -if (!var13) { +if (!var11) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15613); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15933); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist4; /* isa nullable AMethid */ -cltype17 = type_nullable_parser_nodes__AMethid.color; -idtype18 = type_nullable_parser_nodes__AMethid.id; +cltype15 = type_nullable_parser_nodes__AMethid.color; +idtype16 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var16 = 1; +var14 = 1; } else { -if(cltype17 >= var_pmethidnode6->type->table_size) { -var16 = 0; +if(cltype15 >= var_pmethidnode6->type->table_size) { +var14 = 0; } else { -var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18; +var14 = var_pmethidnode6->type->type_table[cltype15] == idtype16; } } -if (!var16) { +if (!var14) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15615); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15935); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist5; /* isa nullable ASignature */ -cltype20 = type_nullable_parser_nodes__ASignature.color; -idtype21 = type_nullable_parser_nodes__ASignature.id; +cltype18 = type_nullable_parser_nodes__ASignature.color; +idtype19 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var19 = 1; +var17 = 1; } else { -if(cltype20 >= var_psignaturenode7->type->table_size) { -var19 = 0; +if(cltype18 >= var_psignaturenode7->type->table_size) { +var17 = 0; } else { -var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21; +var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19; } } -if (!var19) { +if (!var17) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15617); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15937); +show_backtrace(1); } var_pannotationsnode8 = var_nodearraylist6; /* isa nullable AAnnotations */ -cltype23 = type_nullable_parser_nodes__AAnnotations.color; -idtype24 = type_nullable_parser_nodes__AAnnotations.id; +cltype21 = type_nullable_parser_nodes__AAnnotations.color; +idtype22 = type_nullable_parser_nodes__AAnnotations.id; if(var_pannotationsnode8 == NULL) { -var22 = 1; -} else { -if(cltype23 >= var_pannotationsnode8->type->table_size) { -var22 = 0; -} else { -var22 = var_pannotationsnode8->type->type_table[cltype23] == idtype24; -} -} -if (!var22) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15619); -exit(1); -} -var_pexprnode9 = var_nodearraylist8; -/* isa nullable AExpr */ -cltype26 = type_nullable_parser_nodes__AExpr.color; -idtype27 = type_nullable_parser_nodes__AExpr.id; -if(var_pexprnode9 == NULL) { -var25 = 1; +var20 = 1; } else { -if(cltype26 >= var_pexprnode9->type->table_size) { -var25 = 0; +if(cltype21 >= var_pannotationsnode8->type->table_size) { +var20 = 0; } else { -var25 = var_pexprnode9->type->type_table[cltype26] == idtype27; +var20 = var_pannotationsnode8->type->type_table[cltype21] == idtype22; } } -if (!var25) { +if (!var20) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15621); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15939); +show_backtrace(1); } -var28 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); -var29 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var28, var_pdocnode2, var29, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on */; -CHECK_NEW_parser_nodes__AConcreteMethPropdef(var28); -var_ppropdefnode1 = var28; +var23 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef); +var24 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8) /* init_adeferredmethpropdef on */; +var_ppropdefnode1 = var23; var_node_list = var_ppropdefnode1; -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 */; +var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction347#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction347__action(val* self, val* p0) { -parser__ReduceAction347__action(self, p0); +/* method parser#ReduceAction355#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction355__action(val* self, val* p0) { +parser__ReduceAction355__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction348#action for (self: ReduceAction348, Parser) */ -void parser__ReduceAction348__action(val* self, val* p0) { +/* method parser#ReduceAction356#action for (self: ReduceAction356, Parser) */ +void parser__ReduceAction356__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var3 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; +short int var9 /* : Bool */; +int cltype10; +int idtype11; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var12 /* : Bool */; +int cltype13; +int idtype14; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; +short int var21 /* : Bool */; +int cltype22; +int idtype23; val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var_pexprnode9 /* var pexprnode9: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var32 /* : AConcreteMethPropdef */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; -long var33 /* : Int */; -long var34 /* : Int */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var27 /* : ADeferredMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */; +long var28 /* : Int */; +long var29 /* : 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_nodearraylist7 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var2; +var_nodearraylist6 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var3; +var_nodearraylist5 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var4; +var_nodearraylist4 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var5; +var_nodearraylist3 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var6; +var_nodearraylist2 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -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; +var_nodearraylist1 = var7; 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) { -var10 = 1; +var8 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; +var8 = 0; } else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; +var8 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var10) { +if (!var8) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15651); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15966); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype12 = type_nullable_parser_nodes__TKwredef.color; -idtype13 = type_nullable_parser_nodes__TKwredef.id; +cltype10 = type_nullable_parser_nodes__TKwredef.color; +idtype11 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var11 = 1; +var9 = 1; } else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { -var11 = 0; +if(cltype10 >= var_tkwredefnode3->type->table_size) { +var9 = 0; } else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; +var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11; } } -if (!var11) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15653); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15968); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype15 = type_nullable_parser_nodes__AVisibility.color; -idtype16 = type_nullable_parser_nodes__AVisibility.id; +cltype13 = type_nullable_parser_nodes__AVisibility.color; +idtype14 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var14 = 1; +var12 = 1; } else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; +if(cltype13 >= var_pvisibilitynode4->type->table_size) { +var12 = 0; } else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14; } } -if (!var14) { +if (!var12) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15655); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15970); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist4; /* isa nullable TKwmeth */ -cltype18 = type_nullable_parser_nodes__TKwmeth.color; -idtype19 = type_nullable_parser_nodes__TKwmeth.id; +cltype16 = type_nullable_parser_nodes__TKwmeth.color; +idtype17 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var17 = 1; +var15 = 1; } else { -if(cltype18 >= var_tkwmethnode5->type->table_size) { -var17 = 0; +if(cltype16 >= var_tkwmethnode5->type->table_size) { +var15 = 0; } else { -var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19; +var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17; } } -if (!var17) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15657); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15972); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist5; /* isa nullable AMethid */ -cltype21 = type_nullable_parser_nodes__AMethid.color; -idtype22 = type_nullable_parser_nodes__AMethid.id; +cltype19 = type_nullable_parser_nodes__AMethid.color; +idtype20 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var20 = 1; +var18 = 1; } else { -if(cltype21 >= var_pmethidnode6->type->table_size) { -var20 = 0; +if(cltype19 >= var_pmethidnode6->type->table_size) { +var18 = 0; } else { -var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22; +var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20; } } -if (!var20) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15659); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15974); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist6; /* isa nullable ASignature */ -cltype24 = type_nullable_parser_nodes__ASignature.color; -idtype25 = type_nullable_parser_nodes__ASignature.id; +cltype22 = type_nullable_parser_nodes__ASignature.color; +idtype23 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var23 = 1; +var21 = 1; } else { -if(cltype24 >= var_psignaturenode7->type->table_size) { -var23 = 0; +if(cltype22 >= var_psignaturenode7->type->table_size) { +var21 = 0; } else { -var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25; +var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23; } } -if (!var23) { +if (!var21) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15661); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15976); +show_backtrace(1); } var_pannotationsnode8 = var_nodearraylist7; /* isa nullable AAnnotations */ -cltype27 = type_nullable_parser_nodes__AAnnotations.color; -idtype28 = type_nullable_parser_nodes__AAnnotations.id; +cltype25 = type_nullable_parser_nodes__AAnnotations.color; +idtype26 = type_nullable_parser_nodes__AAnnotations.id; if(var_pannotationsnode8 == NULL) { -var26 = 1; -} else { -if(cltype27 >= var_pannotationsnode8->type->table_size) { -var26 = 0; -} else { -var26 = var_pannotationsnode8->type->type_table[cltype27] == idtype28; -} -} -if (!var26) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15663); -exit(1); -} -var_pexprnode9 = var_nodearraylist9; -/* isa nullable AExpr */ -cltype30 = type_nullable_parser_nodes__AExpr.color; -idtype31 = type_nullable_parser_nodes__AExpr.id; -if(var_pexprnode9 == NULL) { -var29 = 1; +var24 = 1; } else { -if(cltype30 >= var_pexprnode9->type->table_size) { -var29 = 0; +if(cltype25 >= var_pannotationsnode8->type->table_size) { +var24 = 0; } else { -var29 = var_pexprnode9->type->type_table[cltype30] == idtype31; +var24 = var_pannotationsnode8->type->type_table[cltype25] == idtype26; } } -if (!var29) { +if (!var24) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15665); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15978); +show_backtrace(1); } -var32 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var32, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on */; -CHECK_NEW_parser_nodes__AConcreteMethPropdef(var32); -var_ppropdefnode1 = var32; +var27 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8) /* init_adeferredmethpropdef on */; +var_ppropdefnode1 = var27; var_node_list = var_ppropdefnode1; -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 */; +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 */; RET_LABEL:; } -/* method parser#ReduceAction348#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction348__action(val* self, val* p0) { -parser__ReduceAction348__action(self, p0); +/* method parser#ReduceAction356#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction356__action(val* self, val* p0) { +parser__ReduceAction356__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction349#action for (self: ReduceAction349, Parser) */ -void parser__ReduceAction349__action(val* self, val* p0) { +/* method parser#ReduceAction357#action for (self: ReduceAction357, Parser) */ +void parser__ReduceAction357__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* var2 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; +short int var9 /* : Bool */; +int cltype10; +int idtype11; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var12 /* : Bool */; +int cltype13; +int idtype14; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_pexprnode9 /* var pexprnode9: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var25 /* : AConcreteMethPropdef */; -val* var26 /* : null */; -val* var27 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; -long var28 /* : Int */; -long var29 /* : Int */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var21 /* : ADeferredMethPropdef */; +val* var22 /* : null */; +val* var23 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */; +long var24 /* : Int */; +long var25 /* : 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_nodearraylist7 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var2; +var_nodearraylist6 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var3; +var_nodearraylist5 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var4; +var_nodearraylist4 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var5; +var_nodearraylist3 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var6; +var_nodearraylist2 = 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; +var_nodearraylist1 = var7; 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) { -var9 = 1; +var8 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +var8 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var8 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var9) { +if (!var8) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15694); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16005); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype11 = type_nullable_parser_nodes__AVisibility.color; -idtype12 = type_nullable_parser_nodes__AVisibility.id; +cltype10 = type_nullable_parser_nodes__AVisibility.color; +idtype11 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var10 = 1; +var9 = 1; } else { -if(cltype11 >= var_pvisibilitynode4->type->table_size) { -var10 = 0; +if(cltype10 >= var_pvisibilitynode4->type->table_size) { +var9 = 0; } else { -var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12; +var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11; } } -if (!var10) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15696); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16007); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist3; /* isa nullable TKwmeth */ -cltype14 = type_nullable_parser_nodes__TKwmeth.color; -idtype15 = type_nullable_parser_nodes__TKwmeth.id; +cltype13 = type_nullable_parser_nodes__TKwmeth.color; +idtype14 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var13 = 1; +var12 = 1; } else { -if(cltype14 >= var_tkwmethnode5->type->table_size) { -var13 = 0; +if(cltype13 >= var_tkwmethnode5->type->table_size) { +var12 = 0; } else { -var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15; +var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14; } } -if (!var13) { +if (!var12) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15698); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16009); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist4; /* isa nullable AMethid */ -cltype17 = type_nullable_parser_nodes__AMethid.color; -idtype18 = type_nullable_parser_nodes__AMethid.id; +cltype16 = type_nullable_parser_nodes__AMethid.color; +idtype17 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var16 = 1; +var15 = 1; } else { -if(cltype17 >= var_pmethidnode6->type->table_size) { -var16 = 0; +if(cltype16 >= var_pmethidnode6->type->table_size) { +var15 = 0; } else { -var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18; +var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17; } } -if (!var16) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15700); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16011); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist5; /* isa nullable ASignature */ -cltype20 = type_nullable_parser_nodes__ASignature.color; -idtype21 = type_nullable_parser_nodes__ASignature.id; +cltype19 = type_nullable_parser_nodes__ASignature.color; +idtype20 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var19 = 1; -} else { -if(cltype20 >= var_psignaturenode7->type->table_size) { -var19 = 0; -} else { -var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21; -} -} -if (!var19) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15702); -exit(1); -} -var_pexprnode9 = var_nodearraylist7; -/* isa nullable AExpr */ -cltype23 = type_nullable_parser_nodes__AExpr.color; -idtype24 = type_nullable_parser_nodes__AExpr.id; -if(var_pexprnode9 == NULL) { -var22 = 1; +var18 = 1; } else { -if(cltype23 >= var_pexprnode9->type->table_size) { -var22 = 0; +if(cltype19 >= var_psignaturenode7->type->table_size) { +var18 = 0; } else { -var22 = var_pexprnode9->type->type_table[cltype23] == idtype24; +var18 = var_psignaturenode7->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", 15704); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16013); +show_backtrace(1); } -var25 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); -var26 = NULL; -var27 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexprnode9) /* init_aconcretemethpropdef on */; -CHECK_NEW_parser_nodes__AConcreteMethPropdef(var25); -var_ppropdefnode1 = var25; +var21 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef); +var22 = NULL; +var23 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var23) /* init_adeferredmethpropdef on */; +var_ppropdefnode1 = var21; var_node_list = var_ppropdefnode1; -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 */; +var24 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var25 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var24) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var25, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction349#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction349__action(val* self, val* p0) { -parser__ReduceAction349__action(self, p0); +/* method parser#ReduceAction357#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction357__action(val* self, val* p0) { +parser__ReduceAction357__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction350#action for (self: ReduceAction350, Parser) */ -void parser__ReduceAction350__action(val* self, val* p0) { +/* method parser#ReduceAction358#action for (self: ReduceAction358, Parser) */ +void parser__ReduceAction358__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* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; +short int var10 /* : Bool */; +int cltype11; +int idtype12; 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_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_pexprnode9 /* var pexprnode9: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : AConcreteMethPropdef */; -val* var30 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; -long var31 /* : Int */; -long var32 /* : Int */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var25 /* : ADeferredMethPropdef */; +val* var26 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */; +long var27 /* : Int */; +long var28 /* : 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; 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) { -var10 = 1; +var9 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; +var9 = 0; } else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var10) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15734); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16041); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype12 = type_nullable_parser_nodes__TKwredef.color; -idtype13 = type_nullable_parser_nodes__TKwredef.id; +cltype11 = type_nullable_parser_nodes__TKwredef.color; +idtype12 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var11 = 1; +var10 = 1; } else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { -var11 = 0; +if(cltype11 >= var_tkwredefnode3->type->table_size) { +var10 = 0; } else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; +var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; } } -if (!var11) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15736); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16043); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* 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", 15738); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16045); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist4; /* isa nullable TKwmeth */ -cltype18 = type_nullable_parser_nodes__TKwmeth.color; -idtype19 = type_nullable_parser_nodes__TKwmeth.id; +cltype17 = type_nullable_parser_nodes__TKwmeth.color; +idtype18 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var17 = 1; +var16 = 1; } else { -if(cltype18 >= var_tkwmethnode5->type->table_size) { -var17 = 0; +if(cltype17 >= var_tkwmethnode5->type->table_size) { +var16 = 0; } else { -var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19; +var16 = var_tkwmethnode5->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", 15740); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16047); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist5; /* isa nullable AMethid */ -cltype21 = type_nullable_parser_nodes__AMethid.color; -idtype22 = type_nullable_parser_nodes__AMethid.id; +cltype20 = type_nullable_parser_nodes__AMethid.color; +idtype21 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var20 = 1; +var19 = 1; } else { -if(cltype21 >= var_pmethidnode6->type->table_size) { -var20 = 0; +if(cltype20 >= var_pmethidnode6->type->table_size) { +var19 = 0; } else { -var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22; +var19 = var_pmethidnode6->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", 15742); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16049); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist6; /* isa nullable ASignature */ -cltype24 = type_nullable_parser_nodes__ASignature.color; -idtype25 = type_nullable_parser_nodes__ASignature.id; +cltype23 = type_nullable_parser_nodes__ASignature.color; +idtype24 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var23 = 1; -} else { -if(cltype24 >= var_psignaturenode7->type->table_size) { -var23 = 0; -} else { -var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25; -} -} -if (!var23) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15744); -exit(1); -} -var_pexprnode9 = var_nodearraylist8; -/* isa nullable AExpr */ -cltype27 = type_nullable_parser_nodes__AExpr.color; -idtype28 = type_nullable_parser_nodes__AExpr.id; -if(var_pexprnode9 == NULL) { -var26 = 1; +var22 = 1; } else { -if(cltype27 >= var_pexprnode9->type->table_size) { -var26 = 0; +if(cltype23 >= var_psignaturenode7->type->table_size) { +var22 = 0; } else { -var26 = var_pexprnode9->type->type_table[cltype27] == idtype28; -} +var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24; } -if (!var26) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15746); -exit(1); } -var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); -var30 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexprnode9) /* init_aconcretemethpropdef on */; -CHECK_NEW_parser_nodes__AConcreteMethPropdef(var29); -var_ppropdefnode1 = var29; +if (!var22) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16051); +show_backtrace(1); +} +var25 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef); +var26 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var26) /* init_adeferredmethpropdef on */; +var_ppropdefnode1 = var25; var_node_list = var_ppropdefnode1; -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 */; +var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction350#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction350__action(val* self, val* p0) { -parser__ReduceAction350__action(self, p0); +/* method parser#ReduceAction358#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction358__action(val* self, val* p0) { +parser__ReduceAction358__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction351#action for (self: ReduceAction351, Parser) */ -void parser__ReduceAction351__action(val* self, val* p0) { +/* method parser#ReduceAction359#action for (self: ReduceAction359, Parser) */ +void parser__ReduceAction359__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var3 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; +short int var9 /* : Bool */; +int cltype10; +int idtype11; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var12 /* : Bool */; +int cltype13; +int idtype14; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_pexprnode9 /* var pexprnode9: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : AConcreteMethPropdef */; -val* var30 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; -long var31 /* : Int */; -long var32 /* : Int */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var21 /* : AInternMethPropdef */; +val* var22 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AInternMethPropdef */; +long var23 /* : Int */; +long var24 /* : 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_nodearraylist7 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist8 = var2; +var_nodearraylist6 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var3; +var_nodearraylist5 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var4; +var_nodearraylist4 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var5; +var_nodearraylist3 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var6; +var_nodearraylist2 = var6; var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -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; +var_nodearraylist1 = var7; 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) { -var10 = 1; +var8 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; +var8 = 0; } else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; +var8 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var10) { +if (!var8) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15776); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16078); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype12 = type_nullable_parser_nodes__AVisibility.color; -idtype13 = type_nullable_parser_nodes__AVisibility.id; +cltype10 = type_nullable_parser_nodes__AVisibility.color; +idtype11 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var11 = 1; +var9 = 1; } else { -if(cltype12 >= var_pvisibilitynode4->type->table_size) { -var11 = 0; +if(cltype10 >= var_pvisibilitynode4->type->table_size) { +var9 = 0; } else { -var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13; +var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11; } } -if (!var11) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15778); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16080); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist3; /* isa nullable TKwmeth */ -cltype15 = type_nullable_parser_nodes__TKwmeth.color; -idtype16 = type_nullable_parser_nodes__TKwmeth.id; +cltype13 = type_nullable_parser_nodes__TKwmeth.color; +idtype14 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var14 = 1; +var12 = 1; } else { -if(cltype15 >= var_tkwmethnode5->type->table_size) { -var14 = 0; +if(cltype13 >= var_tkwmethnode5->type->table_size) { +var12 = 0; } else { -var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16; +var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14; } } -if (!var14) { +if (!var12) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15780); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16082); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist4; /* isa nullable AMethid */ -cltype18 = type_nullable_parser_nodes__AMethid.color; -idtype19 = type_nullable_parser_nodes__AMethid.id; +cltype16 = type_nullable_parser_nodes__AMethid.color; +idtype17 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var17 = 1; +var15 = 1; } else { -if(cltype18 >= var_pmethidnode6->type->table_size) { -var17 = 0; +if(cltype16 >= var_pmethidnode6->type->table_size) { +var15 = 0; } else { -var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19; +var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17; } } -if (!var17) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15782); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16084); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist5; /* isa nullable ASignature */ -cltype21 = type_nullable_parser_nodes__ASignature.color; -idtype22 = type_nullable_parser_nodes__ASignature.id; +cltype19 = type_nullable_parser_nodes__ASignature.color; +idtype20 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var20 = 1; -} else { -if(cltype21 >= var_psignaturenode7->type->table_size) { -var20 = 0; -} else { -var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22; -} -} -if (!var20) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15784); -exit(1); -} -var_pannotationsnode8 = var_nodearraylist6; -/* isa nullable AAnnotations */ -cltype24 = type_nullable_parser_nodes__AAnnotations.color; -idtype25 = type_nullable_parser_nodes__AAnnotations.id; -if(var_pannotationsnode8 == NULL) { -var23 = 1; -} else { -if(cltype24 >= var_pannotationsnode8->type->table_size) { -var23 = 0; -} else { -var23 = var_pannotationsnode8->type->type_table[cltype24] == idtype25; -} -} -if (!var23) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15786); -exit(1); -} -var_pexprnode9 = var_nodearraylist8; -/* isa nullable AExpr */ -cltype27 = type_nullable_parser_nodes__AExpr.color; -idtype28 = type_nullable_parser_nodes__AExpr.id; -if(var_pexprnode9 == NULL) { -var26 = 1; +var18 = 1; } else { -if(cltype27 >= var_pexprnode9->type->table_size) { -var26 = 0; +if(cltype19 >= var_psignaturenode7->type->table_size) { +var18 = 0; } else { -var26 = var_pexprnode9->type->type_table[cltype27] == idtype28; +var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20; } } -if (!var26) { +if (!var18) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15788); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16086); +show_backtrace(1); } -var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); -var30 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on */; -CHECK_NEW_parser_nodes__AConcreteMethPropdef(var29); -var_ppropdefnode1 = var29; +var21 = NEW_parser_nodes__AInternMethPropdef(&type_parser_nodes__AInternMethPropdef); +var22 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AInternMethPropdef__init_ainternmethpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7) /* init_ainternmethpropdef on */; +var_ppropdefnode1 = var21; var_node_list = var_ppropdefnode1; -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 */; +var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction351#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction351__action(val* self, val* p0) { -parser__ReduceAction351__action(self, p0); +/* method parser#ReduceAction359#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction359__action(val* self, val* p0) { +parser__ReduceAction359__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction352#action for (self: ReduceAction352, Parser) */ -void parser__ReduceAction352__action(val* self, val* p0) { +/* method parser#ReduceAction360#action for (self: ReduceAction360, Parser) */ +void parser__ReduceAction360__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* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var11 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; +short int var10 /* : Bool */; +int cltype11; +int idtype12; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var_pexprnode9 /* var pexprnode9: nullable Object */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : AConcreteMethPropdef */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; -long var34 /* : Int */; -long var35 /* : Int */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var25 /* : AInternMethPropdef */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AInternMethPropdef */; +long var26 /* : Int */; +long var27 /* : 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; 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; +var9 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var11 = 0; +var9 = 0; } else { -var11 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var11) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15819); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16113); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype13 = type_nullable_parser_nodes__TKwredef.color; -idtype14 = type_nullable_parser_nodes__TKwredef.id; +cltype11 = type_nullable_parser_nodes__TKwredef.color; +idtype12 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var12 = 1; +var10 = 1; } else { -if(cltype13 >= var_tkwredefnode3->type->table_size) { -var12 = 0; +if(cltype11 >= var_tkwredefnode3->type->table_size) { +var10 = 0; } else { -var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14; +var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; } } -if (!var12) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15821); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16115); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* 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", 15823); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16117); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist4; /* isa nullable TKwmeth */ -cltype19 = type_nullable_parser_nodes__TKwmeth.color; -idtype20 = type_nullable_parser_nodes__TKwmeth.id; +cltype17 = type_nullable_parser_nodes__TKwmeth.color; +idtype18 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var18 = 1; +var16 = 1; } else { -if(cltype19 >= var_tkwmethnode5->type->table_size) { -var18 = 0; +if(cltype17 >= var_tkwmethnode5->type->table_size) { +var16 = 0; } else { -var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20; +var16 = var_tkwmethnode5->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", 15825); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16119); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist5; /* isa nullable AMethid */ -cltype22 = type_nullable_parser_nodes__AMethid.color; -idtype23 = type_nullable_parser_nodes__AMethid.id; +cltype20 = type_nullable_parser_nodes__AMethid.color; +idtype21 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var21 = 1; +var19 = 1; } else { -if(cltype22 >= var_pmethidnode6->type->table_size) { -var21 = 0; +if(cltype20 >= var_pmethidnode6->type->table_size) { +var19 = 0; } else { -var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23; +var19 = var_pmethidnode6->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", 15827); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16121); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist6; /* isa nullable ASignature */ -cltype25 = type_nullable_parser_nodes__ASignature.color; -idtype26 = type_nullable_parser_nodes__ASignature.id; +cltype23 = type_nullable_parser_nodes__ASignature.color; +idtype24 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var24 = 1; -} else { -if(cltype25 >= var_psignaturenode7->type->table_size) { -var24 = 0; -} else { -var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26; -} -} -if (!var24) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15829); -exit(1); -} -var_pannotationsnode8 = var_nodearraylist7; -/* isa nullable AAnnotations */ -cltype28 = type_nullable_parser_nodes__AAnnotations.color; -idtype29 = type_nullable_parser_nodes__AAnnotations.id; -if(var_pannotationsnode8 == NULL) { -var27 = 1; -} else { -if(cltype28 >= var_pannotationsnode8->type->table_size) { -var27 = 0; -} else { -var27 = var_pannotationsnode8->type->type_table[cltype28] == idtype29; -} -} -if (!var27) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15831); -exit(1); -} -var_pexprnode9 = var_nodearraylist9; -/* isa nullable AExpr */ -cltype31 = type_nullable_parser_nodes__AExpr.color; -idtype32 = type_nullable_parser_nodes__AExpr.id; -if(var_pexprnode9 == NULL) { -var30 = 1; +var22 = 1; } else { -if(cltype31 >= var_pexprnode9->type->table_size) { -var30 = 0; +if(cltype23 >= var_psignaturenode7->type->table_size) { +var22 = 0; } else { -var30 = var_pexprnode9->type->type_table[cltype31] == idtype32; +var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24; } } -if (!var30) { +if (!var22) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15833); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16123); +show_backtrace(1); } -var33 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on */; -CHECK_NEW_parser_nodes__AConcreteMethPropdef(var33); -var_ppropdefnode1 = var33; +var25 = NEW_parser_nodes__AInternMethPropdef(&type_parser_nodes__AInternMethPropdef); +((void (*)(val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AInternMethPropdef__init_ainternmethpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7) /* init_ainternmethpropdef on */; +var_ppropdefnode1 = var25; var_node_list = var_ppropdefnode1; -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 */; +var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction352#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction352__action(val* self, val* p0) { -parser__ReduceAction352__action(self, p0); +/* method parser#ReduceAction360#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction360__action(val* self, val* p0) { +parser__ReduceAction360__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction353#action for (self: ReduceAction353, Parser) */ -void parser__ReduceAction353__action(val* self, val* p0) { +/* method parser#ReduceAction361#action for (self: ReduceAction361, Parser) */ +void parser__ReduceAction361__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* var2 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; +short int var9 /* : Bool */; +int cltype10; +int idtype11; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var12 /* : Bool */; +int cltype13; +int idtype14; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_pexprnode9 /* var pexprnode9: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var25 /* : AConcreteMethPropdef */; -val* var26 /* : null */; -val* var27 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; -long var28 /* : Int */; -long var29 /* : Int */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var21 /* : AExternMethPropdef */; +val* var22 /* : null */; +val* var23 /* : null */; +val* var24 /* : null */; +val* var25 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */; +long var26 /* : Int */; +long var27 /* : 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_nodearraylist7 = var1; var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist7 = var2; +var_nodearraylist6 = var2; var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist6 = var3; +var_nodearraylist5 = var3; var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist5 = var4; +var_nodearraylist4 = var4; var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist4 = var5; +var_nodearraylist3 = var5; var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; -var_nodearraylist3 = var6; +var_nodearraylist2 = 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; +var_nodearraylist1 = var7; 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) { -var9 = 1; +var8 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +var8 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var8 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var9) { +if (!var8) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15862); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16149); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype11 = type_nullable_parser_nodes__AVisibility.color; -idtype12 = type_nullable_parser_nodes__AVisibility.id; +cltype10 = type_nullable_parser_nodes__AVisibility.color; +idtype11 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var10 = 1; +var9 = 1; } else { -if(cltype11 >= var_pvisibilitynode4->type->table_size) { -var10 = 0; +if(cltype10 >= var_pvisibilitynode4->type->table_size) { +var9 = 0; } else { -var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12; +var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11; } } -if (!var10) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15864); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16151); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist3; /* isa nullable TKwmeth */ -cltype14 = type_nullable_parser_nodes__TKwmeth.color; -idtype15 = type_nullable_parser_nodes__TKwmeth.id; +cltype13 = type_nullable_parser_nodes__TKwmeth.color; +idtype14 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var13 = 1; +var12 = 1; } else { -if(cltype14 >= var_tkwmethnode5->type->table_size) { -var13 = 0; +if(cltype13 >= var_tkwmethnode5->type->table_size) { +var12 = 0; } else { -var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15; +var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14; } } -if (!var13) { +if (!var12) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15866); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16153); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist4; /* isa nullable AMethid */ -cltype17 = type_nullable_parser_nodes__AMethid.color; -idtype18 = type_nullable_parser_nodes__AMethid.id; +cltype16 = type_nullable_parser_nodes__AMethid.color; +idtype17 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var16 = 1; +var15 = 1; } else { -if(cltype17 >= var_pmethidnode6->type->table_size) { -var16 = 0; +if(cltype16 >= var_pmethidnode6->type->table_size) { +var15 = 0; } else { -var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18; +var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17; } } -if (!var16) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15868); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16155); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist5; /* isa nullable ASignature */ -cltype20 = type_nullable_parser_nodes__ASignature.color; -idtype21 = type_nullable_parser_nodes__ASignature.id; +cltype19 = type_nullable_parser_nodes__ASignature.color; +idtype20 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var19 = 1; -} else { -if(cltype20 >= var_psignaturenode7->type->table_size) { -var19 = 0; -} else { -var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21; -} -} -if (!var19) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15870); -exit(1); -} -var_pexprnode9 = var_nodearraylist8; -/* isa nullable AExpr */ -cltype23 = type_nullable_parser_nodes__AExpr.color; -idtype24 = type_nullable_parser_nodes__AExpr.id; -if(var_pexprnode9 == NULL) { -var22 = 1; +var18 = 1; } else { -if(cltype23 >= var_pexprnode9->type->table_size) { -var22 = 0; +if(cltype19 >= var_psignaturenode7->type->table_size) { +var18 = 0; } else { -var22 = var_pexprnode9->type->type_table[cltype23] == idtype24; +var18 = var_psignaturenode7->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", 15872); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16157); +show_backtrace(1); } -var25 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); -var26 = NULL; -var27 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexprnode9) /* init_aconcretemethpropdef on */; -CHECK_NEW_parser_nodes__AConcreteMethPropdef(var25); -var_ppropdefnode1 = var25; +var21 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); +var22 = NULL; +var23 = NULL; +var24 = NULL; +var25 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var23, var24, var25) /* init_aexternmethpropdef on */; +var_ppropdefnode1 = var21; var_node_list = var_ppropdefnode1; -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 */; +var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ +var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on */; +((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on */; RET_LABEL:; } -/* method parser#ReduceAction353#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction353__action(val* self, val* p0) { -parser__ReduceAction353__action(self, p0); +/* method parser#ReduceAction361#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction361__action(val* self, val* p0) { +parser__ReduceAction361__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction354#action for (self: ReduceAction354, Parser) */ -void parser__ReduceAction354__action(val* self, val* p0) { +/* method parser#ReduceAction362#action for (self: ReduceAction362, Parser) */ +void parser__ReduceAction362__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* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; +short int var10 /* : Bool */; +int cltype11; +int idtype12; 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_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var_pexprnode9 /* var pexprnode9: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : AConcreteMethPropdef */; -val* var30 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */; -long var31 /* : Int */; -long var32 /* : Int */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var25 /* : AExternMethPropdef */; +val* var26 /* : null */; +val* var27 /* : null */; +val* var28 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */; +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_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; 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) { -var10 = 1; +var9 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; +var9 = 0; } else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var10) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15902); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16187); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype12 = type_nullable_parser_nodes__TKwredef.color; -idtype13 = type_nullable_parser_nodes__TKwredef.id; +cltype11 = type_nullable_parser_nodes__TKwredef.color; +idtype12 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var11 = 1; +var10 = 1; } else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { -var11 = 0; +if(cltype11 >= var_tkwredefnode3->type->table_size) { +var10 = 0; } else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; +var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; } } -if (!var11) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15904); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16189); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* 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", 15906); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16191); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist4; /* isa nullable TKwmeth */ -cltype18 = type_nullable_parser_nodes__TKwmeth.color; -idtype19 = type_nullable_parser_nodes__TKwmeth.id; +cltype17 = type_nullable_parser_nodes__TKwmeth.color; +idtype18 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var17 = 1; -} else { -if(cltype18 >= var_tkwmethnode5->type->table_size) { -var17 = 0; -} else { -var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19; -} -} -if (!var17) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15908); -exit(1); -} -var_pmethidnode6 = var_nodearraylist5; -/* isa nullable AMethid */ -cltype21 = type_nullable_parser_nodes__AMethid.color; -idtype22 = type_nullable_parser_nodes__AMethid.id; -if(var_pmethidnode6 == NULL) { -var20 = 1; +var16 = 1; } else { -if(cltype21 >= var_pmethidnode6->type->table_size) { -var20 = 0; +if(cltype17 >= var_tkwmethnode5->type->table_size) { +var16 = 0; } else { -var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22; +var16 = var_tkwmethnode5->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", 15910); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16193); +show_backtrace(1); } -var_psignaturenode7 = var_nodearraylist6; -/* isa nullable ASignature */ -cltype24 = type_nullable_parser_nodes__ASignature.color; -idtype25 = type_nullable_parser_nodes__ASignature.id; -if(var_psignaturenode7 == NULL) { -var23 = 1; +var_pmethidnode6 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype20 = type_nullable_parser_nodes__AMethid.color; +idtype21 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode6 == NULL) { +var19 = 1; } else { -if(cltype24 >= var_psignaturenode7->type->table_size) { -var23 = 0; +if(cltype20 >= var_pmethidnode6->type->table_size) { +var19 = 0; } else { -var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25; +var19 = var_pmethidnode6->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", 15912); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16195); +show_backtrace(1); } -var_pexprnode9 = var_nodearraylist9; -/* isa nullable AExpr */ -cltype27 = type_nullable_parser_nodes__AExpr.color; -idtype28 = type_nullable_parser_nodes__AExpr.id; -if(var_pexprnode9 == NULL) { -var26 = 1; +var_psignaturenode7 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype23 = type_nullable_parser_nodes__ASignature.color; +idtype24 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode7 == NULL) { +var22 = 1; } else { -if(cltype27 >= var_pexprnode9->type->table_size) { -var26 = 0; +if(cltype23 >= var_psignaturenode7->type->table_size) { +var22 = 0; } else { -var26 = var_pexprnode9->type->type_table[cltype27] == idtype28; +var22 = var_psignaturenode7->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", 15914); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16197); +show_backtrace(1); } -var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); -var30 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexprnode9) /* init_aconcretemethpropdef on */; -CHECK_NEW_parser_nodes__AConcreteMethPropdef(var29); -var_ppropdefnode1 = var29; +var25 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); +var26 = NULL; +var27 = NULL; +var28 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var26, var27, var28) /* init_aexternmethpropdef on */; +var_ppropdefnode1 = var25; var_node_list = var_ppropdefnode1; -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 */; +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#ReduceAction354#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction354__action(val* self, val* p0) { -parser__ReduceAction354__action(self, p0); +/* method parser#ReduceAction362#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction362__action(val* self, val* p0) { +parser__ReduceAction362__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction355#action for (self: ReduceAction355, Parser) */ -void parser__ReduceAction355__action(val* self, val* p0) { +/* method parser#ReduceAction363#action for (self: ReduceAction363, Parser) */ +void parser__ReduceAction363__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* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var7 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; +short int var10 /* : Bool */; +int cltype11; +int idtype12; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; +short int var13 /* : Bool */; +int cltype14; +int idtype15; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var23 /* : ADeferredMethPropdef */; -val* var24 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */; -long var25 /* : Int */; -long var26 /* : Int */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_tstringnode8 /* var tstringnode8: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var25 /* : AExternMethPropdef */; +val* var26 /* : null */; +val* var27 /* : null */; +val* var28 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */; +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_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; 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; +var9 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var7 = 0; +var9 = 0; } else { -var7 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var7) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15941); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16227); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype9 = type_nullable_parser_nodes__AVisibility.color; -idtype10 = type_nullable_parser_nodes__AVisibility.id; +cltype11 = type_nullable_parser_nodes__AVisibility.color; +idtype12 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var8 = 1; +var10 = 1; } else { -if(cltype9 >= var_pvisibilitynode4->type->table_size) { -var8 = 0; +if(cltype11 >= var_pvisibilitynode4->type->table_size) { +var10 = 0; } else { -var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10; +var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12; } } -if (!var8) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15943); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16229); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist3; /* isa nullable TKwmeth */ -cltype12 = type_nullable_parser_nodes__TKwmeth.color; -idtype13 = type_nullable_parser_nodes__TKwmeth.id; +cltype14 = type_nullable_parser_nodes__TKwmeth.color; +idtype15 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var11 = 1; +var13 = 1; } else { -if(cltype12 >= var_tkwmethnode5->type->table_size) { -var11 = 0; +if(cltype14 >= var_tkwmethnode5->type->table_size) { +var13 = 0; } else { -var11 = var_tkwmethnode5->type->type_table[cltype12] == idtype13; +var13 = var_tkwmethnode5->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", 15945); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16231); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist4; /* isa nullable AMethid */ -cltype15 = type_nullable_parser_nodes__AMethid.color; -idtype16 = type_nullable_parser_nodes__AMethid.id; +cltype17 = type_nullable_parser_nodes__AMethid.color; +idtype18 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var14 = 1; +var16 = 1; } else { -if(cltype15 >= var_pmethidnode6->type->table_size) { -var14 = 0; +if(cltype17 >= var_pmethidnode6->type->table_size) { +var16 = 0; } else { -var14 = var_pmethidnode6->type->type_table[cltype15] == idtype16; +var16 = var_pmethidnode6->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", 15947); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16233); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist5; /* isa nullable ASignature */ -cltype18 = type_nullable_parser_nodes__ASignature.color; -idtype19 = type_nullable_parser_nodes__ASignature.id; +cltype20 = type_nullable_parser_nodes__ASignature.color; +idtype21 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var17 = 1; +var19 = 1; } else { -if(cltype18 >= var_psignaturenode7->type->table_size) { -var17 = 0; +if(cltype20 >= var_psignaturenode7->type->table_size) { +var19 = 0; } else { -var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19; +var19 = var_psignaturenode7->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", 15949); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16235); +show_backtrace(1); } -var_pannotationsnode8 = var_nodearraylist6; -/* isa nullable AAnnotations */ -cltype21 = type_nullable_parser_nodes__AAnnotations.color; -idtype22 = type_nullable_parser_nodes__AAnnotations.id; -if(var_pannotationsnode8 == NULL) { -var20 = 1; +var_tstringnode8 = var_nodearraylist8; +/* isa nullable TString */ +cltype23 = type_nullable_parser_nodes__TString.color; +idtype24 = type_nullable_parser_nodes__TString.id; +if(var_tstringnode8 == NULL) { +var22 = 1; } else { -if(cltype21 >= var_pannotationsnode8->type->table_size) { -var20 = 0; +if(cltype23 >= var_tstringnode8->type->table_size) { +var22 = 0; } else { -var20 = var_pannotationsnode8->type->type_table[cltype21] == idtype22; +var22 = var_tstringnode8->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", 15951); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16237); +show_backtrace(1); } -var23 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef); -var24 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8) /* init_adeferredmethpropdef on */; -CHECK_NEW_parser_nodes__ADeferredMethPropdef(var23); -var_ppropdefnode1 = var23; +var25 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); +var26 = NULL; +var27 = NULL; +var28 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var27, var28) /* init_aexternmethpropdef on */; +var_ppropdefnode1 = var25; var_node_list = var_ppropdefnode1; -var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, 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#ReduceAction355#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction355__action(val* self, val* p0) { -parser__ReduceAction355__action(self, p0); +/* method parser#ReduceAction363#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction363__action(val* self, val* p0) { +parser__ReduceAction363__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction356#action for (self: ReduceAction356, Parser) */ -void parser__ReduceAction356__action(val* self, val* p0) { +/* method parser#ReduceAction364#action for (self: ReduceAction364, Parser) */ +void parser__ReduceAction364__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_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var7 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var8 /* : Bool */; +short int var10 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; +short int var11 /* : Bool */; +int cltype12; +int idtype13; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var27 /* : ADeferredMethPropdef */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */; -long var28 /* : Int */; -long var29 /* : Int */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_tstringnode8 /* var tstringnode8: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : AExternMethPropdef */; +val* var30 /* : null */; +val* var31 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */; +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_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; +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; 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) { -var8 = 1; +var10 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var8 = 0; +var10 = 0; } else { -var8 = var_pdocnode2->type->type_table[cltype] == idtype; +var10 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var8) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15978); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16268); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype10 = type_nullable_parser_nodes__TKwredef.color; -idtype11 = type_nullable_parser_nodes__TKwredef.id; +cltype12 = type_nullable_parser_nodes__TKwredef.color; +idtype13 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var9 = 1; +var11 = 1; } else { -if(cltype10 >= var_tkwredefnode3->type->table_size) { -var9 = 0; +if(cltype12 >= var_tkwredefnode3->type->table_size) { +var11 = 0; } else { -var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11; +var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; } } -if (!var9) { +if (!var11) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15980); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16270); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* 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", 15982); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16272); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist4; /* isa nullable TKwmeth */ -cltype16 = type_nullable_parser_nodes__TKwmeth.color; -idtype17 = type_nullable_parser_nodes__TKwmeth.id; +cltype18 = type_nullable_parser_nodes__TKwmeth.color; +idtype19 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var15 = 1; +var17 = 1; } else { -if(cltype16 >= var_tkwmethnode5->type->table_size) { -var15 = 0; +if(cltype18 >= var_tkwmethnode5->type->table_size) { +var17 = 0; } else { -var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17; +var17 = var_tkwmethnode5->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", 15984); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16274); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist5; /* isa nullable AMethid */ -cltype19 = type_nullable_parser_nodes__AMethid.color; -idtype20 = type_nullable_parser_nodes__AMethid.id; +cltype21 = type_nullable_parser_nodes__AMethid.color; +idtype22 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var18 = 1; +var20 = 1; } else { -if(cltype19 >= var_pmethidnode6->type->table_size) { -var18 = 0; +if(cltype21 >= var_pmethidnode6->type->table_size) { +var20 = 0; } else { -var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20; +var20 = var_pmethidnode6->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", 15986); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16276); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist6; /* isa nullable ASignature */ -cltype22 = type_nullable_parser_nodes__ASignature.color; -idtype23 = type_nullable_parser_nodes__ASignature.id; +cltype24 = type_nullable_parser_nodes__ASignature.color; +idtype25 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var21 = 1; +var23 = 1; } else { -if(cltype22 >= var_psignaturenode7->type->table_size) { -var21 = 0; +if(cltype24 >= var_psignaturenode7->type->table_size) { +var23 = 0; } else { -var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23; +var23 = var_psignaturenode7->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", 15988); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16278); +show_backtrace(1); } -var_pannotationsnode8 = var_nodearraylist7; -/* isa nullable AAnnotations */ -cltype25 = type_nullable_parser_nodes__AAnnotations.color; -idtype26 = type_nullable_parser_nodes__AAnnotations.id; -if(var_pannotationsnode8 == NULL) { -var24 = 1; +var_tstringnode8 = var_nodearraylist9; +/* isa nullable TString */ +cltype27 = type_nullable_parser_nodes__TString.color; +idtype28 = type_nullable_parser_nodes__TString.id; +if(var_tstringnode8 == NULL) { +var26 = 1; } else { -if(cltype25 >= var_pannotationsnode8->type->table_size) { -var24 = 0; +if(cltype27 >= var_tstringnode8->type->table_size) { +var26 = 0; } else { -var24 = var_pannotationsnode8->type->type_table[cltype25] == idtype26; +var26 = var_tstringnode8->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", 15990); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16280); +show_backtrace(1); } -var27 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef); -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8) /* init_adeferredmethpropdef on */; -CHECK_NEW_parser_nodes__ADeferredMethPropdef(var27); -var_ppropdefnode1 = var27; +var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); +var30 = NULL; +var31 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var30, var31) /* init_aexternmethpropdef on */; +var_ppropdefnode1 = var29; var_node_list = var_ppropdefnode1; -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 */; +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#ReduceAction356#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction356__action(val* self, val* p0) { -parser__ReduceAction356__action(self, p0); +/* method parser#ReduceAction364#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction364__action(val* self, val* p0) { +parser__ReduceAction364__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction357#action for (self: ReduceAction357, Parser) */ -void parser__ReduceAction357__action(val* self, val* p0) { +/* method parser#ReduceAction365#action for (self: ReduceAction365, Parser) */ +void parser__ReduceAction365__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_pdocnode2 /* var pdocnode2: nullable Object */; -short int var8 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; +short int var10 /* : Bool */; +int cltype11; +int idtype12; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; +short int var13 /* : Bool */; +int cltype14; +int idtype15; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : ADeferredMethPropdef */; -val* var22 /* : null */; -val* var23 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */; -long var24 /* : Int */; -long var25 /* : Int */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var25 /* : AExternMethPropdef */; +val* var26 /* : null */; +val* var27 /* : null */; +val* var28 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */; +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_nodearraylist2 = var7; +var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var8; 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) { -var8 = 1; +var9 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var8 = 0; +var9 = 0; } else { -var8 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var8) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16017); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16310); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype10 = type_nullable_parser_nodes__AVisibility.color; -idtype11 = type_nullable_parser_nodes__AVisibility.id; +cltype11 = type_nullable_parser_nodes__AVisibility.color; +idtype12 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var9 = 1; +var10 = 1; } else { -if(cltype10 >= var_pvisibilitynode4->type->table_size) { -var9 = 0; +if(cltype11 >= var_pvisibilitynode4->type->table_size) { +var10 = 0; } else { -var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11; +var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12; } } -if (!var9) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16019); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16312); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist3; /* isa nullable TKwmeth */ -cltype13 = type_nullable_parser_nodes__TKwmeth.color; -idtype14 = type_nullable_parser_nodes__TKwmeth.id; +cltype14 = type_nullable_parser_nodes__TKwmeth.color; +idtype15 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var12 = 1; +var13 = 1; } else { -if(cltype13 >= var_tkwmethnode5->type->table_size) { -var12 = 0; +if(cltype14 >= var_tkwmethnode5->type->table_size) { +var13 = 0; } else { -var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14; +var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15; } } -if (!var12) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16021); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16314); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist4; /* isa nullable AMethid */ -cltype16 = type_nullable_parser_nodes__AMethid.color; -idtype17 = type_nullable_parser_nodes__AMethid.id; +cltype17 = type_nullable_parser_nodes__AMethid.color; +idtype18 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var15 = 1; +var16 = 1; } else { -if(cltype16 >= var_pmethidnode6->type->table_size) { -var15 = 0; +if(cltype17 >= var_pmethidnode6->type->table_size) { +var16 = 0; } else { -var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17; +var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18; } } -if (!var15) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16023); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16316); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist5; /* isa nullable ASignature */ -cltype19 = type_nullable_parser_nodes__ASignature.color; -idtype20 = type_nullable_parser_nodes__ASignature.id; +cltype20 = type_nullable_parser_nodes__ASignature.color; +idtype21 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var18 = 1; +var19 = 1; } else { -if(cltype19 >= var_psignaturenode7->type->table_size) { -var18 = 0; +if(cltype20 >= var_psignaturenode7->type->table_size) { +var19 = 0; } else { -var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20; +var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21; } } -if (!var18) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16025); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16318); +show_backtrace(1); } -var21 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef); -var22 = NULL; -var23 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var23) /* init_adeferredmethpropdef on */; -CHECK_NEW_parser_nodes__ADeferredMethPropdef(var21); -var_ppropdefnode1 = var21; +var_pexterncallsnode9 = var_nodearraylist8; +/* isa nullable AExternCalls */ +cltype23 = type_nullable_parser_nodes__AExternCalls.color; +idtype24 = type_nullable_parser_nodes__AExternCalls.id; +if(var_pexterncallsnode9 == NULL) { +var22 = 1; +} else { +if(cltype23 >= var_pexterncallsnode9->type->table_size) { +var22 = 0; +} else { +var22 = var_pexterncallsnode9->type->type_table[cltype23] == idtype24; +} +} +if (!var22) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16320); +show_backtrace(1); +} +var25 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); +var26 = NULL; +var27 = NULL; +var28 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexterncallsnode9, var28) /* init_aexternmethpropdef on */; +var_ppropdefnode1 = var25; var_node_list = var_ppropdefnode1; -var24 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var25 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var24) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var25, 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#ReduceAction357#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction357__action(val* self, val* p0) { -parser__ReduceAction357__action(self, p0); +/* method parser#ReduceAction365#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction365__action(val* self, val* p0) { +parser__ReduceAction365__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction358#action for (self: ReduceAction358, Parser) */ -void parser__ReduceAction358__action(val* self, val* p0) { +/* method parser#ReduceAction366#action for (self: ReduceAction366, Parser) */ +void parser__ReduceAction366__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* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +short int var10 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; +short int var11 /* : Bool */; +int cltype12; +int idtype13; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var25 /* : ADeferredMethPropdef */; -val* var26 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */; -long var27 /* : Int */; -long var28 /* : Int */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : AExternMethPropdef */; +val* var30 /* : null */; +val* var31 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */; +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; +var_nodearraylist2 = var8; +var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var9; 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) { -var9 = 1; +var10 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +var10 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var10 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var9) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16053); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16351); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype11 = type_nullable_parser_nodes__TKwredef.color; -idtype12 = type_nullable_parser_nodes__TKwredef.id; +cltype12 = type_nullable_parser_nodes__TKwredef.color; +idtype13 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var10 = 1; +var11 = 1; } else { -if(cltype11 >= var_tkwredefnode3->type->table_size) { -var10 = 0; +if(cltype12 >= var_tkwredefnode3->type->table_size) { +var11 = 0; } else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; } } -if (!var10) { +if (!var11) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16055); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16353); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype14 = type_nullable_parser_nodes__AVisibility.color; -idtype15 = type_nullable_parser_nodes__AVisibility.id; +cltype15 = type_nullable_parser_nodes__AVisibility.color; +idtype16 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var13 = 1; +var14 = 1; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; +if(cltype15 >= var_pvisibilitynode4->type->table_size) { +var14 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var14 = var_pvisibilitynode4->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", 16057); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16355); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist4; /* isa nullable TKwmeth */ -cltype17 = type_nullable_parser_nodes__TKwmeth.color; -idtype18 = type_nullable_parser_nodes__TKwmeth.id; +cltype18 = type_nullable_parser_nodes__TKwmeth.color; +idtype19 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var16 = 1; +var17 = 1; } else { -if(cltype17 >= var_tkwmethnode5->type->table_size) { -var16 = 0; +if(cltype18 >= var_tkwmethnode5->type->table_size) { +var17 = 0; } else { -var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18; +var17 = var_tkwmethnode5->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", 16059); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16357); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist5; /* isa nullable AMethid */ -cltype20 = type_nullable_parser_nodes__AMethid.color; -idtype21 = type_nullable_parser_nodes__AMethid.id; +cltype21 = type_nullable_parser_nodes__AMethid.color; +idtype22 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var19 = 1; +var20 = 1; } else { -if(cltype20 >= var_pmethidnode6->type->table_size) { -var19 = 0; +if(cltype21 >= var_pmethidnode6->type->table_size) { +var20 = 0; } else { -var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21; +var20 = var_pmethidnode6->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", 16061); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16359); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist6; /* isa nullable ASignature */ -cltype23 = type_nullable_parser_nodes__ASignature.color; -idtype24 = type_nullable_parser_nodes__ASignature.id; +cltype24 = type_nullable_parser_nodes__ASignature.color; +idtype25 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var22 = 1; +var23 = 1; } else { -if(cltype23 >= var_psignaturenode7->type->table_size) { -var22 = 0; +if(cltype24 >= var_psignaturenode7->type->table_size) { +var23 = 0; } else { -var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24; +var23 = var_psignaturenode7->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", 16063); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16361); +show_backtrace(1); } -var25 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef); -var26 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var26) /* init_adeferredmethpropdef on */; -CHECK_NEW_parser_nodes__ADeferredMethPropdef(var25); -var_ppropdefnode1 = var25; +var_pexterncallsnode9 = var_nodearraylist9; +/* isa nullable AExternCalls */ +cltype27 = type_nullable_parser_nodes__AExternCalls.color; +idtype28 = type_nullable_parser_nodes__AExternCalls.id; +if(var_pexterncallsnode9 == NULL) { +var26 = 1; +} else { +if(cltype27 >= var_pexterncallsnode9->type->table_size) { +var26 = 0; +} else { +var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28; +} +} +if (!var26) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16363); +show_backtrace(1); +} +var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); +var30 = NULL; +var31 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexterncallsnode9, var31) /* init_aexternmethpropdef on */; +var_ppropdefnode1 = var29; var_node_list = var_ppropdefnode1; -var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, 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#ReduceAction358#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction358__action(val* self, val* p0) { -parser__ReduceAction358__action(self, p0); +/* method parser#ReduceAction366#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction366__action(val* self, val* p0) { +parser__ReduceAction366__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction359#action for (self: ReduceAction359, Parser) */ -void parser__ReduceAction359__action(val* self, val* p0) { +/* method parser#ReduceAction367#action for (self: ReduceAction367, Parser) */ +void parser__ReduceAction367__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_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var7 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var8 /* : Bool */; +short int var10 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; +short int var11 /* : Bool */; +int cltype12; +int idtype13; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : AInternMethPropdef */; -val* var22 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AInternMethPropdef */; -long var23 /* : Int */; -long var24 /* : Int */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_tstringnode8 /* var tstringnode8: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : AExternMethPropdef */; +val* var30 /* : null */; +val* var31 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */; +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_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; +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; 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) { -var8 = 1; +var10 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var8 = 0; +var10 = 0; } else { -var8 = var_pdocnode2->type->type_table[cltype] == idtype; +var10 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var8) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16090); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16394); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype10 = type_nullable_parser_nodes__AVisibility.color; -idtype11 = type_nullable_parser_nodes__AVisibility.id; +cltype12 = type_nullable_parser_nodes__AVisibility.color; +idtype13 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var9 = 1; +var11 = 1; } else { -if(cltype10 >= var_pvisibilitynode4->type->table_size) { -var9 = 0; +if(cltype12 >= var_pvisibilitynode4->type->table_size) { +var11 = 0; } else { -var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11; +var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13; } } -if (!var9) { +if (!var11) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16092); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16396); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist3; /* isa nullable TKwmeth */ -cltype13 = type_nullable_parser_nodes__TKwmeth.color; -idtype14 = type_nullable_parser_nodes__TKwmeth.id; +cltype15 = type_nullable_parser_nodes__TKwmeth.color; +idtype16 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var12 = 1; +var14 = 1; } else { -if(cltype13 >= var_tkwmethnode5->type->table_size) { -var12 = 0; +if(cltype15 >= var_tkwmethnode5->type->table_size) { +var14 = 0; } else { -var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14; +var14 = var_tkwmethnode5->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", 16094); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16398); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist4; /* isa nullable AMethid */ -cltype16 = type_nullable_parser_nodes__AMethid.color; -idtype17 = type_nullable_parser_nodes__AMethid.id; +cltype18 = type_nullable_parser_nodes__AMethid.color; +idtype19 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var15 = 1; +var17 = 1; } else { -if(cltype16 >= var_pmethidnode6->type->table_size) { -var15 = 0; +if(cltype18 >= var_pmethidnode6->type->table_size) { +var17 = 0; } else { -var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17; +var17 = var_pmethidnode6->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", 16096); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16400); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist5; /* isa nullable ASignature */ -cltype19 = type_nullable_parser_nodes__ASignature.color; -idtype20 = type_nullable_parser_nodes__ASignature.id; +cltype21 = type_nullable_parser_nodes__ASignature.color; +idtype22 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var18 = 1; +var20 = 1; } else { -if(cltype19 >= var_psignaturenode7->type->table_size) { -var18 = 0; +if(cltype21 >= var_psignaturenode7->type->table_size) { +var20 = 0; } else { -var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20; +var20 = var_psignaturenode7->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", 16098); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16402); +show_backtrace(1); } -var21 = NEW_parser_nodes__AInternMethPropdef(&type_parser_nodes__AInternMethPropdef); -var22 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AInternMethPropdef__init_ainternmethpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7) /* init_ainternmethpropdef on */; -CHECK_NEW_parser_nodes__AInternMethPropdef(var21); -var_ppropdefnode1 = var21; +var_tstringnode8 = var_nodearraylist8; +/* isa nullable TString */ +cltype24 = type_nullable_parser_nodes__TString.color; +idtype25 = type_nullable_parser_nodes__TString.id; +if(var_tstringnode8 == NULL) { +var23 = 1; +} else { +if(cltype24 >= var_tstringnode8->type->table_size) { +var23 = 0; +} else { +var23 = var_tstringnode8->type->type_table[cltype24] == idtype25; +} +} +if (!var23) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16404); +show_backtrace(1); +} +var_pexterncallsnode9 = var_nodearraylist9; +/* isa nullable AExternCalls */ +cltype27 = type_nullable_parser_nodes__AExternCalls.color; +idtype28 = type_nullable_parser_nodes__AExternCalls.id; +if(var_pexterncallsnode9 == NULL) { +var26 = 1; +} else { +if(cltype27 >= var_pexterncallsnode9->type->table_size) { +var26 = 0; +} else { +var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28; +} +} +if (!var26) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16406); +show_backtrace(1); +} +var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); +var30 = NULL; +var31 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var31) /* init_aexternmethpropdef on */; +var_ppropdefnode1 = var29; var_node_list = var_ppropdefnode1; -var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, 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#ReduceAction359#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction359__action(val* self, val* p0) { -parser__ReduceAction359__action(self, p0); +/* method parser#ReduceAction367#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction367__action(val* self, val* p0) { +parser__ReduceAction367__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction360#action for (self: ReduceAction360, Parser) */ -void parser__ReduceAction360__action(val* self, val* p0) { +/* method parser#ReduceAction368#action for (self: ReduceAction368, Parser) */ +void parser__ReduceAction368__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* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +short int var11 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; +short int var12 /* : Bool */; +int cltype13; +int idtype14; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var21 /* : Bool */; +int cltype22; +int idtype23; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var25 /* : AInternMethPropdef */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AInternMethPropdef */; -long var26 /* : Int */; -long var27 /* : Int */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var_tstringnode8 /* var tstringnode8: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +val* var33 /* : AExternMethPropdef */; +val* var34 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */; +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; +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_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var9 = 1; +var11 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +var11 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var11 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var9) { +if (!var11) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16125); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16438); +show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype11 = type_nullable_parser_nodes__TKwredef.color; -idtype12 = type_nullable_parser_nodes__TKwredef.id; +cltype13 = type_nullable_parser_nodes__TKwredef.color; +idtype14 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var10 = 1; +var12 = 1; } else { -if(cltype11 >= var_tkwredefnode3->type->table_size) { -var10 = 0; +if(cltype13 >= var_tkwredefnode3->type->table_size) { +var12 = 0; } else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14; } } -if (!var10) { +if (!var12) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16127); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16440); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype14 = type_nullable_parser_nodes__AVisibility.color; -idtype15 = type_nullable_parser_nodes__AVisibility.id; +cltype16 = type_nullable_parser_nodes__AVisibility.color; +idtype17 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var13 = 1; +var15 = 1; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; +if(cltype16 >= var_pvisibilitynode4->type->table_size) { +var15 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; } } -if (!var13) { +if (!var15) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16129); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16442); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist4; /* isa nullable TKwmeth */ -cltype17 = type_nullable_parser_nodes__TKwmeth.color; -idtype18 = type_nullable_parser_nodes__TKwmeth.id; +cltype19 = type_nullable_parser_nodes__TKwmeth.color; +idtype20 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var16 = 1; +var18 = 1; } else { -if(cltype17 >= var_tkwmethnode5->type->table_size) { -var16 = 0; +if(cltype19 >= var_tkwmethnode5->type->table_size) { +var18 = 0; } else { -var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18; +var18 = var_tkwmethnode5->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", 16131); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16444); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist5; /* isa nullable AMethid */ -cltype20 = type_nullable_parser_nodes__AMethid.color; -idtype21 = type_nullable_parser_nodes__AMethid.id; +cltype22 = type_nullable_parser_nodes__AMethid.color; +idtype23 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var19 = 1; +var21 = 1; } else { -if(cltype20 >= var_pmethidnode6->type->table_size) { -var19 = 0; +if(cltype22 >= var_pmethidnode6->type->table_size) { +var21 = 0; } else { -var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21; +var21 = var_pmethidnode6->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", 16133); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16446); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist6; /* isa nullable ASignature */ -cltype23 = type_nullable_parser_nodes__ASignature.color; -idtype24 = type_nullable_parser_nodes__ASignature.id; +cltype25 = type_nullable_parser_nodes__ASignature.color; +idtype26 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var22 = 1; +var24 = 1; } else { -if(cltype23 >= var_psignaturenode7->type->table_size) { -var22 = 0; +if(cltype25 >= var_psignaturenode7->type->table_size) { +var24 = 0; } else { -var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24; +var24 = var_psignaturenode7->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", 16135); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16448); +show_backtrace(1); } -var25 = NEW_parser_nodes__AInternMethPropdef(&type_parser_nodes__AInternMethPropdef); -((void (*)(val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AInternMethPropdef__init_ainternmethpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7) /* init_ainternmethpropdef on */; -CHECK_NEW_parser_nodes__AInternMethPropdef(var25); -var_ppropdefnode1 = var25; +var_tstringnode8 = var_nodearraylist9; +/* isa nullable TString */ +cltype28 = type_nullable_parser_nodes__TString.color; +idtype29 = type_nullable_parser_nodes__TString.id; +if(var_tstringnode8 == NULL) { +var27 = 1; +} else { +if(cltype28 >= var_tstringnode8->type->table_size) { +var27 = 0; +} else { +var27 = var_tstringnode8->type->type_table[cltype28] == idtype29; +} +} +if (!var27) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16450); +show_backtrace(1); +} +var_pexterncallsnode9 = var_nodearraylist10; +/* isa nullable AExternCalls */ +cltype31 = type_nullable_parser_nodes__AExternCalls.color; +idtype32 = type_nullable_parser_nodes__AExternCalls.id; +if(var_pexterncallsnode9 == NULL) { +var30 = 1; +} else { +if(cltype31 >= var_pexterncallsnode9->type->table_size) { +var30 = 0; +} else { +var30 = var_pexterncallsnode9->type->type_table[cltype31] == idtype32; +} +} +if (!var30) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16452); +show_backtrace(1); +} +var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); +var34 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var34) /* init_aexternmethpropdef on */; +var_ppropdefnode1 = var33; var_node_list = var_ppropdefnode1; -var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, 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#ReduceAction360#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction360__action(val* self, val* p0) { -parser__ReduceAction360__action(self, p0); +/* method parser#ReduceAction368#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction368__action(val* self, val* p0) { +parser__ReduceAction368__action(self, p0); RET_LABEL:; } -/* method parser#ReduceAction361#action for (self: ReduceAction361, Parser) */ -void parser__ReduceAction361__action(val* self, val* p0) { +/* method parser#ReduceAction369#action for (self: ReduceAction369, Parser) */ +void parser__ReduceAction369__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_pdocnode2 /* var pdocnode2: nullable Object */; -short int var8 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; +short int var10 /* : Bool */; +int cltype11; +int idtype12; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; +short int var13 /* : Bool */; +int cltype14; +int idtype15; val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : AExternMethPropdef */; -val* var22 /* : null */; -val* var23 /* : null */; -val* var24 /* : null */; -val* var25 /* : null */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var25 /* : AExternMethPropdef */; +val* var26 /* : null */; +val* var27 /* : null */; +val* var28 /* : null */; val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */; -long var26 /* : Int */; -long var27 /* : Int */; +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_nodearraylist2 = var7; +var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on */; +var_nodearraylist1 = var8; 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) { -var8 = 1; +var9 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var8 = 0; +var9 = 0; } else { -var8 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (!var8) { +if (!var9) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16161); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16482); +show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist2; /* isa nullable AVisibility */ -cltype10 = type_nullable_parser_nodes__AVisibility.color; -idtype11 = type_nullable_parser_nodes__AVisibility.id; +cltype11 = type_nullable_parser_nodes__AVisibility.color; +idtype12 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var9 = 1; +var10 = 1; } else { -if(cltype10 >= var_pvisibilitynode4->type->table_size) { -var9 = 0; +if(cltype11 >= var_pvisibilitynode4->type->table_size) { +var10 = 0; } else { -var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11; +var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12; } } -if (!var9) { +if (!var10) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16163); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16484); +show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist3; /* isa nullable TKwmeth */ -cltype13 = type_nullable_parser_nodes__TKwmeth.color; -idtype14 = type_nullable_parser_nodes__TKwmeth.id; +cltype14 = type_nullable_parser_nodes__TKwmeth.color; +idtype15 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var12 = 1; +var13 = 1; } else { -if(cltype13 >= var_tkwmethnode5->type->table_size) { -var12 = 0; +if(cltype14 >= var_tkwmethnode5->type->table_size) { +var13 = 0; } else { -var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14; +var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15; } } -if (!var12) { +if (!var13) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16165); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16486); +show_backtrace(1); } var_pmethidnode6 = var_nodearraylist4; /* isa nullable AMethid */ -cltype16 = type_nullable_parser_nodes__AMethid.color; -idtype17 = type_nullable_parser_nodes__AMethid.id; +cltype17 = type_nullable_parser_nodes__AMethid.color; +idtype18 = type_nullable_parser_nodes__AMethid.id; if(var_pmethidnode6 == NULL) { -var15 = 1; +var16 = 1; } else { -if(cltype16 >= var_pmethidnode6->type->table_size) { -var15 = 0; +if(cltype17 >= var_pmethidnode6->type->table_size) { +var16 = 0; } else { -var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17; +var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18; } } -if (!var15) { +if (!var16) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16167); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16488); +show_backtrace(1); } var_psignaturenode7 = var_nodearraylist5; /* isa nullable ASignature */ -cltype19 = type_nullable_parser_nodes__ASignature.color; -idtype20 = type_nullable_parser_nodes__ASignature.id; +cltype20 = type_nullable_parser_nodes__ASignature.color; +idtype21 = type_nullable_parser_nodes__ASignature.id; if(var_psignaturenode7 == NULL) { -var18 = 1; +var19 = 1; } else { -if(cltype19 >= var_psignaturenode7->type->table_size) { -var18 = 0; +if(cltype20 >= var_psignaturenode7->type->table_size) { +var19 = 0; } else { -var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20; +var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21; } } -if (!var18) { +if (!var19) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16169); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16490); +show_backtrace(1); } -var21 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); -var22 = NULL; -var23 = NULL; -var24 = NULL; -var25 = NULL; -((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var23, var24, var25) /* init_aexternmethpropdef on */; -CHECK_NEW_parser_nodes__AExternMethPropdef(var21); -var_ppropdefnode1 = var21; +var_pexterncodeblocknode10 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode10 == NULL) { +var22 = 1; +} else { +if(cltype23 >= var_pexterncodeblocknode10->type->table_size) { +var22 = 0; +} else { +var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24; +} +} +if (!var22) { +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16492); +show_backtrace(1); +} +var25 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); +var26 = NULL; +var27 = NULL; +var28 = NULL; +((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var28, var_pexterncodeblocknode10) /* init_aexternmethpropdef on */; +var_ppropdefnode1 = var25; var_node_list = var_ppropdefnode1; -var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on */ -var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on */; -((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, 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#ReduceAction361#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction361__action(val* self, val* p0) { -parser__ReduceAction361__action(self, p0); +/* method parser#ReduceAction369#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction369__action(val* self, val* p0) { +parser__ReduceAction369__action(self, p0); RET_LABEL:; }