X-Git-Url: http://nitlanguage.org diff --git a/c_src/parser.sep.2.c b/c_src/parser.sep.2.c index cfe6373..35cfa5e 100644 --- a/c_src/parser.sep.2.c +++ b/c_src/parser.sep.2.c @@ -1,3764 +1,3478 @@ #include "parser.sep.0.h" -/* method parser#ReduceAction18#action for (self: ReduceAction18, Parser) */ -void parser__ReduceAction18__action(val* self, val* p0) { +/* method parser#ReduceAction11#action for (self: ReduceAction11, Parser) */ +void parser__ReduceAction11__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* var2 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var6 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var7 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */; +val* var5 /* : Array[Object] */; +val* var_listnode4 /* var listnode4: Array[Object] */; +val* var6 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var7 /* : Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */; short int var8 /* : Bool */; int cltype; int idtype; -val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */; +val* var_listnode3 /* var listnode3: nullable Object */; short int var9 /* : Bool */; int cltype10; int idtype11; -val* var_tkwendnode4 /* var tkwendnode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var15 /* : ANoImport */; -val* var_pimportnode1 /* var pimportnode1: nullable ANoImport */; -long var16 /* : Int */; -long var17 /* : Int */; +val* var12 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var19 /* : Array[Object] */; +val* var20 /* : null */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var24 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +val* var27 /* : AModule */; +val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; +long var28 /* : Int */; +long var29 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var1; +var_nodearraylist4 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var2; +var_nodearraylist3 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var3; +var_nodearraylist2 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var4; +var_nodearraylist1 = var4; +var5 = NEW_array__Array(&type_array__Arraykernel__Object); { -var5 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var5->class->vft[COLOR_kernel__Object__init]))(var5) /* init on */; } -var_nodearraylist3 = var5; +var_listnode4 = var5; +var6 = NEW_array__Array(&type_array__Arraykernel__Object); { -var6 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var6->class->vft[COLOR_kernel__Object__init]))(var6) /* init on */; } -var_nodearraylist2 = var6; +var_listnode5 = var6; +var7 = NEW_array__Array(&type_array__Arraykernel__Object); { -var7 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var7->class->vft[COLOR_kernel__Object__init]))(var7) /* init on */; } -var_nodearraylist1 = var7; -var_pvisibilitynode2 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype = type_nullable_parser_nodes__AVisibility.color; -idtype = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode2 == NULL) { +var_listnode8 = var7; +var_pmoduledeclnode2 = var_nodearraylist1; +/* isa nullable AModuledecl */ +cltype = type_nullable_parser_nodes__AModuledecl.color; +idtype = type_nullable_parser_nodes__AModuledecl.id; +if(var_pmoduledeclnode2 == NULL) { var8 = 1; } else { -if(cltype >= var_pvisibilitynode2->type->table_size) { +if(cltype >= var_pmoduledeclnode2->type->table_size) { var8 = 0; } else { -var8 = var_pvisibilitynode2->type->type_table[cltype] == idtype; +var8 = var_pmoduledeclnode2->type->type_table[cltype] == idtype; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1432); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1365); show_backtrace(1); } -var_tkwimportnode3 = var_nodearraylist4; -/* isa nullable TKwimport */ -cltype10 = type_nullable_parser_nodes__TKwimport.color; -idtype11 = type_nullable_parser_nodes__TKwimport.id; -if(var_tkwimportnode3 == NULL) { -var9 = 1; +var_listnode3 = var_nodearraylist2; +/* isa Array[Object] */ +cltype10 = type_array__Arraykernel__Object.color; +idtype11 = type_array__Arraykernel__Object.id; +if(var_listnode3 == NULL) { +var9 = 0; } else { -if(cltype10 >= var_tkwimportnode3->type->table_size) { +if(cltype10 >= var_listnode3->type->table_size) { var9 = 0; } else { -var9 = var_tkwimportnode3->type->type_table[cltype10] == idtype11; +var9 = var_listnode3->type->type_table[cltype10] == idtype11; } } if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1434); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1367); show_backtrace(1); } -var_tkwendnode4 = var_nodearraylist6; -/* isa nullable TKwend */ -cltype13 = type_nullable_parser_nodes__TKwend.color; -idtype14 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode4 == NULL) { -var12 = 1; +{ +var12 = parser_work__ReduceAction__concat(self, var_listnode4, var_listnode3); +} +var_listnode4 = var12; +var_listnode6 = var_nodearraylist3; +/* isa Array[Object] */ +cltype14 = type_array__Arraykernel__Object.color; +idtype15 = type_array__Arraykernel__Object.id; +if(var_listnode6 == NULL) { +var13 = 0; } else { -if(cltype13 >= var_tkwendnode4->type->table_size) { -var12 = 0; +if(cltype14 >= var_listnode6->type->table_size) { +var13 = 0; } else { -var12 = var_tkwendnode4->type->type_table[cltype13] == idtype14; +var13 = var_listnode6->type->type_table[cltype14] == idtype15; } } -if (unlikely(!var12)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1436); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1370); show_backtrace(1); } -var15 = NEW_parser_nodes__ANoImport(&type_parser_nodes__ANoImport); -{ -parser_prod__ANoImport__init_anoimport(var15, var_pvisibilitynode2, var_tkwimportnode3, var_tkwendnode4); /* Direct call parser_prod#ANoImport#init_anoimport on */ +var_pclassdefnode7 = var_nodearraylist4; +/* isa nullable AClassdef */ +cltype17 = type_nullable_parser_nodes__AClassdef.color; +idtype18 = type_nullable_parser_nodes__AClassdef.id; +if(var_pclassdefnode7 == NULL) { +var16 = 1; +} else { +if(cltype17 >= var_pclassdefnode7->type->table_size) { +var16 = 0; +} else { +var16 = var_pclassdefnode7->type->type_table[cltype17] == idtype18; +} +} +if (unlikely(!var16)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1372); +show_backtrace(1); } -var_pimportnode1 = var15; -var_node_list = var_pimportnode1; -var16 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var17 = parser_work__Parser__go_to(var_p, var16); +var19 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode6); +} +var_listnode8 = var19; +var20 = NULL; +if (var_pclassdefnode7 == NULL) { +var21 = 0; /* is null */ +} else { +var21 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_pclassdefnode7,var20) on */ +var_other = var20; { -parser_work__Parser__push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on */ +var25 = ((short int (*)(val*, val*))(var_pclassdefnode7->class->vft[COLOR_kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on */; +var24 = var25; } -RET_LABEL:; +var26 = !var24; +var22 = var26; +goto RET_LABEL23; +RET_LABEL23:(void)0; } -/* method parser#ReduceAction18#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction18__action(val* self, val* p0) { -parser__ReduceAction18__action(self, p0); /* Direct call parser#ReduceAction18#action on */ -RET_LABEL:; +var21 = var22; } -/* method parser#ReduceAction19#action for (self: ReduceAction19, Parser) */ -void parser__ReduceAction19__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_pclassdefnode1 /* var pclassdefnode1: nullable Object */; -long var2 /* : Int */; -long var3 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +if (var21){ { -var1 = parser_work__Parser__pop(var_p); +array__Array__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on */ } -var_nodearraylist1 = var1; -var_pclassdefnode1 = var_nodearraylist1; -var_node_list = var_pclassdefnode1; -var2 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +} else { +} +var27 = NEW_parser_nodes__AModule(&type_parser_nodes__AModule); { -var3 = parser_work__Parser__go_to(var_p, var2); +parser_prod__AModule__init_amodule(var27, var_pmoduledeclnode2, var_listnode4, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ } +var_pmodulenode1 = var27; +var_node_list = var_pmodulenode1; +var28 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -parser_work__Parser__push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ +var29 = parser_work__Parser__go_to(var_p, var28); +} +{ +parser_work__Parser__push(var_p, var29, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction19#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction19__action(val* self, val* p0) { -parser__ReduceAction19__action(self, p0); /* Direct call parser#ReduceAction19#action on */ +/* method parser#ReduceAction11#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction11__action(val* self, val* p0) { +parser__ReduceAction11__action(self, p0); /* Direct call parser#ReduceAction11#action on */ RET_LABEL:; } -/* method parser#ReduceAction20#action for (self: ReduceAction20, Parser) */ -void parser__ReduceAction20__action(val* self, val* p0) { +/* method parser#ReduceAction12#action for (self: ReduceAction12, Parser) */ +void parser__ReduceAction12__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* var2 /* : Array[Object] */; +val* var4 /* : Array[Object] */; val* var_listnode3 /* var listnode3: Array[Object] */; -val* var_ppropdefnode2 /* var ppropdefnode2: nullable Object */; -short int var3 /* : Bool */; +val* var5 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var6 /* : Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_listnode4 /* var listnode4: nullable Object */; +short int var7 /* : Bool */; int cltype; int idtype; -val* var4 /* : null */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var8 /* : Bool */; +val* var8 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: nullable Object */; short int var9 /* : Bool */; -short int var10 /* : Bool */; -val* var11 /* : ATopClassdef */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable ATopClassdef */; -long var12 /* : Int */; -long var13 /* : Int */; +int cltype10; +int idtype11; +val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var15 /* : Array[Object] */; +val* var16 /* : null */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; +val* var23 /* : AModule */; +val* var24 /* : null */; +val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; +long var25 /* : Int */; +long var26 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist1 = var1; -var2 = NEW_array__Array(&type_array__Arraykernel__Object); +var_nodearraylist3 = var1; { -array__Array__init(var2); /* Direct call array#Array#init on */ +var2 = parser_work__Parser__pop(var_p); } -var_listnode3 = var2; -var_ppropdefnode2 = var_nodearraylist1; -/* isa nullable APropdef */ -cltype = type_nullable_parser_nodes__APropdef.color; -idtype = type_nullable_parser_nodes__APropdef.id; -if(var_ppropdefnode2 == NULL) { -var3 = 1; +var_nodearraylist2 = var2; +{ +var3 = parser_work__Parser__pop(var_p); +} +var_nodearraylist1 = var3; +var4 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var4->class->vft[COLOR_kernel__Object__init]))(var4) /* init on */; +} +var_listnode3 = var4; +var5 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var5->class->vft[COLOR_kernel__Object__init]))(var5) /* init on */; +} +var_listnode5 = var5; +var6 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var6->class->vft[COLOR_kernel__Object__init]))(var6) /* init on */; +} +var_listnode8 = var6; +var_listnode4 = var_nodearraylist1; +/* isa Array[Object] */ +cltype = type_array__Arraykernel__Object.color; +idtype = type_array__Arraykernel__Object.id; +if(var_listnode4 == NULL) { +var7 = 0; } else { -if(cltype >= var_ppropdefnode2->type->table_size) { -var3 = 0; +if(cltype >= var_listnode4->type->table_size) { +var7 = 0; } else { -var3 = var_ppropdefnode2->type->type_table[cltype] == idtype; +var7 = var_listnode4->type->type_table[cltype] == idtype; } } -if (unlikely(!var3)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1465); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1399); show_backtrace(1); } -var4 = NULL; -if (var_ppropdefnode2 == NULL) { -var5 = 0; /* is null */ +{ +var8 = parser_work__ReduceAction__concat(self, var_listnode5, var_listnode4); +} +var_listnode5 = var8; +var_listnode6 = var_nodearraylist2; +/* isa Array[Object] */ +cltype10 = type_array__Arraykernel__Object.color; +idtype11 = type_array__Arraykernel__Object.id; +if(var_listnode6 == NULL) { +var9 = 0; } else { -var5 = 1; /* arg is null and recv is not */ +if(cltype10 >= var_listnode6->type->table_size) { +var9 = 0; +} else { +var9 = var_listnode6->type->type_table[cltype10] == idtype11; +} +} +if (unlikely(!var9)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1402); +show_backtrace(1); +} +var_pclassdefnode7 = var_nodearraylist3; +/* isa nullable AClassdef */ +cltype13 = type_nullable_parser_nodes__AClassdef.color; +idtype14 = type_nullable_parser_nodes__AClassdef.id; +if(var_pclassdefnode7 == NULL) { +var12 = 1; +} else { +if(cltype13 >= var_pclassdefnode7->type->table_size) { +var12 = 0; +} else { +var12 = var_pclassdefnode7->type->type_table[cltype13] == idtype14; +} +} +if (unlikely(!var12)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1404); +show_backtrace(1); +} +{ +var15 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode6); +} +var_listnode8 = var15; +var16 = NULL; +if (var_pclassdefnode7 == NULL) { +var17 = 0; /* is null */ +} else { +var17 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ppropdefnode2,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#!= (var_pclassdefnode7,var16) on */ +var_other = var16; { -var9 = ((short int (*)(val*, val*))(var_ppropdefnode2->class->vft[COLOR_kernel__Object___61d_61d]))(var_ppropdefnode2, var_other) /* == on */; -var8 = var9; +var21 = ((short int (*)(val*, val*))(var_pclassdefnode7->class->vft[COLOR_kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on */; +var20 = var21; } -var10 = !var8; -var6 = var10; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var22 = !var20; +var18 = var22; +goto RET_LABEL19; +RET_LABEL19:(void)0; } -var5 = var6; +var17 = var18; } -if (var5){ +if (var17){ { -array__Array__add(var_listnode3, var_ppropdefnode2); /* Direct call array#Array#add on */ +array__Array__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on */ } } else { } -var11 = NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef); +var23 = NEW_parser_nodes__AModule(&type_parser_nodes__AModule); +var24 = NULL; { -parser_prod__ATopClassdef__init_atopclassdef(var11, var_listnode3); /* Direct call parser_prod#ATopClassdef#init_atopclassdef on */ +parser_prod__AModule__init_amodule(var23, var24, var_listnode3, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pclassdefnode1 = var11; -var_node_list = var_pclassdefnode1; -var12 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_pmodulenode1 = var23; +var_node_list = var_pmodulenode1; +var25 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var13 = parser_work__Parser__go_to(var_p, var12); +var26 = parser_work__Parser__go_to(var_p, var25); } { -parser_work__Parser__push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var26, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction20#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction20__action(val* self, val* p0) { -parser__ReduceAction20__action(self, p0); /* Direct call parser#ReduceAction20#action on */ +/* method parser#ReduceAction12#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction12__action(val* self, val* p0) { +parser__ReduceAction12__action(self, p0); /* Direct call parser#ReduceAction12#action on */ RET_LABEL:; } -/* method parser#ReduceAction21#action for (self: ReduceAction21, Parser) */ -void parser__ReduceAction21__action(val* self, val* p0) { +/* method parser#ReduceAction13#action for (self: ReduceAction13, Parser) */ +void parser__ReduceAction13__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* var2 /* : Array[Object] */; +val* var5 /* : Array[Object] */; val* var_listnode3 /* var listnode3: Array[Object] */; -val* var_ppropdefnode2 /* var ppropdefnode2: nullable Object */; -short int var3 /* : Bool */; +val* var6 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: Array[Object] */; +val* var7 /* : Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; +val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */; +short int var8 /* : Bool */; int cltype; int idtype; -val* var4 /* : null */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var8 /* : Bool */; +val* var_listnode4 /* var listnode4: nullable Object */; short int var9 /* : Bool */; -short int var10 /* : Bool */; -val* var11 /* : AMainClassdef */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AMainClassdef */; -long var12 /* : Int */; -long var13 /* : Int */; +int cltype10; +int idtype11; +val* var12 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_pclassdefnode7 /* var pclassdefnode7: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var19 /* : Array[Object] */; +val* var20 /* : null */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var24 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +val* var27 /* : AModule */; +val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; +long var28 /* : Int */; +long var29 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist1 = var1; -var2 = NEW_array__Array(&type_array__Arraykernel__Object); +var_nodearraylist4 = var1; { -array__Array__init(var2); /* Direct call array#Array#init on */ +var2 = parser_work__Parser__pop(var_p); } -var_listnode3 = var2; -var_ppropdefnode2 = var_nodearraylist1; -/* isa nullable APropdef */ -cltype = type_nullable_parser_nodes__APropdef.color; -idtype = type_nullable_parser_nodes__APropdef.id; -if(var_ppropdefnode2 == NULL) { -var3 = 1; +var_nodearraylist3 = var2; +{ +var3 = parser_work__Parser__pop(var_p); +} +var_nodearraylist2 = var3; +{ +var4 = parser_work__Parser__pop(var_p); +} +var_nodearraylist1 = var4; +var5 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var5->class->vft[COLOR_kernel__Object__init]))(var5) /* init on */; +} +var_listnode3 = var5; +var6 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var6->class->vft[COLOR_kernel__Object__init]))(var6) /* init on */; +} +var_listnode5 = var6; +var7 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var7->class->vft[COLOR_kernel__Object__init]))(var7) /* init on */; +} +var_listnode8 = var7; +var_pmoduledeclnode2 = var_nodearraylist1; +/* isa nullable AModuledecl */ +cltype = type_nullable_parser_nodes__AModuledecl.color; +idtype = type_nullable_parser_nodes__AModuledecl.id; +if(var_pmoduledeclnode2 == NULL) { +var8 = 1; } else { -if(cltype >= var_ppropdefnode2->type->table_size) { -var3 = 0; +if(cltype >= var_pmoduledeclnode2->type->table_size) { +var8 = 0; } else { -var3 = var_ppropdefnode2->type->type_table[cltype] == idtype; +var8 = var_pmoduledeclnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var3)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1484); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1432); show_backtrace(1); } -var4 = NULL; -if (var_ppropdefnode2 == NULL) { -var5 = 0; /* is null */ +var_listnode4 = var_nodearraylist2; +/* isa Array[Object] */ +cltype10 = type_array__Arraykernel__Object.color; +idtype11 = type_array__Arraykernel__Object.id; +if(var_listnode4 == NULL) { +var9 = 0; } else { -var5 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_ppropdefnode2,var4) on */ -var_other = var4; -{ -var9 = ((short int (*)(val*, val*))(var_ppropdefnode2->class->vft[COLOR_kernel__Object___61d_61d]))(var_ppropdefnode2, var_other) /* == on */; -var8 = var9; +if(cltype10 >= var_listnode4->type->table_size) { +var9 = 0; +} else { +var9 = var_listnode4->type->type_table[cltype10] == idtype11; } -var10 = !var8; -var6 = var10; -goto RET_LABEL7; -RET_LABEL7:(void)0; } -var5 = var6; +if (unlikely(!var9)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1434); +show_backtrace(1); } -if (var5){ { -array__Array__add(var_listnode3, var_ppropdefnode2); /* Direct call array#Array#add on */ +var12 = parser_work__ReduceAction__concat(self, var_listnode5, var_listnode4); } +var_listnode5 = var12; +var_listnode6 = var_nodearraylist3; +/* isa Array[Object] */ +cltype14 = type_array__Arraykernel__Object.color; +idtype15 = type_array__Arraykernel__Object.id; +if(var_listnode6 == NULL) { +var13 = 0; +} else { +if(cltype14 >= var_listnode6->type->table_size) { +var13 = 0; } else { +var13 = var_listnode6->type->type_table[cltype14] == idtype15; } -var11 = NEW_parser_nodes__AMainClassdef(&type_parser_nodes__AMainClassdef); -{ -parser_prod__AMainClassdef__init_amainclassdef(var11, var_listnode3); /* Direct call parser_prod#AMainClassdef#init_amainclassdef on */ } -var_pclassdefnode1 = var11; -var_node_list = var_pclassdefnode1; -var12 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var13 = parser_work__Parser__go_to(var_p, var12); +if (unlikely(!var13)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1437); +show_backtrace(1); } -{ -parser_work__Parser__push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ +var_pclassdefnode7 = var_nodearraylist4; +/* isa nullable AClassdef */ +cltype17 = type_nullable_parser_nodes__AClassdef.color; +idtype18 = type_nullable_parser_nodes__AClassdef.id; +if(var_pclassdefnode7 == NULL) { +var16 = 1; +} else { +if(cltype17 >= var_pclassdefnode7->type->table_size) { +var16 = 0; +} else { +var16 = var_pclassdefnode7->type->type_table[cltype17] == idtype18; } -RET_LABEL:; } -/* method parser#ReduceAction21#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction21__action(val* self, val* p0) { -parser__ReduceAction21__action(self, p0); /* Direct call parser#ReduceAction21#action on */ -RET_LABEL:; +if (unlikely(!var16)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1439); +show_backtrace(1); } -/* method parser#ReduceAction22#action for (self: ReduceAction22, Parser) */ -void parser__ReduceAction22__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : null */; -long var2 /* : Int */; -long var3 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = NULL; -var_node_list = var1; -var2 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var3 = parser_work__Parser__go_to(var_p, var2); +var19 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode6); +} +var_listnode8 = var19; +var20 = NULL; +if (var_pclassdefnode7 == NULL) { +var21 = 0; /* is null */ +} else { +var21 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_pclassdefnode7,var20) on */ +var_other = var20; { -parser_work__Parser__push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ +var25 = ((short int (*)(val*, val*))(var_pclassdefnode7->class->vft[COLOR_kernel__Object___61d_61d]))(var_pclassdefnode7, var_other) /* == on */; +var24 = var25; } -RET_LABEL:; +var26 = !var24; +var22 = var26; +goto RET_LABEL23; +RET_LABEL23:(void)0; } -/* method parser#ReduceAction22#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction22__action(val* self, val* p0) { -parser__ReduceAction22__action(self, p0); /* Direct call parser#ReduceAction22#action on */ -RET_LABEL:; +var21 = var22; } -/* method parser#ReduceAction23#action for (self: ReduceAction23, Parser) */ -void parser__ReduceAction23__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var2 /* : null */; -long var3 /* : Int */; -long var4 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +if (var21){ { -var1 = parser_work__Parser__pop(var_p); +array__Array__add(var_listnode8, var_pclassdefnode7); /* Direct call array#Array#add on */ } -var_nodearraylist1 = var1; -var2 = NULL; -var_node_list = var2; -var3 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +} else { +} +var27 = NEW_parser_nodes__AModule(&type_parser_nodes__AModule); { -var4 = parser_work__Parser__go_to(var_p, var3); +parser_prod__AModule__init_amodule(var27, var_pmoduledeclnode2, var_listnode3, var_listnode5, var_listnode8); /* Direct call parser_prod#AModule#init_amodule on */ } +var_pmodulenode1 = var27; +var_node_list = var_pmodulenode1; +var28 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -parser_work__Parser__push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ +var29 = parser_work__Parser__go_to(var_p, var28); +} +{ +parser_work__Parser__push(var_p, var29, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction23#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction23__action(val* self, val* p0) { -parser__ReduceAction23__action(self, p0); /* Direct call parser#ReduceAction23#action on */ +/* method parser#ReduceAction13#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction13__action(val* self, val* p0) { +parser__ReduceAction13__action(self, p0); /* Direct call parser#ReduceAction13#action on */ RET_LABEL:; } -/* method parser#ReduceAction24#action for (self: ReduceAction24, Parser) */ -void parser__ReduceAction24__action(val* self, val* p0) { +/* method parser#ReduceAction14#action for (self: ReduceAction14, Parser) */ +void parser__ReduceAction14__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_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_pexprnode3 /* var pexprnode3: nullable Object */; -short int var3 /* : Bool */; +val* var5 /* : Array[Object] */; +val* var_listnode4 /* var listnode4: Array[Object] */; +val* var6 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: Array[Object] */; +val* var7 /* : Array[Object] */; +val* var_listnode9 /* var listnode9: Array[Object] */; +val* var_listnode3 /* var listnode3: nullable Object */; +short int var8 /* : Bool */; int cltype; int idtype; -val* var4 /* : AMainMethPropdef */; -val* var5 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMainMethPropdef */; -long var6 /* : Int */; -long var7 /* : Int */; +val* var9 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var13 /* : Array[Object] */; +val* var_listnode7 /* var listnode7: nullable Object */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +val* var_pclassdefnode8 /* var pclassdefnode8: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var20 /* : Array[Object] */; +val* var21 /* : null */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +short int var27 /* : Bool */; +val* var28 /* : AModule */; +val* var29 /* : null */; +val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; +long var30 /* : Int */; +long var31 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist2 = var1; +var_nodearraylist4 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist1 = var2; -var_pexprnode3 = var_nodearraylist2; -/* isa nullable AExpr */ -cltype = type_nullable_parser_nodes__AExpr.color; -idtype = type_nullable_parser_nodes__AExpr.id; -if(var_pexprnode3 == NULL) { -var3 = 1; -} else { -if(cltype >= var_pexprnode3->type->table_size) { -var3 = 0; -} else { -var3 = var_pexprnode3->type->type_table[cltype] == idtype; -} +var_nodearraylist3 = var2; +{ +var3 = parser_work__Parser__pop(var_p); } -if (unlikely(!var3)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1522); -show_backtrace(1); +var_nodearraylist2 = var3; +{ +var4 = parser_work__Parser__pop(var_p); } -var4 = NEW_parser_nodes__AMainMethPropdef(&type_parser_nodes__AMainMethPropdef); -var5 = NULL; +var_nodearraylist1 = var4; +var5 = NEW_array__Array(&type_array__Arraykernel__Object); { -parser_prod__AMainMethPropdef__init_amainmethpropdef(var4, var5, var_pexprnode3); /* Direct call parser_prod#AMainMethPropdef#init_amainmethpropdef on */ +((void (*)(val*))(var5->class->vft[COLOR_kernel__Object__init]))(var5) /* init on */; } -var_ppropdefnode1 = var4; -var_node_list = var_ppropdefnode1; -var6 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_listnode4 = var5; +var6 = NEW_array__Array(&type_array__Arraykernel__Object); { -var7 = parser_work__Parser__go_to(var_p, var6); +((void (*)(val*))(var6->class->vft[COLOR_kernel__Object__init]))(var6) /* init on */; } +var_listnode6 = var6; +var7 = NEW_array__Array(&type_array__Arraykernel__Object); { -parser_work__Parser__push(var_p, var7, var_node_list); /* Direct call parser_work#Parser#push on */ +((void (*)(val*))(var7->class->vft[COLOR_kernel__Object__init]))(var7) /* init on */; } -RET_LABEL:; +var_listnode9 = var7; +var_listnode3 = var_nodearraylist1; +/* isa Array[Object] */ +cltype = type_array__Arraykernel__Object.color; +idtype = type_array__Arraykernel__Object.id; +if(var_listnode3 == NULL) { +var8 = 0; +} else { +if(cltype >= var_listnode3->type->table_size) { +var8 = 0; +} else { +var8 = var_listnode3->type->type_table[cltype] == idtype; +} +} +if (unlikely(!var8)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1467); +show_backtrace(1); +} +{ +var9 = parser_work__ReduceAction__concat(self, var_listnode4, var_listnode3); +} +var_listnode4 = var9; +var_listnode5 = var_nodearraylist2; +/* isa Array[Object] */ +cltype11 = type_array__Arraykernel__Object.color; +idtype12 = type_array__Arraykernel__Object.id; +if(var_listnode5 == NULL) { +var10 = 0; +} else { +if(cltype11 >= var_listnode5->type->table_size) { +var10 = 0; +} else { +var10 = var_listnode5->type->type_table[cltype11] == idtype12; +} +} +if (unlikely(!var10)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1470); +show_backtrace(1); +} +{ +var13 = parser_work__ReduceAction__concat(self, var_listnode6, var_listnode5); +} +var_listnode6 = var13; +var_listnode7 = var_nodearraylist3; +/* isa Array[Object] */ +cltype15 = type_array__Arraykernel__Object.color; +idtype16 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var14 = 0; +} else { +if(cltype15 >= var_listnode7->type->table_size) { +var14 = 0; +} else { +var14 = var_listnode7->type->type_table[cltype15] == idtype16; +} +} +if (unlikely(!var14)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1473); +show_backtrace(1); +} +var_pclassdefnode8 = var_nodearraylist4; +/* isa nullable AClassdef */ +cltype18 = type_nullable_parser_nodes__AClassdef.color; +idtype19 = type_nullable_parser_nodes__AClassdef.id; +if(var_pclassdefnode8 == NULL) { +var17 = 1; +} else { +if(cltype18 >= var_pclassdefnode8->type->table_size) { +var17 = 0; +} else { +var17 = var_pclassdefnode8->type->type_table[cltype18] == idtype19; +} +} +if (unlikely(!var17)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1475); +show_backtrace(1); +} +{ +var20 = parser_work__ReduceAction__concat(self, var_listnode9, var_listnode7); +} +var_listnode9 = var20; +var21 = NULL; +if (var_pclassdefnode8 == NULL) { +var22 = 0; /* is null */ +} else { +var22 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_pclassdefnode8,var21) on */ +var_other = var21; +{ +var26 = ((short int (*)(val*, val*))(var_pclassdefnode8->class->vft[COLOR_kernel__Object___61d_61d]))(var_pclassdefnode8, var_other) /* == on */; +var25 = var26; +} +var27 = !var25; +var23 = var27; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +var22 = var23; +} +if (var22){ +{ +array__Array__add(var_listnode9, var_pclassdefnode8); /* Direct call array#Array#add on */ +} +} else { +} +var28 = NEW_parser_nodes__AModule(&type_parser_nodes__AModule); +var29 = NULL; +{ +parser_prod__AModule__init_amodule(var28, var29, var_listnode4, var_listnode6, var_listnode9); /* Direct call parser_prod#AModule#init_amodule on */ +} +var_pmodulenode1 = var28; +var_node_list = var_pmodulenode1; +var30 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var31 = parser_work__Parser__go_to(var_p, var30); +} +{ +parser_work__Parser__push(var_p, var31, var_node_list); /* Direct call parser_work#Parser#push on */ } -/* method parser#ReduceAction24#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction24__action(val* self, val* p0) { -parser__ReduceAction24__action(self, p0); /* Direct call parser#ReduceAction24#action on */ RET_LABEL:; } -/* method parser#ReduceAction26#action for (self: ReduceAction26, Parser) */ -void parser__ReduceAction26__action(val* self, val* p0) { +/* method parser#ReduceAction14#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction14__action(val* self, val* p0) { +parser__ReduceAction14__action(self, p0); /* Direct call parser#ReduceAction14#action on */ +RET_LABEL:; +} +/* method parser#ReduceAction15#action for (self: ReduceAction15, Parser) */ +void parser__ReduceAction15__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* var2 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var7 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var8 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var9 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var10 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var11 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var12 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var13 /* : Bool */; +val* var6 /* : Array[Object] */; +val* var_listnode4 /* var listnode4: Array[Object] */; +val* var7 /* : Array[Object] */; +val* var_listnode6 /* var listnode6: Array[Object] */; +val* var8 /* : Array[Object] */; +val* var_listnode9 /* var listnode9: Array[Object] */; +val* var_pmoduledeclnode2 /* var pmoduledeclnode2: nullable Object */; +short int var9 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +val* var_listnode3 /* var listnode3: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var13 /* : Array[Object] */; +val* var_listnode5 /* var listnode5: nullable Object */; short int var14 /* : Bool */; int cltype15; int idtype16; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; +val* var17 /* : Array[Object] */; val* var_listnode7 /* var listnode7: nullable Object */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var_pclassdefnode8 /* var pclassdefnode8: nullable Object */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var24 /* : Array[Object] */; +val* var25 /* : null */; short int var26 /* : Bool */; -int cltype27; -int idtype28; -val* var29 /* : Array[Object] */; -val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; +short int var27 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var29 /* : Bool */; short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : AStdClassdef */; -val* var34 /* : null */; -val* var35 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var36 /* : Int */; -long var37 /* : Int */; +short int var31 /* : Bool */; +val* var32 /* : AModule */; +val* var_pmodulenode1 /* var pmodulenode1: nullable AModule */; +long var33 /* : Int */; +long var34 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var1; +var_nodearraylist5 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var2; +var_nodearraylist4 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var3; +var_nodearraylist3 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var4; +var_nodearraylist2 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var5; -{ -var6 = parser_work__Parser__pop(var_p); -} -var_nodearraylist4 = var6; -{ -var7 = parser_work__Parser__pop(var_p); -} -var_nodearraylist3 = var7; -{ -var8 = parser_work__Parser__pop(var_p); -} -var_nodearraylist2 = var8; -{ -var9 = parser_work__Parser__pop(var_p); -} -var_nodearraylist1 = var9; -var10 = NEW_array__Array(&type_array__Arraykernel__Object); +var_nodearraylist1 = var5; +var6 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var10); /* Direct call array#Array#init on */ +((void (*)(val*))(var6->class->vft[COLOR_kernel__Object__init]))(var6) /* init on */; } -var_listnode8 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); +var_listnode4 = var6; +var7 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var11); /* Direct call array#Array#init on */ +((void (*)(val*))(var7->class->vft[COLOR_kernel__Object__init]))(var7) /* init on */; } -var_listnode11 = var11; -var12 = NEW_array__Array(&type_array__Arraykernel__Object); +var_listnode6 = var7; +var8 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var12); /* Direct call array#Array#init on */ +((void (*)(val*))(var8->class->vft[COLOR_kernel__Object__init]))(var8) /* init on */; } -var_listnode12 = var12; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable_parser_nodes__ADoc.color; -idtype = type_nullable_parser_nodes__ADoc.id; -if(var_pdocnode2 == NULL) { -var13 = 1; +var_listnode9 = var8; +var_pmoduledeclnode2 = var_nodearraylist1; +/* isa nullable AModuledecl */ +cltype = type_nullable_parser_nodes__AModuledecl.color; +idtype = type_nullable_parser_nodes__AModuledecl.id; +if(var_pmoduledeclnode2 == NULL) { +var9 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var13 = 0; +if(cltype >= var_pmoduledeclnode2->type->table_size) { +var9 = 0; } else { -var13 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = var_pmoduledeclnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var13)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1549); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1504); show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype15 = type_nullable_parser_nodes__TKwredef.color; -idtype16 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var14 = 1; +var_listnode3 = var_nodearraylist2; +/* isa Array[Object] */ +cltype11 = type_array__Arraykernel__Object.color; +idtype12 = type_array__Arraykernel__Object.id; +if(var_listnode3 == NULL) { +var10 = 0; } else { -if(cltype15 >= var_tkwredefnode3->type->table_size) { -var14 = 0; +if(cltype11 >= var_listnode3->type->table_size) { +var10 = 0; } else { -var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16; +var10 = var_listnode3->type->type_table[cltype11] == idtype12; } } -if (unlikely(!var14)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1551); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1506); show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype18 = type_nullable_parser_nodes__AVisibility.color; -idtype19 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var17 = 1; +{ +var13 = parser_work__ReduceAction__concat(self, var_listnode4, var_listnode3); +} +var_listnode4 = var13; +var_listnode5 = var_nodearraylist3; +/* isa Array[Object] */ +cltype15 = type_array__Arraykernel__Object.color; +idtype16 = type_array__Arraykernel__Object.id; +if(var_listnode5 == NULL) { +var14 = 0; } else { -if(cltype18 >= var_pvisibilitynode4->type->table_size) { -var17 = 0; +if(cltype15 >= var_listnode5->type->table_size) { +var14 = 0; } else { -var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; +var14 = var_listnode5->type->type_table[cltype15] == idtype16; } } -if (unlikely(!var17)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1553); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1509); show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype21 = type_nullable_parser_nodes__AClasskind.color; -idtype22 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var20 = 1; +{ +var17 = parser_work__ReduceAction__concat(self, var_listnode6, var_listnode5); +} +var_listnode6 = var17; +var_listnode7 = var_nodearraylist4; +/* isa Array[Object] */ +cltype19 = type_array__Arraykernel__Object.color; +idtype20 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var18 = 0; } else { -if(cltype21 >= var_pclasskindnode5->type->table_size) { -var20 = 0; +if(cltype19 >= var_listnode7->type->table_size) { +var18 = 0; } else { -var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; +var18 = var_listnode7->type->type_table[cltype19] == idtype20; } } -if (unlikely(!var20)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1555); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1512); 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) { -var23 = 1; +var_pclassdefnode8 = var_nodearraylist5; +/* isa nullable AClassdef */ +cltype22 = type_nullable_parser_nodes__AClassdef.color; +idtype23 = type_nullable_parser_nodes__AClassdef.id; +if(var_pclassdefnode8 == NULL) { +var21 = 1; } else { -if(cltype24 >= var_tclassidnode6->type->table_size) { -var23 = 0; +if(cltype22 >= var_pclassdefnode8->type->table_size) { +var21 = 0; } else { -var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; +var21 = var_pclassdefnode8->type->type_table[cltype22] == idtype23; } } -if (unlikely(!var23)) { +if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1557); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1514); 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; -} else { -if(cltype27 >= var_listnode7->type->table_size) { -var26 = 0; +{ +var24 = parser_work__ReduceAction__concat(self, var_listnode9, var_listnode7); +} +var_listnode9 = var24; +var25 = NULL; +if (var_pclassdefnode8 == NULL) { +var26 = 0; /* is null */ } else { -var26 = var_listnode7->type->type_table[cltype27] == idtype28; +var26 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_pclassdefnode8,var25) on */ +var_other = var25; +{ +var30 = ((short int (*)(val*, val*))(var_pclassdefnode8->class->vft[COLOR_kernel__Object___61d_61d]))(var_pclassdefnode8, var_other) /* == on */; +var29 = var30; } -if (unlikely(!var26)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1559); -show_backtrace(1); +var31 = !var29; +var27 = var31; +goto RET_LABEL28; +RET_LABEL28:(void)0; +} +var26 = var27; } +if (var26){ { -var29 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); +array__Array__add(var_listnode9, var_pclassdefnode8); /* Direct call array#Array#add on */ } -var_listnode8 = var29; -var_tkwendnode13 = var_nodearraylist9; -/* isa nullable TKwend */ -cltype31 = type_nullable_parser_nodes__TKwend.color; -idtype32 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode13 == NULL) { -var30 = 1; } else { -if(cltype31 >= var_tkwendnode13->type->table_size) { -var30 = 0; -} else { -var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32; } -} -if (unlikely(!var30)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1562); -show_backtrace(1); -} -var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var34 = NULL; -var35 = NULL; +var32 = NEW_parser_nodes__AModule(&type_parser_nodes__AModule); { -parser_prod__AStdClassdef__init_astdclassdef(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var34, var35, var_listnode11, var_listnode12, var_tkwendnode13); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AModule__init_amodule(var32, var_pmoduledeclnode2, var_listnode4, var_listnode6, var_listnode9); /* Direct call parser_prod#AModule#init_amodule on */ } -var_pclassdefnode1 = var33; -var_node_list = var_pclassdefnode1; -var36 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_pmodulenode1 = var32; +var_node_list = var_pmodulenode1; +var33 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var37 = parser_work__Parser__go_to(var_p, var36); +var34 = parser_work__Parser__go_to(var_p, var33); } { -parser_work__Parser__push(var_p, var37, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var34, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction26#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction26__action(val* self, val* p0) { -parser__ReduceAction26__action(self, p0); /* Direct call parser#ReduceAction26#action on */ +/* method parser#ReduceAction15#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction15__action(val* self, val* p0) { +parser__ReduceAction15__action(self, p0); /* Direct call parser#ReduceAction15#action on */ RET_LABEL:; } -/* method parser#ReduceAction27#action for (self: ReduceAction27, Parser) */ -void parser__ReduceAction27__action(val* self, val* p0) { +/* method parser#ReduceAction16#action for (self: ReduceAction16, Parser) */ +void parser__ReduceAction16__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* var11 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var12 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var10 /* : Bool */; +int cltype11; +int idtype12; 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_tkwendnode18 /* var tkwendnode18: nullable Object */; -short int var40 /* : Bool */; -int cltype41; -int idtype42; -val* var43 /* : AStdClassdef */; -val* var44 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var45 /* : Int */; -long var46 /* : Int */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_tkwmodulenode5 /* var tkwmodulenode5: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_pmodulenamenode6 /* var pmodulenamenode6: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var25 /* : AModuledecl */; +val* var_pmoduledeclnode1 /* var pmoduledeclnode1: nullable AModuledecl */; +long var26 /* : Int */; +long var27 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var1; +var_nodearraylist8 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist7 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var3; +var_nodearraylist6 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var4; +var_nodearraylist5 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var5; +var_nodearraylist4 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var6; +var_nodearraylist3 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var7; +var_nodearraylist2 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var8; -{ -var9 = parser_work__Parser__pop(var_p); -} -var_nodearraylist2 = var9; -{ -var10 = parser_work__Parser__pop(var_p); -} -var_nodearraylist1 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var11); /* Direct call array#Array#init on */ -} -var_listnode8 = var11; -var12 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var12); /* Direct call array#Array#init on */ -} -var_listnode16 = var12; -var13 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var13); /* Direct call array#Array#init on */ -} -var_listnode17 = var13; +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) { -var14 = 1; +var9 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; +var9 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var14)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1599); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1543); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype16 = type_nullable_parser_nodes__TKwredef.color; -idtype17 = type_nullable_parser_nodes__TKwredef.id; +cltype11 = type_nullable_parser_nodes__TKwredef.color; +idtype12 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var15 = 1; +var10 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { -var15 = 0; +if(cltype11 >= var_tkwredefnode3->type->table_size) { +var10 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; } } -if (unlikely(!var15)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1601); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1545); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype19 = type_nullable_parser_nodes__AVisibility.color; -idtype20 = type_nullable_parser_nodes__AVisibility.id; +cltype14 = type_nullable_parser_nodes__AVisibility.color; +idtype15 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var18 = 1; +var13 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { -var18 = 0; +if(cltype14 >= var_pvisibilitynode4->type->table_size) { +var13 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; } } -if (unlikely(!var18)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1603); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1547); show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var21 = 1; +var_tkwmodulenode5 = var_nodearraylist4; +/* isa nullable TKwmodule */ +cltype17 = type_nullable_parser_nodes__TKwmodule.color; +idtype18 = type_nullable_parser_nodes__TKwmodule.id; +if(var_tkwmodulenode5 == NULL) { +var16 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; +if(cltype17 >= var_tkwmodulenode5->type->table_size) { +var16 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var16 = var_tkwmodulenode5->type->type_table[cltype17] == idtype18; } } -if (unlikely(!var21)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1605); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1549); 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; +var_pmodulenamenode6 = var_nodearraylist6; +/* isa nullable AModuleName */ +cltype20 = type_nullable_parser_nodes__AModuleName.color; +idtype21 = type_nullable_parser_nodes__AModuleName.id; +if(var_pmodulenamenode6 == NULL) { +var19 = 1; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { -var24 = 0; +if(cltype20 >= var_pmodulenamenode6->type->table_size) { +var19 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var19 = var_pmodulenamenode6->type->type_table[cltype20] == idtype21; } } -if (unlikely(!var24)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1607); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1551); show_backtrace(1); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype28 = type_array__Arraykernel__Object.color; -idtype29 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var27 = 0; +var_pannotationsnode7 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype23 = type_nullable_parser_nodes__AAnnotations.color; +idtype24 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode7 == NULL) { +var22 = 1; } else { -if(cltype28 >= var_listnode7->type->table_size) { -var27 = 0; +if(cltype23 >= var_pannotationsnode7->type->table_size) { +var22 = 0; } else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; +var22 = var_pannotationsnode7->type->type_table[cltype23] == idtype24; } } -if (unlikely(!var27)) { +if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1609); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1553); show_backtrace(1); } +var25 = NEW_parser_nodes__AModuledecl(&type_parser_nodes__AModuledecl); { -var30 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); +parser_prod__AModuledecl__init_amoduledecl(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmodulenode5, var_pmodulenamenode6, var_pannotationsnode7); /* Direct call parser_prod#AModuledecl#init_amoduledecl on */ } -var_listnode8 = var30; -var31 = NEW_array__Array(&type_array__Arraykernel__Object); +var_pmoduledeclnode1 = var25; +var_node_list = var_pmoduledeclnode1; +var26 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -array__Array__init(var31); /* Direct call array#Array#init on */ -} -var_listnode13 = var31; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype33 = type_array__Arraykernel__Object.color; -idtype34 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var32 = 0; -} else { -if(cltype33 >= var_listnode12->type->table_size) { -var32 = 0; -} else { -var32 = var_listnode12->type->type_table[cltype33] == idtype34; +var27 = parser_work__Parser__go_to(var_p, var26); } +{ +parser_work__Parser__push(var_p, var27, var_node_list); /* Direct call parser_work#Parser#push on */ } -if (unlikely(!var32)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1613); -show_backtrace(1); +RET_LABEL:; } -{ -var35 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); +/* method parser#ReduceAction16#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction16__action(val* self, val* p0) { +parser__ReduceAction16__action(self, p0); /* Direct call parser#ReduceAction16#action on */ +RET_LABEL:; } -var_listnode13 = var35; -var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var37 = NULL; -var38 = NULL; -var39 = NULL; -{ -parser_prod__AAnnotations__init_aannotations(var36, var37, var38, var_listnode13, var39); /* Direct call parser_prod#AAnnotations#init_aannotations on */ -} -var_pannotationsnode9 = var36; -var_tkwendnode18 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype41 = type_nullable_parser_nodes__TKwend.color; -idtype42 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode18 == NULL) { -var40 = 1; -} else { -if(cltype41 >= var_tkwendnode18->type->table_size) { -var40 = 0; -} else { -var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42; -} -} -if (unlikely(!var40)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1622); -show_backtrace(1); -} -var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var44 = NULL; -{ -parser_prod__AStdClassdef__init_astdclassdef(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var44, var_listnode16, var_listnode17, var_tkwendnode18); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ -} -var_pclassdefnode1 = var43; -var_node_list = var_pclassdefnode1; -var45 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var46 = parser_work__Parser__go_to(var_p, var45); -} -{ -parser_work__Parser__push(var_p, var46, var_node_list); /* Direct call parser_work#Parser#push on */ -} -RET_LABEL:; -} -/* method parser#ReduceAction27#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction27__action(val* self, val* p0) { -parser__ReduceAction27__action(self, p0); /* Direct call parser#ReduceAction27#action on */ -RET_LABEL:; -} -/* method parser#ReduceAction28#action for (self: ReduceAction28, Parser) */ -void parser__ReduceAction28__action(val* self, val* p0) { +/* method parser#ReduceAction17#action for (self: ReduceAction17, Parser) */ +void parser__ReduceAction17__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* var11 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var12 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */; +short int var9 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -val* var37 /* : AStdClassdef */; -val* var38 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var39 /* : Int */; -long var40 /* : Int */; +val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_pmodulenamenode4 /* var pmodulenamenode4: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var19 /* : AStdImport */; +val* var_pimportnode1 /* var pimportnode1: nullable AStdImport */; +long var20 /* : Int */; +long var21 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var1; +var_nodearraylist8 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist7 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var3; +var_nodearraylist6 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var4; +var_nodearraylist5 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var5; +var_nodearraylist4 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var6; +var_nodearraylist3 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var7; +var_nodearraylist2 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var8; -{ -var9 = parser_work__Parser__pop(var_p); -} -var_nodearraylist2 = var9; -{ -var10 = parser_work__Parser__pop(var_p); -} -var_nodearraylist1 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var11); /* Direct call array#Array#init on */ -} -var_listnode8 = var11; -var12 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var12); /* Direct call array#Array#init on */ -} -var_listnode11 = var12; -var13 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var13); /* Direct call array#Array#init on */ -} -var_listnode12 = var13; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable_parser_nodes__ADoc.color; -idtype = type_nullable_parser_nodes__ADoc.id; -if(var_pdocnode2 == NULL) { -var14 = 1; +var_nodearraylist1 = var8; +var_pvisibilitynode2 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype = type_nullable_parser_nodes__AVisibility.color; +idtype = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode2 == NULL) { +var9 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; +if(cltype >= var_pvisibilitynode2->type->table_size) { +var9 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var9 = var_pvisibilitynode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var14)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1659); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1580); show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype16 = type_nullable_parser_nodes__TKwredef.color; -idtype17 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var15 = 1; +var_tkwimportnode3 = var_nodearraylist4; +/* isa nullable TKwimport */ +cltype11 = type_nullable_parser_nodes__TKwimport.color; +idtype12 = type_nullable_parser_nodes__TKwimport.id; +if(var_tkwimportnode3 == NULL) { +var10 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { -var15 = 0; +if(cltype11 >= var_tkwimportnode3->type->table_size) { +var10 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var10 = var_tkwimportnode3->type->type_table[cltype11] == idtype12; } } -if (unlikely(!var15)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1661); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1582); show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype19 = type_nullable_parser_nodes__AVisibility.color; -idtype20 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var18 = 1; +var_pmodulenamenode4 = var_nodearraylist6; +/* isa nullable AModuleName */ +cltype14 = type_nullable_parser_nodes__AModuleName.color; +idtype15 = type_nullable_parser_nodes__AModuleName.id; +if(var_pmodulenamenode4 == NULL) { +var13 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { -var18 = 0; +if(cltype14 >= var_pmodulenamenode4->type->table_size) { +var13 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var13 = var_pmodulenamenode4->type->type_table[cltype14] == idtype15; } } -if (unlikely(!var18)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1663); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1584); show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var21 = 1; +var_pannotationsnode5 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype17 = type_nullable_parser_nodes__AAnnotations.color; +idtype18 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode5 == NULL) { +var16 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; +if(cltype17 >= var_pannotationsnode5->type->table_size) { +var16 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var16 = var_pannotationsnode5->type->type_table[cltype17] == idtype18; } } -if (unlikely(!var21)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1665); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1586); 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; -} else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; -} -} -if (unlikely(!var24)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1667); -show_backtrace(1); +var19 = NEW_parser_nodes__AStdImport(&type_parser_nodes__AStdImport); +{ +parser_prod__AStdImport__init_astdimport(var19, var_pvisibilitynode2, var_tkwimportnode3, var_pmodulenamenode4, var_pannotationsnode5); /* Direct call parser_prod#AStdImport#init_astdimport on */ } -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; -} else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; +var_pimportnode1 = var19; +var_node_list = var_pimportnode1; +var20 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var21 = parser_work__Parser__go_to(var_p, var20); } +{ +parser_work__Parser__push(var_p, var21, var_node_list); /* Direct call parser_work#Parser#push on */ } -if (unlikely(!var27)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1669); -show_backtrace(1); +RET_LABEL:; } -{ -var30 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); +/* method parser#ReduceAction17#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction17__action(val* self, val* p0) { +parser__ReduceAction17__action(self, p0); /* Direct call parser#ReduceAction17#action on */ +RET_LABEL:; } -var_listnode8 = var30; -var_pexterncodeblocknode10 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype32 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype33 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var31 = 1; -} else { -if(cltype32 >= var_pexterncodeblocknode10->type->table_size) { -var31 = 0; -} else { -var31 = var_pexterncodeblocknode10->type->type_table[cltype32] == idtype33; -} -} -if (unlikely(!var31)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1672); -show_backtrace(1); -} -var_tkwendnode13 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype35 = type_nullable_parser_nodes__TKwend.color; -idtype36 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode13 == NULL) { -var34 = 1; -} else { -if(cltype35 >= var_tkwendnode13->type->table_size) { -var34 = 0; -} else { -var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36; -} -} -if (unlikely(!var34)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1674); -show_backtrace(1); -} -var37 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var38 = NULL; -{ -parser_prod__AStdClassdef__init_astdclassdef(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var38, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ -} -var_pclassdefnode1 = var37; -var_node_list = var_pclassdefnode1; -var39 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var40 = parser_work__Parser__go_to(var_p, var39); -} -{ -parser_work__Parser__push(var_p, var40, var_node_list); /* Direct call parser_work#Parser#push on */ -} -RET_LABEL:; -} -/* method parser#ReduceAction28#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction28__action(val* self, val* p0) { -parser__ReduceAction28__action(self, p0); /* Direct call parser#ReduceAction28#action on */ -RET_LABEL:; -} -/* method parser#ReduceAction29#action for (self: ReduceAction29, Parser) */ -void parser__ReduceAction29__action(val* self, val* p0) { +/* method parser#ReduceAction18#action for (self: ReduceAction18, Parser) */ +void parser__ReduceAction18__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */; +short int var8 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -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_tkwendnode18 /* var tkwendnode18: nullable Object */; -short int var44 /* : Bool */; -int cltype45; -int idtype46; -val* var47 /* : AStdClassdef */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var48 /* : Int */; -long var49 /* : Int */; +val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +val* var_tkwendnode4 /* var tkwendnode4: nullable Object */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +val* var15 /* : ANoImport */; +val* var_pimportnode1 /* var pimportnode1: nullable ANoImport */; +long var16 /* : Int */; +long var17 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist7 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist6 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var3; +var_nodearraylist5 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var4; +var_nodearraylist4 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var5; +var_nodearraylist3 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var6; +var_nodearraylist2 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var7; -{ -var8 = parser_work__Parser__pop(var_p); -} -var_nodearraylist4 = var8; -{ -var9 = parser_work__Parser__pop(var_p); -} -var_nodearraylist3 = var9; -{ -var10 = parser_work__Parser__pop(var_p); -} -var_nodearraylist2 = var10; -{ -var11 = parser_work__Parser__pop(var_p); -} -var_nodearraylist1 = var11; -var12 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var12); /* Direct call array#Array#init on */ -} -var_listnode8 = var12; -var13 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var13); /* Direct call array#Array#init on */ -} -var_listnode16 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var14); /* Direct call array#Array#init on */ -} -var_listnode17 = var14; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable_parser_nodes__ADoc.color; -idtype = type_nullable_parser_nodes__ADoc.id; -if(var_pdocnode2 == NULL) { -var15 = 1; +var_nodearraylist1 = var7; +var_pvisibilitynode2 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype = type_nullable_parser_nodes__AVisibility.color; +idtype = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode2 == NULL) { +var8 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; +if(cltype >= var_pvisibilitynode2->type->table_size) { +var8 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var8 = var_pvisibilitynode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var15)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1712); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1610); show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype17 = type_nullable_parser_nodes__TKwredef.color; -idtype18 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var16 = 1; +var_tkwimportnode3 = var_nodearraylist4; +/* isa nullable TKwimport */ +cltype10 = type_nullable_parser_nodes__TKwimport.color; +idtype11 = type_nullable_parser_nodes__TKwimport.id; +if(var_tkwimportnode3 == NULL) { +var9 = 1; } else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; +if(cltype10 >= var_tkwimportnode3->type->table_size) { +var9 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var9 = var_tkwimportnode3->type->type_table[cltype10] == idtype11; } } -if (unlikely(!var16)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1714); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1612); show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype20 = type_nullable_parser_nodes__AVisibility.color; -idtype21 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var_tkwendnode4 = var_nodearraylist6; +/* isa nullable TKwend */ +cltype13 = type_nullable_parser_nodes__TKwend.color; +idtype14 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode4 == NULL) { +var12 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype13 >= var_tkwendnode4->type->table_size) { +var12 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var12 = var_tkwendnode4->type->type_table[cltype13] == idtype14; } } -if (unlikely(!var19)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1716); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1614); show_backtrace(1); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype23 = type_nullable_parser_nodes__AClasskind.color; -idtype24 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var22 = 1; -} else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; -} else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var15 = NEW_parser_nodes__ANoImport(&type_parser_nodes__ANoImport); +{ +parser_prod__ANoImport__init_anoimport(var15, var_pvisibilitynode2, var_tkwimportnode3, var_tkwendnode4); /* Direct call parser_prod#ANoImport#init_anoimport on */ } +var_pimportnode1 = var15; +var_node_list = var_pimportnode1; +var16 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var17 = parser_work__Parser__go_to(var_p, var16); } -if (unlikely(!var22)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1718); -show_backtrace(1); +{ +parser_work__Parser__push(var_p, var17, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_tclassidnode6 = var_nodearraylist6; -/* isa nullable TClassid */ -cltype26 = type_nullable_parser_nodes__TClassid.color; -idtype27 = type_nullable_parser_nodes__TClassid.id; -if(var_tclassidnode6 == NULL) { -var25 = 1; -} else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; -} else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +RET_LABEL:; } +/* method parser#ReduceAction18#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction18__action(val* self, val* p0) { +parser__ReduceAction18__action(self, p0); /* Direct call parser#ReduceAction18#action on */ +RET_LABEL:; } -if (unlikely(!var25)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1720); -show_backtrace(1); +/* method parser#ReduceAction19#action for (self: ReduceAction19, Parser) */ +void parser__ReduceAction19__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_pclassdefnode1 /* var pclassdefnode1: nullable Object */; +long var2 /* : Int */; +long var3 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +{ +var1 = parser_work__Parser__pop(var_p); } -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype29 = type_array__Arraykernel__Object.color; -idtype30 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var28 = 0; -} else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; -} else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var_nodearraylist1 = var1; +var_pclassdefnode1 = var_nodearraylist1; +var_node_list = var_pclassdefnode1; +var2 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var3 = parser_work__Parser__go_to(var_p, var2); } +{ +parser_work__Parser__push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ } -if (unlikely(!var28)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1722); -show_backtrace(1); +RET_LABEL:; +} +/* method parser#ReduceAction19#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction19__action(val* self, val* p0) { +parser__ReduceAction19__action(self, p0); /* Direct call parser#ReduceAction19#action on */ +RET_LABEL:; } +/* method parser#ReduceAction20#action for (self: ReduceAction20, Parser) */ +void parser__ReduceAction20__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var2 /* : Array[Object] */; +val* var_listnode3 /* var listnode3: Array[Object] */; +val* var_ppropdefnode2 /* var ppropdefnode2: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var4 /* : null */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +val* var11 /* : ATopClassdef */; +val* var_pclassdefnode1 /* var pclassdefnode1: nullable ATopClassdef */; +long var12 /* : Int */; +long var13 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; { -var31 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); +var1 = parser_work__Parser__pop(var_p); } -var_listnode8 = var31; -var32 = NEW_array__Array(&type_array__Arraykernel__Object); +var_nodearraylist1 = var1; +var2 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var32); /* Direct call array#Array#init on */ +((void (*)(val*))(var2->class->vft[COLOR_kernel__Object__init]))(var2) /* init on */; } -var_listnode13 = var32; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype34 = type_array__Arraykernel__Object.color; -idtype35 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var33 = 0; +var_listnode3 = var2; +var_ppropdefnode2 = var_nodearraylist1; +/* isa nullable APropdef */ +cltype = type_nullable_parser_nodes__APropdef.color; +idtype = type_nullable_parser_nodes__APropdef.id; +if(var_ppropdefnode2 == NULL) { +var3 = 1; } else { -if(cltype34 >= var_listnode12->type->table_size) { -var33 = 0; +if(cltype >= var_ppropdefnode2->type->table_size) { +var3 = 0; } else { -var33 = var_listnode12->type->type_table[cltype34] == idtype35; +var3 = var_ppropdefnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var33)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1726); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1643); show_backtrace(1); } -{ -var36 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); +var4 = NULL; +if (var_ppropdefnode2 == NULL) { +var5 = 0; /* is null */ +} else { +var5 = 1; /* arg is null and recv is not */ } -var_listnode13 = var36; -var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var38 = NULL; -var39 = NULL; -var40 = NULL; +if (0) { +{ /* Inline kernel#Object#!= (var_ppropdefnode2,var4) on */ +var_other = var4; { -parser_prod__AAnnotations__init_aannotations(var37, var38, var39, var_listnode13, var40); /* Direct call parser_prod#AAnnotations#init_aannotations on */ +var9 = ((short int (*)(val*, val*))(var_ppropdefnode2->class->vft[COLOR_kernel__Object___61d_61d]))(var_ppropdefnode2, var_other) /* == on */; +var8 = var9; } -var_pannotationsnode9 = var37; -var_pexterncodeblocknode15 = var_nodearraylist9; -/* 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(cltype42 >= var_pexterncodeblocknode15->type->table_size) { -var41 = 0; -} else { -var41 = var_pexterncodeblocknode15->type->type_table[cltype42] == idtype43; +var10 = !var8; +var6 = var10; +goto RET_LABEL7; +RET_LABEL7:(void)0; } +var5 = var6; } -if (unlikely(!var41)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1735); -show_backtrace(1); +if (var5){ +{ +array__Array__add(var_listnode3, var_ppropdefnode2); /* Direct call array#Array#add on */ } -var_tkwendnode18 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype45 = type_nullable_parser_nodes__TKwend.color; -idtype46 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode18 == NULL) { -var44 = 1; } else { -if(cltype45 >= var_tkwendnode18->type->table_size) { -var44 = 0; -} else { -var44 = var_tkwendnode18->type->type_table[cltype45] == idtype46; } -} -if (unlikely(!var44)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1737); -show_backtrace(1); -} -var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var11 = NEW_parser_nodes__ATopClassdef(&type_parser_nodes__ATopClassdef); { -parser_prod__AStdClassdef__init_astdclassdef(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__ATopClassdef__init_atopclassdef(var11, var_listnode3); /* Direct call parser_prod#ATopClassdef#init_atopclassdef on */ } -var_pclassdefnode1 = var47; +var_pclassdefnode1 = var11; var_node_list = var_pclassdefnode1; -var48 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var12 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var49 = parser_work__Parser__go_to(var_p, var48); +var13 = parser_work__Parser__go_to(var_p, var12); } { -parser_work__Parser__push(var_p, var49, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction29#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction29__action(val* self, val* p0) { -parser__ReduceAction29__action(self, p0); /* Direct call parser#ReduceAction29#action on */ +/* method parser#ReduceAction20#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction20__action(val* self, val* p0) { +parser__ReduceAction20__action(self, p0); /* Direct call parser#ReduceAction20#action on */ RET_LABEL:; } -/* method parser#ReduceAction30#action for (self: ReduceAction30, Parser) */ -void parser__ReduceAction30__action(val* self, val* p0) { +/* method parser#ReduceAction21#action for (self: ReduceAction21, Parser) */ +void parser__ReduceAction21__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var7 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var8 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var9 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var11 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; -val* var12 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +val* var2 /* : Array[Object] */; +val* var_listnode3 /* var listnode3: Array[Object] */; +val* var_ppropdefnode2 /* var ppropdefnode2: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var_listnode7 /* var listnode7: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var34 /* : Array[Object] */; -val* var_tkwendnode14 /* var tkwendnode14: nullable Object */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -val* var38 /* : AStdClassdef */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var41 /* : Int */; -long var42 /* : Int */; +val* var4 /* : null */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +val* var11 /* : AMainClassdef */; +val* var_pclassdefnode1 /* var pclassdefnode1: nullable AMainClassdef */; +long var12 /* : Int */; +long var13 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var1; -{ -var2 = parser_work__Parser__pop(var_p); -} -var_nodearraylist9 = var2; -{ -var3 = parser_work__Parser__pop(var_p); -} -var_nodearraylist8 = var3; -{ -var4 = parser_work__Parser__pop(var_p); -} -var_nodearraylist7 = var4; -{ -var5 = parser_work__Parser__pop(var_p); -} -var_nodearraylist6 = var5; -{ -var6 = parser_work__Parser__pop(var_p); -} -var_nodearraylist5 = var6; -{ -var7 = parser_work__Parser__pop(var_p); -} -var_nodearraylist4 = var7; -{ -var8 = parser_work__Parser__pop(var_p); -} -var_nodearraylist3 = var8; -{ -var9 = parser_work__Parser__pop(var_p); -} -var_nodearraylist2 = var9; -{ -var10 = parser_work__Parser__pop(var_p); -} -var_nodearraylist1 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var11); /* Direct call array#Array#init on */ -} -var_listnode8 = var11; -var12 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var12); /* Direct call array#Array#init on */ -} -var_listnode12 = var12; -var13 = NEW_array__Array(&type_array__Arraykernel__Object); +var_nodearraylist1 = var1; +var2 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var13); /* Direct call array#Array#init on */ +((void (*)(val*))(var2->class->vft[COLOR_kernel__Object__init]))(var2) /* init on */; } -var_listnode13 = var13; -var_pdocnode2 = var_nodearraylist1; -/* isa nullable ADoc */ -cltype = type_nullable_parser_nodes__ADoc.color; -idtype = type_nullable_parser_nodes__ADoc.id; -if(var_pdocnode2 == NULL) { -var14 = 1; +var_listnode3 = var2; +var_ppropdefnode2 = var_nodearraylist1; +/* isa nullable APropdef */ +cltype = type_nullable_parser_nodes__APropdef.color; +idtype = type_nullable_parser_nodes__APropdef.id; +if(var_ppropdefnode2 == NULL) { +var3 = 1; } else { -if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; +if(cltype >= var_ppropdefnode2->type->table_size) { +var3 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var3 = var_ppropdefnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var14)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1774); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1662); show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype16 = type_nullable_parser_nodes__TKwredef.color; -idtype17 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var15 = 1; -} else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { -var15 = 0; +var4 = NULL; +if (var_ppropdefnode2 == NULL) { +var5 = 0; /* is null */ } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var5 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_ppropdefnode2,var4) on */ +var_other = var4; +{ +var9 = ((short int (*)(val*, val*))(var_ppropdefnode2->class->vft[COLOR_kernel__Object___61d_61d]))(var_ppropdefnode2, var_other) /* == on */; +var8 = var9; } -if (unlikely(!var15)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1776); -show_backtrace(1); +var10 = !var8; +var6 = var10; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +var5 = var6; +} +if (var5){ +{ +array__Array__add(var_listnode3, var_ppropdefnode2); /* Direct call array#Array#add on */ } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype19 = type_nullable_parser_nodes__AVisibility.color; -idtype20 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var18 = 1; -} else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { -var18 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; } +var11 = NEW_parser_nodes__AMainClassdef(&type_parser_nodes__AMainClassdef); +{ +parser_prod__AMainClassdef__init_amainclassdef(var11, var_listnode3); /* Direct call parser_prod#AMainClassdef#init_amainclassdef on */ } -if (unlikely(!var18)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1778); -show_backtrace(1); +var_pclassdefnode1 = var11; +var_node_list = var_pclassdefnode1; +var12 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var13 = parser_work__Parser__go_to(var_p, var12); } -var_pclasskindnode5 = var_nodearraylist4; -/* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; -if(var_pclasskindnode5 == NULL) { -var21 = 1; -} else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; -} else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +{ +parser_work__Parser__push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } +RET_LABEL:; } -if (unlikely(!var21)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1780); -show_backtrace(1); +/* method parser#ReduceAction21#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction21__action(val* self, val* p0) { +parser__ReduceAction21__action(self, p0); /* Direct call parser#ReduceAction21#action on */ +RET_LABEL:; } -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; -} else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +/* method parser#ReduceAction22#action for (self: ReduceAction22, Parser) */ +void parser__ReduceAction22__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : null */; +long var2 /* : Int */; +long var3 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +var1 = NULL; +var_node_list = var1; +var2 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var3 = parser_work__Parser__go_to(var_p, var2); } +{ +parser_work__Parser__push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ } -if (unlikely(!var24)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1782); -show_backtrace(1); +RET_LABEL:; } -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; -} else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; +/* method parser#ReduceAction22#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction22__action(val* self, val* p0) { +parser__ReduceAction22__action(self, p0); /* Direct call parser#ReduceAction22#action on */ +RET_LABEL:; } +/* method parser#ReduceAction23#action for (self: ReduceAction23, Parser) */ +void parser__ReduceAction23__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var2 /* : null */; +long var3 /* : Int */; +long var4 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +{ +var1 = parser_work__Parser__pop(var_p); } -if (unlikely(!var27)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1784); -show_backtrace(1); +var_nodearraylist1 = var1; +var2 = NULL; +var_node_list = var2; +var3 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var4 = parser_work__Parser__go_to(var_p, var3); } { -var30 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); +parser_work__Parser__push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_listnode8 = 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; -} else { -if(cltype32 >= var_listnode11->type->table_size) { -var31 = 0; -} else { -var31 = var_listnode11->type->type_table[cltype32] == idtype33; +RET_LABEL:; } +/* method parser#ReduceAction23#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction23__action(val* self, val* p0) { +parser__ReduceAction23__action(self, p0); /* Direct call parser#ReduceAction23#action on */ +RET_LABEL:; } -if (unlikely(!var31)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1787); -show_backtrace(1); +/* method parser#ReduceAction24#action for (self: ReduceAction24, Parser) */ +void parser__ReduceAction24__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_pexprnode3 /* var pexprnode3: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var4 /* : AMainMethPropdef */; +val* var5 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMainMethPropdef */; +long var6 /* : Int */; +long var7 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +{ +var1 = parser_work__Parser__pop(var_p); } +var_nodearraylist2 = var1; { -var34 = parser_work__ReduceAction__concat(self, var_listnode12, var_listnode11); +var2 = parser_work__Parser__pop(var_p); } -var_listnode12 = var34; -var_tkwendnode14 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype36 = type_nullable_parser_nodes__TKwend.color; -idtype37 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode14 == NULL) { -var35 = 1; +var_nodearraylist1 = var2; +var_pexprnode3 = var_nodearraylist2; +/* isa nullable AExpr */ +cltype = type_nullable_parser_nodes__AExpr.color; +idtype = type_nullable_parser_nodes__AExpr.id; +if(var_pexprnode3 == NULL) { +var3 = 1; } else { -if(cltype36 >= var_tkwendnode14->type->table_size) { -var35 = 0; +if(cltype >= var_pexprnode3->type->table_size) { +var3 = 0; } else { -var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37; +var3 = var_pexprnode3->type->type_table[cltype] == idtype; } } -if (unlikely(!var35)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1790); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1700); show_backtrace(1); } -var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var39 = NULL; -var40 = NULL; +var4 = NEW_parser_nodes__AMainMethPropdef(&type_parser_nodes__AMainMethPropdef); +var5 = NULL; { -parser_prod__AStdClassdef__init_astdclassdef(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode12, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AMainMethPropdef__init_amainmethpropdef(var4, var5, var_pexprnode3); /* Direct call parser_prod#AMainMethPropdef#init_amainmethpropdef on */ } -var_pclassdefnode1 = var38; -var_node_list = var_pclassdefnode1; -var41 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_ppropdefnode1 = var4; +var_node_list = var_ppropdefnode1; +var6 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var42 = parser_work__Parser__go_to(var_p, var41); +var7 = parser_work__Parser__go_to(var_p, var6); } { -parser_work__Parser__push(var_p, var42, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var7, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction30#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction30__action(val* self, val* p0) { -parser__ReduceAction30__action(self, p0); /* Direct call parser#ReduceAction30#action on */ +/* method parser#ReduceAction24#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction24__action(val* self, val* p0) { +parser__ReduceAction24__action(self, p0); /* Direct call parser#ReduceAction24#action on */ RET_LABEL:; } -/* method parser#ReduceAction31#action for (self: ReduceAction31, Parser) */ -void parser__ReduceAction31__action(val* self, val* p0) { +/* method parser#ReduceAction26#action for (self: ReduceAction26, Parser) */ +void parser__ReduceAction26__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var3 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; +val* var10 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; -val* var13 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; +val* var11 /* : Array[Object] */; +val* var_listnode11 /* var listnode11: Array[Object] */; +val* var12 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var13 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; +short int var23 /* : Bool */; +int cltype24; +int idtype25; val* var_listnode7 /* var listnode7: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : Array[Object] */; -val* var32 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var33 /* : Bool */; -int cltype34; -int idtype35; -val* var36 /* : Array[Object] */; -val* var37 /* : AAnnotations */; -val* var38 /* : null */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_listnode16 /* var listnode16: nullable Object */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -val* var44 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -val* var48 /* : AStdClassdef */; -val* var49 /* : null */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : Array[Object] */; +val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +val* var33 /* : AStdClassdef */; +val* var34 /* : null */; +val* var35 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var50 /* : Int */; -long var51 /* : Int */; +long var36 /* : Int */; +long var37 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist9 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist8 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var3; +var_nodearraylist7 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var4; +var_nodearraylist6 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var5; +var_nodearraylist5 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var6; +var_nodearraylist4 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var7; +var_nodearraylist3 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var8; +var_nodearraylist2 = var8; { var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var9; +var_nodearraylist1 = var9; +var10 = NEW_array__Array(&type_array__Arraykernel__Object); { -var10 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var10->class->vft[COLOR_kernel__Object__init]))(var10) /* init on */; } -var_nodearraylist2 = var10; +var_listnode8 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); { -var11 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var11->class->vft[COLOR_kernel__Object__init]))(var11) /* init on */; } -var_nodearraylist1 = var11; +var_listnode11 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var12); /* Direct call array#Array#init on */ -} -var_listnode8 = var12; -var13 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var13); /* Direct call array#Array#init on */ -} -var_listnode17 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var14); /* Direct call array#Array#init on */ +((void (*)(val*))(var12->class->vft[COLOR_kernel__Object__init]))(var12) /* init on */; } -var_listnode18 = var14; +var_listnode12 = var12; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var13 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; +var13 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var13 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var15)) { +if (unlikely(!var13)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1828); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1727); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype17 = type_nullable_parser_nodes__TKwredef.color; -idtype18 = type_nullable_parser_nodes__TKwredef.id; +cltype15 = type_nullable_parser_nodes__TKwredef.color; +idtype16 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var16 = 1; +var14 = 1; } else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; +if(cltype15 >= var_tkwredefnode3->type->table_size) { +var14 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16; } } -if (unlikely(!var16)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1830); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1729); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype20 = type_nullable_parser_nodes__AVisibility.color; -idtype21 = type_nullable_parser_nodes__AVisibility.id; +cltype18 = type_nullable_parser_nodes__AVisibility.color; +idtype19 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var17 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype18 >= var_pvisibilitynode4->type->table_size) { +var17 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19; } } -if (unlikely(!var19)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1832); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1731); show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype23 = type_nullable_parser_nodes__AClasskind.color; -idtype24 = type_nullable_parser_nodes__AClasskind.id; +cltype21 = type_nullable_parser_nodes__AClasskind.color; +idtype22 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var22 = 1; +var20 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype21 >= var_pclasskindnode5->type->table_size) { +var20 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22; } } -if (unlikely(!var22)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1834); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1733); show_backtrace(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype26 = type_nullable_parser_nodes__TClassid.color; -idtype27 = type_nullable_parser_nodes__TClassid.id; +cltype24 = type_nullable_parser_nodes__TClassid.color; +idtype25 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var25 = 1; +var23 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; +if(cltype24 >= var_tclassidnode6->type->table_size) { +var23 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25; } } -if (unlikely(!var25)) { +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1836); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1735); show_backtrace(1); } var_listnode7 = var_nodearraylist7; /* isa Array[Object] */ -cltype29 = type_array__Arraykernel__Object.color; -idtype30 = type_array__Arraykernel__Object.id; +cltype27 = type_array__Arraykernel__Object.color; +idtype28 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var28 = 0; -} else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; -} else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; -} -} -if (unlikely(!var28)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1838); -show_backtrace(1); -} -{ -var31 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); -} -var_listnode8 = var31; -var32 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var32); /* Direct call array#Array#init on */ -} -var_listnode13 = var32; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype34 = type_array__Arraykernel__Object.color; -idtype35 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var33 = 0; -} else { -if(cltype34 >= var_listnode12->type->table_size) { -var33 = 0; -} else { -var33 = var_listnode12->type->type_table[cltype34] == idtype35; -} -} -if (unlikely(!var33)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1842); -show_backtrace(1); -} -{ -var36 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); -} -var_listnode13 = var36; -var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var38 = NULL; -var39 = NULL; -var40 = NULL; -{ -parser_prod__AAnnotations__init_aannotations(var37, var38, var39, var_listnode13, var40); /* Direct call parser_prod#AAnnotations#init_aannotations on */ -} -var_pannotationsnode9 = var37; -var_listnode16 = var_nodearraylist9; -/* isa Array[Object] */ -cltype42 = type_array__Arraykernel__Object.color; -idtype43 = type_array__Arraykernel__Object.id; -if(var_listnode16 == NULL) { -var41 = 0; +var26 = 0; } else { -if(cltype42 >= var_listnode16->type->table_size) { -var41 = 0; +if(cltype27 >= var_listnode7->type->table_size) { +var26 = 0; } else { -var41 = var_listnode16->type->type_table[cltype42] == idtype43; +var26 = var_listnode7->type->type_table[cltype27] == idtype28; } } -if (unlikely(!var41)) { +if (unlikely(!var26)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1851); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1737); show_backtrace(1); } { -var44 = parser_work__ReduceAction__concat(self, var_listnode17, var_listnode16); +var29 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } -var_listnode17 = var44; -var_tkwendnode19 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype46 = type_nullable_parser_nodes__TKwend.color; -idtype47 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode19 == NULL) { -var45 = 1; +var_listnode8 = var29; +var_tkwendnode13 = var_nodearraylist9; +/* isa nullable TKwend */ +cltype31 = type_nullable_parser_nodes__TKwend.color; +idtype32 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode13 == NULL) { +var30 = 1; } else { -if(cltype46 >= var_tkwendnode19->type->table_size) { -var45 = 0; +if(cltype31 >= var_tkwendnode13->type->table_size) { +var30 = 0; } else { -var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47; +var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32; } } -if (unlikely(!var45)) { +if (unlikely(!var30)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1854); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1740); show_backtrace(1); } -var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var49 = NULL; +var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var34 = NULL; +var35 = NULL; { -parser_prod__AStdClassdef__init_astdclassdef(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode17, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AStdClassdef__init_astdclassdef(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var34, var35, var_listnode11, var_listnode12, var_tkwendnode13); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var48; +var_pclassdefnode1 = var33; var_node_list = var_pclassdefnode1; -var50 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var36 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var51 = parser_work__Parser__go_to(var_p, var50); +var37 = parser_work__Parser__go_to(var_p, var36); } { -parser_work__Parser__push(var_p, var51, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var37, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction31#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction31__action(val* self, val* p0) { -parser__ReduceAction31__action(self, p0); /* Direct call parser#ReduceAction31#action on */ +/* method parser#ReduceAction26#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction26__action(val* self, val* p0) { +parser__ReduceAction26__action(self, p0); /* Direct call parser#ReduceAction26#action on */ RET_LABEL:; } -/* method parser#ReduceAction32#action for (self: ReduceAction32, Parser) */ -void parser__ReduceAction32__action(val* self, val* p0) { +/* method parser#ReduceAction27#action for (self: ReduceAction27, Parser) */ +void parser__ReduceAction27__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var2 /* : nullable Object */; val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; +val* var11 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; +val* var12 /* : Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var14 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var15 /* : Bool */; +int cltype16; +int idtype17; 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; +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 var25 /* : Bool */; -int cltype26; -int idtype27; +short int var24 /* : Bool */; +int cltype25; +int idtype26; val* var_listnode7 /* var listnode7: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : Array[Object] */; val* var31 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: 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* var_listnode11 /* var listnode11: nullable Object */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -val* var38 /* : Array[Object] */; -val* var_tkwendnode14 /* var tkwendnode14: nullable Object */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -val* var42 /* : AStdClassdef */; -val* var43 /* : null */; +val* var35 /* : Array[Object] */; +val* var36 /* : AAnnotations */; +val* var37 /* : null */; +val* var38 /* : null */; +val* var39 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_tkwendnode18 /* var tkwendnode18: nullable Object */; +short int var40 /* : Bool */; +int cltype41; +int idtype42; +val* var43 /* : AStdClassdef */; +val* var44 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var44 /* : Int */; long var45 /* : Int */; +long var46 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist10 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist9 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var3; +var_nodearraylist8 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var4; +var_nodearraylist7 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var5; +var_nodearraylist6 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var6; +var_nodearraylist5 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var7; +var_nodearraylist4 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var8; +var_nodearraylist3 = var8; { var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var9; +var_nodearraylist2 = var9; { var10 = parser_work__Parser__pop(var_p); } -var_nodearraylist2 = var10; +var_nodearraylist1 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); { -var11 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var11->class->vft[COLOR_kernel__Object__init]))(var11) /* init on */; } -var_nodearraylist1 = var11; +var_listnode8 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var12); /* Direct call array#Array#init on */ +((void (*)(val*))(var12->class->vft[COLOR_kernel__Object__init]))(var12) /* init on */; } -var_listnode8 = var12; +var_listnode16 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var13); /* Direct call array#Array#init on */ -} -var_listnode12 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var14); /* Direct call array#Array#init on */ +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; } -var_listnode13 = var14; +var_listnode17 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var14 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; +var14 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var14 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var15)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1892); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1777); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype17 = type_nullable_parser_nodes__TKwredef.color; -idtype18 = type_nullable_parser_nodes__TKwredef.id; +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var16 = 1; +var15 = 1; } else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; +if(cltype16 >= var_tkwredefnode3->type->table_size) { +var15 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; } } -if (unlikely(!var16)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1894); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1779); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype20 = type_nullable_parser_nodes__AVisibility.color; -idtype21 = type_nullable_parser_nodes__AVisibility.id; +cltype19 = type_nullable_parser_nodes__AVisibility.color; +idtype20 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var18 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype19 >= var_pvisibilitynode4->type->table_size) { +var18 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; } } -if (unlikely(!var19)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1896); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1781); show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype23 = type_nullable_parser_nodes__AClasskind.color; -idtype24 = type_nullable_parser_nodes__AClasskind.id; +cltype22 = type_nullable_parser_nodes__AClasskind.color; +idtype23 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var22 = 1; +var21 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype22 >= var_pclasskindnode5->type->table_size) { +var21 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; } } -if (unlikely(!var22)) { +if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1898); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1783); show_backtrace(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype26 = type_nullable_parser_nodes__TClassid.color; -idtype27 = type_nullable_parser_nodes__TClassid.id; +cltype25 = type_nullable_parser_nodes__TClassid.color; +idtype26 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var25 = 1; +var24 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; +if(cltype25 >= var_tclassidnode6->type->table_size) { +var24 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; } } -if (unlikely(!var25)) { +if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1900); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1785); show_backtrace(1); } var_listnode7 = var_nodearraylist7; /* isa Array[Object] */ -cltype29 = type_array__Arraykernel__Object.color; -idtype30 = type_array__Arraykernel__Object.id; +cltype28 = type_array__Arraykernel__Object.color; +idtype29 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var28 = 0; +var27 = 0; } else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; +if(cltype28 >= var_listnode7->type->table_size) { +var27 = 0; } else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var27 = var_listnode7->type->type_table[cltype28] == idtype29; } } -if (unlikely(!var28)) { +if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1902); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1787); show_backtrace(1); } { -var31 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); +var30 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } -var_listnode8 = var31; -var_pexterncodeblocknode10 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var32 = 1; +var_listnode8 = var30; +var31 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var31->class->vft[COLOR_kernel__Object__init]))(var31) /* init on */; +} +var_listnode13 = var31; +var_listnode12 = var_nodearraylist8; +/* isa Array[Object] */ +cltype33 = type_array__Arraykernel__Object.color; +idtype34 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var32 = 0; } else { -if(cltype33 >= var_pexterncodeblocknode10->type->table_size) { +if(cltype33 >= var_listnode12->type->table_size) { var32 = 0; } else { -var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34; +var32 = var_listnode12->type->type_table[cltype33] == idtype34; } } if (unlikely(!var32)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1905); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1791); show_backtrace(1); } -var_listnode11 = var_nodearraylist9; -/* isa Array[Object] */ -cltype36 = type_array__Arraykernel__Object.color; -idtype37 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var35 = 0; -} else { -if(cltype36 >= var_listnode11->type->table_size) { -var35 = 0; -} else { -var35 = var_listnode11->type->type_table[cltype36] == idtype37; -} -} -if (unlikely(!var35)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1907); -show_backtrace(1); +{ +var35 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); } +var_listnode13 = var35; +var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var37 = NULL; +var38 = NULL; +var39 = NULL; { -var38 = parser_work__ReduceAction__concat(self, var_listnode12, var_listnode11); +parser_prod__AAnnotations__init_aannotations(var36, var37, var38, var_listnode13, var39); /* Direct call parser_prod#AAnnotations#init_aannotations on */ } -var_listnode12 = var38; -var_tkwendnode14 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype40 = type_nullable_parser_nodes__TKwend.color; -idtype41 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode14 == NULL) { -var39 = 1; +var_pannotationsnode9 = var36; +var_tkwendnode18 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype41 = type_nullable_parser_nodes__TKwend.color; +idtype42 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode18 == NULL) { +var40 = 1; } else { -if(cltype40 >= var_tkwendnode14->type->table_size) { -var39 = 0; +if(cltype41 >= var_tkwendnode18->type->table_size) { +var40 = 0; } else { -var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41; +var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42; } } -if (unlikely(!var39)) { +if (unlikely(!var40)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1910); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1800); show_backtrace(1); } -var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var43 = NULL; +var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var44 = NULL; { -parser_prod__AStdClassdef__init_astdclassdef(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var43, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AStdClassdef__init_astdclassdef(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var44, var_listnode16, var_listnode17, var_tkwendnode18); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var42; +var_pclassdefnode1 = var43; var_node_list = var_pclassdefnode1; -var44 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var45 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var45 = parser_work__Parser__go_to(var_p, var44); +var46 = parser_work__Parser__go_to(var_p, var45); } { -parser_work__Parser__push(var_p, var45, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var46, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction32#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction32__action(val* self, val* p0) { -parser__ReduceAction32__action(self, p0); /* Direct call parser#ReduceAction32#action on */ +/* method parser#ReduceAction27#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction27__action(val* self, val* p0) { +parser__ReduceAction27__action(self, p0); /* Direct call parser#ReduceAction27#action on */ RET_LABEL:; } -/* method parser#ReduceAction33#action for (self: ReduceAction33, Parser) */ -void parser__ReduceAction33__action(val* self, val* p0) { +/* method parser#ReduceAction28#action for (self: ReduceAction28, Parser) */ +void parser__ReduceAction28__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var3 /* : nullable Object */; val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var10 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var11 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var12 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var13 /* : Array[Object] */; +val* var11 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var15 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; +val* var12 /* : Array[Object] */; +val* var_listnode11 /* var listnode11: Array[Object] */; +val* var13 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var16 /* : Bool */; +short int var14 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; +short int var21 /* : Bool */; +int cltype22; +int idtype23; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; +short int var24 /* : Bool */; +int cltype25; +int idtype26; val* var_listnode7 /* var listnode7: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var32 /* : Array[Object] */; -val* var33 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : Array[Object] */; +val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var_tkwendnode13 /* var tkwendnode13: nullable Object */; short int var34 /* : Bool */; int cltype35; int idtype36; -val* var37 /* : Array[Object] */; -val* var38 /* : AAnnotations */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var41 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -val* var_listnode16 /* var listnode16: nullable Object */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -val* var48 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; -short int var49 /* : Bool */; -int cltype50; -int idtype51; -val* var52 /* : AStdClassdef */; +val* var37 /* : AStdClassdef */; +val* var38 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var53 /* : Int */; -long var54 /* : Int */; +long var39 /* : Int */; +long var40 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist12 = var1; +var_nodearraylist10 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist11 = var2; +var_nodearraylist9 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var3; +var_nodearraylist8 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var4; +var_nodearraylist7 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var5; +var_nodearraylist6 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var6; +var_nodearraylist5 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var7; +var_nodearraylist4 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var8; +var_nodearraylist3 = var8; { var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var9; +var_nodearraylist2 = var9; { var10 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var10; +var_nodearraylist1 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); { -var11 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var11->class->vft[COLOR_kernel__Object__init]))(var11) /* init on */; } -var_nodearraylist2 = var11; +var_listnode8 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); { -var12 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var12->class->vft[COLOR_kernel__Object__init]))(var12) /* init on */; } -var_nodearraylist1 = var12; +var_listnode11 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var13); /* Direct call array#Array#init on */ -} -var_listnode8 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var14); /* Direct call array#Array#init on */ -} -var_listnode17 = var14; -var15 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var15); /* Direct call array#Array#init on */ +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; } -var_listnode18 = var15; +var_listnode12 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var16 = 1; +var14 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var16 = 0; +var14 = 0; } else { -var16 = var_pdocnode2->type->type_table[cltype] == idtype; +var14 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var16)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1949); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1837); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype18 = type_nullable_parser_nodes__TKwredef.color; -idtype19 = type_nullable_parser_nodes__TKwredef.id; +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var17 = 1; +var15 = 1; } else { -if(cltype18 >= var_tkwredefnode3->type->table_size) { -var17 = 0; +if(cltype16 >= var_tkwredefnode3->type->table_size) { +var15 = 0; } else { -var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; +var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; } } -if (unlikely(!var17)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1951); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1839); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype21 = type_nullable_parser_nodes__AVisibility.color; -idtype22 = type_nullable_parser_nodes__AVisibility.id; +cltype19 = type_nullable_parser_nodes__AVisibility.color; +idtype20 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var20 = 1; +var18 = 1; } else { -if(cltype21 >= var_pvisibilitynode4->type->table_size) { -var20 = 0; +if(cltype19 >= var_pvisibilitynode4->type->table_size) { +var18 = 0; } else { -var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; +var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; } } -if (unlikely(!var20)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1953); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1841); show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype24 = type_nullable_parser_nodes__AClasskind.color; -idtype25 = type_nullable_parser_nodes__AClasskind.id; +cltype22 = type_nullable_parser_nodes__AClasskind.color; +idtype23 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var23 = 1; +var21 = 1; } else { -if(cltype24 >= var_pclasskindnode5->type->table_size) { -var23 = 0; +if(cltype22 >= var_pclasskindnode5->type->table_size) { +var21 = 0; } else { -var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; +var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; } } -if (unlikely(!var23)) { +if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1955); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1843); show_backtrace(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype27 = type_nullable_parser_nodes__TClassid.color; -idtype28 = type_nullable_parser_nodes__TClassid.id; +cltype25 = type_nullable_parser_nodes__TClassid.color; +idtype26 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var26 = 1; -} else { -if(cltype27 >= var_tclassidnode6->type->table_size) { -var26 = 0; -} else { -var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; -} -} -if (unlikely(!var26)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1957); -show_backtrace(1); -} -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype30 = type_array__Arraykernel__Object.color; -idtype31 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var29 = 0; -} else { -if(cltype30 >= var_listnode7->type->table_size) { -var29 = 0; -} else { -var29 = var_listnode7->type->type_table[cltype30] == idtype31; -} -} -if (unlikely(!var29)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1959); -show_backtrace(1); -} -{ -var32 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); -} -var_listnode8 = var32; -var33 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var33); /* Direct call array#Array#init on */ -} -var_listnode13 = var33; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype35 = type_array__Arraykernel__Object.color; -idtype36 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var34 = 0; +var24 = 1; } else { -if(cltype35 >= var_listnode12->type->table_size) { -var34 = 0; +if(cltype25 >= var_tclassidnode6->type->table_size) { +var24 = 0; } else { -var34 = var_listnode12->type->type_table[cltype35] == idtype36; +var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; } } -if (unlikely(!var34)) { +if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1963); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1845); show_backtrace(1); } -{ -var37 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); -} -var_listnode13 = var37; -var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var39 = NULL; -var40 = NULL; -var41 = NULL; -{ -parser_prod__AAnnotations__init_aannotations(var38, var39, var40, var_listnode13, var41); /* Direct call parser_prod#AAnnotations#init_aannotations on */ -} -var_pannotationsnode9 = var38; -var_pexterncodeblocknode15 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype43 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype44 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode15 == NULL) { -var42 = 1; +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype28 = type_array__Arraykernel__Object.color; +idtype29 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var27 = 0; } else { -if(cltype43 >= var_pexterncodeblocknode15->type->table_size) { -var42 = 0; +if(cltype28 >= var_listnode7->type->table_size) { +var27 = 0; } else { -var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44; +var27 = var_listnode7->type->type_table[cltype28] == idtype29; } } -if (unlikely(!var42)) { +if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1972); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1847); show_backtrace(1); } -var_listnode16 = var_nodearraylist10; -/* isa Array[Object] */ -cltype46 = type_array__Arraykernel__Object.color; -idtype47 = type_array__Arraykernel__Object.id; -if(var_listnode16 == NULL) { -var45 = 0; +{ +var30 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); +} +var_listnode8 = var30; +var_pexterncodeblocknode10 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype32 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype33 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode10 == NULL) { +var31 = 1; } else { -if(cltype46 >= var_listnode16->type->table_size) { -var45 = 0; +if(cltype32 >= var_pexterncodeblocknode10->type->table_size) { +var31 = 0; } else { -var45 = var_listnode16->type->type_table[cltype46] == idtype47; +var31 = var_pexterncodeblocknode10->type->type_table[cltype32] == idtype33; } } -if (unlikely(!var45)) { +if (unlikely(!var31)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1974); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1850); show_backtrace(1); } -{ -var48 = parser_work__ReduceAction__concat(self, var_listnode17, var_listnode16); -} -var_listnode17 = 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; +var_tkwendnode13 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype35 = type_nullable_parser_nodes__TKwend.color; +idtype36 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode13 == NULL) { +var34 = 1; } else { -if(cltype50 >= var_tkwendnode19->type->table_size) { -var49 = 0; +if(cltype35 >= var_tkwendnode13->type->table_size) { +var34 = 0; } else { -var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51; +var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36; } } -if (unlikely(!var49)) { +if (unlikely(!var34)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 1977); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1852); show_backtrace(1); } -var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var37 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var38 = NULL; { -parser_prod__AStdClassdef__init_astdclassdef(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AStdClassdef__init_astdclassdef(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var38, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var52; +var_pclassdefnode1 = var37; var_node_list = var_pclassdefnode1; -var53 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var39 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var54 = parser_work__Parser__go_to(var_p, var53); +var40 = parser_work__Parser__go_to(var_p, var39); } { -parser_work__Parser__push(var_p, var54, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var40, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction33#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction33__action(val* self, val* p0) { -parser__ReduceAction33__action(self, p0); /* Direct call parser#ReduceAction33#action on */ +/* method parser#ReduceAction28#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction28__action(val* self, val* p0) { +parser__ReduceAction28__action(self, p0); /* Direct call parser#ReduceAction28#action on */ RET_LABEL:; } -/* method parser#ReduceAction34#action for (self: ReduceAction34, Parser) */ -void parser__ReduceAction34__action(val* self, val* p0) { +/* method parser#ReduceAction29#action for (self: ReduceAction29, Parser) */ +void parser__ReduceAction29__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var9 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var10 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var11 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; val* var12 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; +val* var14 /* : Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var14 /* : Bool */; +short int var15 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; +short int var22 /* : Bool */; +int cltype23; +int idtype24; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; +short int var25 /* : Bool */; +int cltype26; +int idtype27; val* var_listnode7 /* var listnode7: nullable Object */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : Array[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 var31 /* : Bool */; -int cltype32; -int idtype33; -val* var34 /* : Array[Object] */; -val* var_tkwendnode14 /* var tkwendnode14: nullable Object */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -val* var38 /* : AStdClassdef */; +short int var33 /* : Bool */; +int cltype34; +int idtype35; +val* var36 /* : Array[Object] */; +val* var37 /* : AAnnotations */; +val* var38 /* : null */; val* var39 /* : null */; val* var40 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; +short int var41 /* : Bool */; +int cltype42; +int idtype43; +val* var_tkwendnode18 /* var tkwendnode18: nullable Object */; +short int var44 /* : Bool */; +int cltype45; +int idtype46; +val* var47 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var41 /* : Int */; -long var42 /* : Int */; +long var48 /* : Int */; +long var49 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var1; +var_nodearraylist11 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist10 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var3; +var_nodearraylist9 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var4; +var_nodearraylist8 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var5; +var_nodearraylist7 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var6; +var_nodearraylist6 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var7; +var_nodearraylist5 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var8; +var_nodearraylist4 = var8; { var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist2 = var9; +var_nodearraylist3 = var9; { var10 = parser_work__Parser__pop(var_p); } -var_nodearraylist1 = var10; -var11 = NEW_array__Array(&type_array__Arraykernel__Object); +var_nodearraylist2 = var10; { -array__Array__init(var11); /* Direct call array#Array#init on */ +var11 = parser_work__Parser__pop(var_p); } -var_listnode8 = var11; +var_nodearraylist1 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var12); /* Direct call array#Array#init on */ +((void (*)(val*))(var12->class->vft[COLOR_kernel__Object__init]))(var12) /* init on */; } -var_listnode11 = var12; +var_listnode8 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var13); /* Direct call array#Array#init on */ +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; } -var_listnode13 = var13; +var_listnode16 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var14->class->vft[COLOR_kernel__Object__init]))(var14) /* init on */; +} +var_listnode17 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var14 = 1; +var15 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var14 = 0; +var15 = 0; } else { -var14 = var_pdocnode2->type->type_table[cltype] == idtype; +var15 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var14)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2014); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1890); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype16 = type_nullable_parser_nodes__TKwredef.color; -idtype17 = type_nullable_parser_nodes__TKwredef.id; +cltype17 = type_nullable_parser_nodes__TKwredef.color; +idtype18 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var15 = 1; +var16 = 1; } else { -if(cltype16 >= var_tkwredefnode3->type->table_size) { -var15 = 0; +if(cltype17 >= var_tkwredefnode3->type->table_size) { +var16 = 0; } else { -var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; +var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; } } -if (unlikely(!var15)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2016); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1892); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype19 = type_nullable_parser_nodes__AVisibility.color; -idtype20 = type_nullable_parser_nodes__AVisibility.id; +cltype20 = type_nullable_parser_nodes__AVisibility.color; +idtype21 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var18 = 1; +var19 = 1; } else { -if(cltype19 >= var_pvisibilitynode4->type->table_size) { -var18 = 0; +if(cltype20 >= var_pvisibilitynode4->type->table_size) { +var19 = 0; } else { -var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; +var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; } } -if (unlikely(!var18)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2018); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1894); show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype22 = type_nullable_parser_nodes__AClasskind.color; -idtype23 = type_nullable_parser_nodes__AClasskind.id; +cltype23 = type_nullable_parser_nodes__AClasskind.color; +idtype24 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var21 = 1; +var22 = 1; } else { -if(cltype22 >= var_pclasskindnode5->type->table_size) { -var21 = 0; +if(cltype23 >= var_pclasskindnode5->type->table_size) { +var22 = 0; } else { -var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; +var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; } } -if (unlikely(!var21)) { +if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2020); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1896); show_backtrace(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype25 = type_nullable_parser_nodes__TClassid.color; -idtype26 = type_nullable_parser_nodes__TClassid.id; +cltype26 = type_nullable_parser_nodes__TClassid.color; +idtype27 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var24 = 1; +var25 = 1; } else { -if(cltype25 >= var_tclassidnode6->type->table_size) { -var24 = 0; +if(cltype26 >= var_tclassidnode6->type->table_size) { +var25 = 0; } else { -var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; +var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; } } -if (unlikely(!var24)) { +if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2022); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1898); show_backtrace(1); } var_listnode7 = var_nodearraylist7; /* isa Array[Object] */ -cltype28 = type_array__Arraykernel__Object.color; -idtype29 = type_array__Arraykernel__Object.id; +cltype29 = type_array__Arraykernel__Object.color; +idtype30 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var27 = 0; +var28 = 0; } else { -if(cltype28 >= var_listnode7->type->table_size) { -var27 = 0; +if(cltype29 >= var_listnode7->type->table_size) { +var28 = 0; } else { -var27 = var_listnode7->type->type_table[cltype28] == idtype29; +var28 = var_listnode7->type->type_table[cltype29] == idtype30; } } -if (unlikely(!var27)) { +if (unlikely(!var28)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2024); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1900); show_backtrace(1); } { -var30 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); +var31 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } -var_listnode8 = var30; +var_listnode8 = var31; +var32 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var32->class->vft[COLOR_kernel__Object__init]))(var32) /* init on */; +} +var_listnode13 = var32; var_listnode12 = var_nodearraylist8; /* isa Array[Object] */ -cltype32 = type_array__Arraykernel__Object.color; -idtype33 = type_array__Arraykernel__Object.id; +cltype34 = type_array__Arraykernel__Object.color; +idtype35 = type_array__Arraykernel__Object.id; if(var_listnode12 == NULL) { -var31 = 0; +var33 = 0; } else { -if(cltype32 >= var_listnode12->type->table_size) { -var31 = 0; +if(cltype34 >= var_listnode12->type->table_size) { +var33 = 0; } else { -var31 = var_listnode12->type->type_table[cltype32] == idtype33; +var33 = var_listnode12->type->type_table[cltype34] == idtype35; } } -if (unlikely(!var31)) { +if (unlikely(!var33)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2027); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1904); show_backtrace(1); } { -var34 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); +var36 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); } -var_listnode13 = var34; -var_tkwendnode14 = var_nodearraylist10; -/* isa nullable TKwend */ -cltype36 = type_nullable_parser_nodes__TKwend.color; -idtype37 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode14 == NULL) { -var35 = 1; +var_listnode13 = var36; +var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var38 = NULL; +var39 = NULL; +var40 = NULL; +{ +parser_prod__AAnnotations__init_aannotations(var37, var38, var39, var_listnode13, var40); /* Direct call parser_prod#AAnnotations#init_aannotations on */ +} +var_pannotationsnode9 = var37; +var_pexterncodeblocknode15 = var_nodearraylist9; +/* isa nullable AExternCodeBlock */ +cltype42 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype43 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode15 == NULL) { +var41 = 1; } else { -if(cltype36 >= var_tkwendnode14->type->table_size) { -var35 = 0; +if(cltype42 >= var_pexterncodeblocknode15->type->table_size) { +var41 = 0; } else { -var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37; +var41 = var_pexterncodeblocknode15->type->type_table[cltype42] == idtype43; } } -if (unlikely(!var35)) { +if (unlikely(!var41)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2030); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1913); show_backtrace(1); } -var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var39 = NULL; -var40 = NULL; +var_tkwendnode18 = var_nodearraylist11; +/* isa nullable TKwend */ +cltype45 = type_nullable_parser_nodes__TKwend.color; +idtype46 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode18 == NULL) { +var44 = 1; +} else { +if(cltype45 >= var_tkwendnode18->type->table_size) { +var44 = 0; +} else { +var44 = var_tkwendnode18->type->type_table[cltype45] == idtype46; +} +} +if (unlikely(!var44)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1915); +show_backtrace(1); +} +var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); { -parser_prod__AStdClassdef__init_astdclassdef(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode11, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AStdClassdef__init_astdclassdef(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var38; +var_pclassdefnode1 = var47; var_node_list = var_pclassdefnode1; -var41 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var48 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var42 = parser_work__Parser__go_to(var_p, var41); +var49 = parser_work__Parser__go_to(var_p, var48); } { -parser_work__Parser__push(var_p, var42, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var49, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction34#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction34__action(val* self, val* p0) { -parser__ReduceAction34__action(self, p0); /* Direct call parser#ReduceAction34#action on */ +/* method parser#ReduceAction29#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction29__action(val* self, val* p0) { +parser__ReduceAction29__action(self, p0); /* Direct call parser#ReduceAction29#action on */ RET_LABEL:; } -/* method parser#ReduceAction35#action for (self: ReduceAction35, Parser) */ -void parser__ReduceAction35__action(val* self, val* p0) { +/* method parser#ReduceAction30#action for (self: ReduceAction30, Parser) */ +void parser__ReduceAction30__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var2 /* : nullable Object */; val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; +val* var11 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; +val* var12 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var14 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; +short int var21 /* : Bool */; +int cltype22; +int idtype23; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; +short int var24 /* : Bool */; +int cltype25; +int idtype26; 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 */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : Array[Object] */; +val* var_listnode11 /* var listnode11: nullable Object */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : Array[Object] */; +val* var_tkwendnode14 /* var tkwendnode14: nullable Object */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +val* var38 /* : AStdClassdef */; val* var39 /* : null */; val* var40 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_listnode17 /* var listnode17: nullable Object */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -val* var44 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -val* var48 /* : AStdClassdef */; -val* var49 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var50 /* : Int */; -long var51 /* : Int */; +long var41 /* : Int */; +long var42 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist10 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist9 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var3; +var_nodearraylist8 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var4; +var_nodearraylist7 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var5; +var_nodearraylist6 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var6; +var_nodearraylist5 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var7; +var_nodearraylist4 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var8; +var_nodearraylist3 = var8; { var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var9; +var_nodearraylist2 = var9; { var10 = parser_work__Parser__pop(var_p); } -var_nodearraylist2 = var10; +var_nodearraylist1 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); { -var11 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var11->class->vft[COLOR_kernel__Object__init]))(var11) /* init on */; } -var_nodearraylist1 = var11; +var_listnode8 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var12); /* Direct call array#Array#init on */ +((void (*)(val*))(var12->class->vft[COLOR_kernel__Object__init]))(var12) /* init on */; } -var_listnode8 = var12; +var_listnode12 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var13); /* Direct call array#Array#init on */ -} -var_listnode16 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var14); /* Direct call array#Array#init on */ +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; } -var_listnode18 = var14; +var_listnode13 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var15 = 1; +var14 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; +var14 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var14 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var15)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2068); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1952); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype17 = type_nullable_parser_nodes__TKwredef.color; -idtype18 = type_nullable_parser_nodes__TKwredef.id; +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var16 = 1; +var15 = 1; } else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; +if(cltype16 >= var_tkwredefnode3->type->table_size) { +var15 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; } } -if (unlikely(!var16)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2070); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1954); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype20 = type_nullable_parser_nodes__AVisibility.color; -idtype21 = type_nullable_parser_nodes__AVisibility.id; +cltype19 = type_nullable_parser_nodes__AVisibility.color; +idtype20 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var18 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype19 >= var_pvisibilitynode4->type->table_size) { +var18 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; } } -if (unlikely(!var19)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2072); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1956); show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype23 = type_nullable_parser_nodes__AClasskind.color; -idtype24 = type_nullable_parser_nodes__AClasskind.id; +cltype22 = type_nullable_parser_nodes__AClasskind.color; +idtype23 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var22 = 1; +var21 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype22 >= var_pclasskindnode5->type->table_size) { +var21 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; } } -if (unlikely(!var22)) { +if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2074); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1958); show_backtrace(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype26 = type_nullable_parser_nodes__TClassid.color; -idtype27 = type_nullable_parser_nodes__TClassid.id; +cltype25 = type_nullable_parser_nodes__TClassid.color; +idtype26 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var25 = 1; +var24 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; +if(cltype25 >= var_tclassidnode6->type->table_size) { +var24 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; } } -if (unlikely(!var25)) { +if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2076); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1960); show_backtrace(1); } var_listnode7 = var_nodearraylist7; /* isa Array[Object] */ -cltype29 = type_array__Arraykernel__Object.color; -idtype30 = type_array__Arraykernel__Object.id; +cltype28 = type_array__Arraykernel__Object.color; +idtype29 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var28 = 0; -} else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; -} else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; -} -} -if (unlikely(!var28)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2078); -show_backtrace(1); -} -{ -var31 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); -} -var_listnode8 = var31; -var32 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var32); /* Direct call array#Array#init on */ -} -var_listnode13 = var32; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype34 = type_array__Arraykernel__Object.color; -idtype35 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var33 = 0; +var27 = 0; } else { -if(cltype34 >= var_listnode12->type->table_size) { -var33 = 0; +if(cltype28 >= var_listnode7->type->table_size) { +var27 = 0; } else { -var33 = var_listnode12->type->type_table[cltype34] == idtype35; +var27 = var_listnode7->type->type_table[cltype28] == idtype29; } } -if (unlikely(!var33)) { +if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2082); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1962); show_backtrace(1); } { -var36 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); -} -var_listnode13 = var36; -var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var38 = NULL; -var39 = NULL; -var40 = NULL; -{ -parser_prod__AAnnotations__init_aannotations(var37, var38, var39, var_listnode13, var40); /* Direct call parser_prod#AAnnotations#init_aannotations on */ +var30 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } -var_pannotationsnode9 = var37; -var_listnode17 = var_nodearraylist9; -/* isa Array[Object] */ -cltype42 = type_array__Arraykernel__Object.color; -idtype43 = type_array__Arraykernel__Object.id; -if(var_listnode17 == NULL) { -var41 = 0; +var_listnode8 = 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; } else { -if(cltype42 >= var_listnode17->type->table_size) { -var41 = 0; +if(cltype32 >= var_listnode11->type->table_size) { +var31 = 0; } else { -var41 = var_listnode17->type->type_table[cltype42] == idtype43; +var31 = var_listnode11->type->type_table[cltype32] == idtype33; } } -if (unlikely(!var41)) { +if (unlikely(!var31)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2091); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1965); show_backtrace(1); } { -var44 = parser_work__ReduceAction__concat(self, var_listnode18, var_listnode17); +var34 = parser_work__ReduceAction__concat(self, var_listnode12, var_listnode11); } -var_listnode18 = var44; -var_tkwendnode19 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype46 = type_nullable_parser_nodes__TKwend.color; -idtype47 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode19 == NULL) { -var45 = 1; +var_listnode12 = var34; +var_tkwendnode14 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype36 = type_nullable_parser_nodes__TKwend.color; +idtype37 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode14 == NULL) { +var35 = 1; } else { -if(cltype46 >= var_tkwendnode19->type->table_size) { -var45 = 0; +if(cltype36 >= var_tkwendnode14->type->table_size) { +var35 = 0; } else { -var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47; +var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37; } } -if (unlikely(!var45)) { +if (unlikely(!var35)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2094); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 1968); show_backtrace(1); } -var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var49 = NULL; +var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var39 = NULL; +var40 = NULL; { -parser_prod__AStdClassdef__init_astdclassdef(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode16, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AStdClassdef__init_astdclassdef(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode12, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var48; +var_pclassdefnode1 = var38; var_node_list = var_pclassdefnode1; -var50 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var41 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var51 = parser_work__Parser__go_to(var_p, var50); +var42 = parser_work__Parser__go_to(var_p, var41); } { -parser_work__Parser__push(var_p, var51, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var42, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction35#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction35__action(val* self, val* p0) { -parser__ReduceAction35__action(self, p0); /* Direct call parser#ReduceAction35#action on */ +/* method parser#ReduceAction30#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction30__action(val* self, val* p0) { +parser__ReduceAction30__action(self, p0); /* Direct call parser#ReduceAction30#action on */ RET_LABEL:; } -/* method parser#ReduceAction36#action for (self: ReduceAction36, Parser) */ -void parser__ReduceAction36__action(val* self, val* p0) { +/* method parser#ReduceAction31#action for (self: ReduceAction31, Parser) */ +void parser__ReduceAction31__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -3787,9 +3501,9 @@ val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var12 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; val* var14 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode18 /* var listnode18: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var15 /* : Bool */; int cltype; @@ -3815,24 +3529,32 @@ short int var28 /* : Bool */; int cltype29; int idtype30; val* var31 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; +val* var32 /* : 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* var_tkwendnode14 /* var tkwendnode14: nullable Object */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -val* var42 /* : AStdClassdef */; -val* var43 /* : null */; +short int var33 /* : Bool */; +int cltype34; +int idtype35; +val* var36 /* : Array[Object] */; +val* var37 /* : AAnnotations */; +val* var38 /* : null */; +val* var39 /* : null */; +val* var40 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_listnode16 /* var listnode16: nullable Object */; +short int var41 /* : Bool */; +int cltype42; +int idtype43; +val* var44 /* : Array[Object] */; +val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; +short int var45 /* : Bool */; +int cltype46; +int idtype47; +val* var48 /* : AStdClassdef */; +val* var49 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var44 /* : Int */; -long var45 /* : Int */; +long var50 /* : Int */; +long var51 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -3882,19 +3604,19 @@ var11 = parser_work__Parser__pop(var_p); var_nodearraylist1 = var11; var12 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var12); /* Direct call array#Array#init on */ +((void (*)(val*))(var12->class->vft[COLOR_kernel__Object__init]))(var12) /* init on */; } var_listnode8 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var13); /* Direct call array#Array#init on */ +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; } -var_listnode11 = var13; +var_listnode17 = var13; var14 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var14); /* Direct call array#Array#init on */ +((void (*)(val*))(var14->class->vft[COLOR_kernel__Object__init]))(var14) /* init on */; } -var_listnode13 = var14; +var_listnode18 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; @@ -3910,7 +3632,7 @@ var15 = var_pdocnode2->type->type_table[cltype] == idtype; } if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2132); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2006); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; @@ -3928,7 +3650,7 @@ var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; } if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2134); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2008); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; @@ -3946,7 +3668,7 @@ var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; } if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2136); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2010); show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; @@ -3964,7 +3686,7 @@ var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; } if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2138); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2012); show_backtrace(1); } var_tclassidnode6 = var_nodearraylist6; @@ -3982,7 +3704,7 @@ var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; } if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2140); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2014); show_backtrace(1); } var_listnode7 = var_nodearraylist7; @@ -4000,5416 +3722,5486 @@ var28 = var_listnode7->type->type_table[cltype29] == idtype30; } if (unlikely(!var28)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2142); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2016); show_backtrace(1); } { var31 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } var_listnode8 = var31; -var_pexterncodeblocknode10 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var32 = 1; +var32 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var32->class->vft[COLOR_kernel__Object__init]))(var32) /* init on */; +} +var_listnode13 = var32; +var_listnode12 = var_nodearraylist8; +/* isa Array[Object] */ +cltype34 = type_array__Arraykernel__Object.color; +idtype35 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var33 = 0; } else { -if(cltype33 >= var_pexterncodeblocknode10->type->table_size) { -var32 = 0; +if(cltype34 >= var_listnode12->type->table_size) { +var33 = 0; } else { -var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34; +var33 = var_listnode12->type->type_table[cltype34] == idtype35; } } -if (unlikely(!var32)) { +if (unlikely(!var33)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2145); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2020); show_backtrace(1); } -var_listnode12 = var_nodearraylist9; -/* isa Array[Object] */ -cltype36 = type_array__Arraykernel__Object.color; -idtype37 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var35 = 0; +{ +var36 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); +} +var_listnode13 = var36; +var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var38 = NULL; +var39 = NULL; +var40 = NULL; +{ +parser_prod__AAnnotations__init_aannotations(var37, var38, var39, var_listnode13, var40); /* Direct call parser_prod#AAnnotations#init_aannotations on */ +} +var_pannotationsnode9 = var37; +var_listnode16 = var_nodearraylist9; +/* isa Array[Object] */ +cltype42 = type_array__Arraykernel__Object.color; +idtype43 = type_array__Arraykernel__Object.id; +if(var_listnode16 == NULL) { +var41 = 0; } else { -if(cltype36 >= var_listnode12->type->table_size) { -var35 = 0; +if(cltype42 >= var_listnode16->type->table_size) { +var41 = 0; } else { -var35 = var_listnode12->type->type_table[cltype36] == idtype37; +var41 = var_listnode16->type->type_table[cltype42] == idtype43; } } -if (unlikely(!var35)) { +if (unlikely(!var41)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2147); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2029); show_backtrace(1); } { -var38 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); +var44 = parser_work__ReduceAction__concat(self, var_listnode17, var_listnode16); } -var_listnode13 = var38; -var_tkwendnode14 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype40 = type_nullable_parser_nodes__TKwend.color; -idtype41 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode14 == NULL) { -var39 = 1; +var_listnode17 = var44; +var_tkwendnode19 = var_nodearraylist11; +/* isa nullable TKwend */ +cltype46 = type_nullable_parser_nodes__TKwend.color; +idtype47 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode19 == NULL) { +var45 = 1; } else { -if(cltype40 >= var_tkwendnode14->type->table_size) { -var39 = 0; +if(cltype46 >= var_tkwendnode19->type->table_size) { +var45 = 0; } else { -var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41; +var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47; } } -if (unlikely(!var39)) { +if (unlikely(!var45)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2150); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2032); show_backtrace(1); } -var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var43 = NULL; +var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var49 = NULL; { -parser_prod__AStdClassdef__init_astdclassdef(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var43, var_pexterncodeblocknode10, var_listnode11, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AStdClassdef__init_astdclassdef(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode17, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var42; +var_pclassdefnode1 = var48; var_node_list = var_pclassdefnode1; -var44 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var50 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var45 = parser_work__Parser__go_to(var_p, var44); +var51 = parser_work__Parser__go_to(var_p, var50); } { -parser_work__Parser__push(var_p, var45, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var51, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction36#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction36__action(val* self, val* p0) { -parser__ReduceAction36__action(self, p0); /* Direct call parser#ReduceAction36#action on */ +/* method parser#ReduceAction31#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction31__action(val* self, val* p0) { +parser__ReduceAction31__action(self, p0); /* Direct call parser#ReduceAction31#action on */ RET_LABEL:; } -/* method parser#ReduceAction37#action for (self: ReduceAction37, Parser) */ -void parser__ReduceAction37__action(val* self, val* p0) { +/* method parser#ReduceAction32#action for (self: ReduceAction32, Parser) */ +void parser__ReduceAction32__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var2 /* : nullable Object */; val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var11 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var12 /* : nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var13 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; +val* var13 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; val* var14 /* : Array[Object] */; -val* var_listnode16 /* var listnode16: Array[Object] */; -val* var15 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var16 /* : Bool */; +short int var15 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; +short int var22 /* : Bool */; +int cltype23; +int idtype24; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; +short int var25 /* : Bool */; +int cltype26; +int idtype27; val* var_listnode7 /* var listnode7: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var32 /* : Array[Object] */; -val* var33 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; -val* var_listnode12 /* var listnode12: nullable Object */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -val* var37 /* : Array[Object] */; -val* var38 /* : AAnnotations */; -val* var39 /* : null */; -val* var40 /* : null */; -val* var41 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -val* var_listnode17 /* var listnode17: nullable Object */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -val* var48 /* : Array[Object] */; -val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; -short int var49 /* : Bool */; -int cltype50; -int idtype51; -val* var52 /* : AStdClassdef */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var31 /* : Array[Object] */; +val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; +val* var_listnode11 /* var listnode11: nullable Object */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +val* var38 /* : Array[Object] */; +val* var_tkwendnode14 /* var tkwendnode14: nullable Object */; +short int var39 /* : Bool */; +int cltype40; +int idtype41; +val* var42 /* : AStdClassdef */; +val* var43 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var53 /* : Int */; -long var54 /* : Int */; +long var44 /* : Int */; +long var45 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist12 = var1; +var_nodearraylist11 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist11 = var2; +var_nodearraylist10 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var3; +var_nodearraylist9 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var4; +var_nodearraylist8 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var5; +var_nodearraylist7 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var6; +var_nodearraylist6 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var7; +var_nodearraylist5 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var8; +var_nodearraylist4 = var8; { var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var9; +var_nodearraylist3 = var9; { var10 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var10; +var_nodearraylist2 = var10; { var11 = parser_work__Parser__pop(var_p); } -var_nodearraylist2 = var11; +var_nodearraylist1 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); { -var12 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var12->class->vft[COLOR_kernel__Object__init]))(var12) /* init on */; } -var_nodearraylist1 = var12; +var_listnode8 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var13); /* Direct call array#Array#init on */ +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; } -var_listnode8 = var13; +var_listnode12 = var13; var14 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var14); /* Direct call array#Array#init on */ -} -var_listnode16 = var14; -var15 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var15); /* Direct call array#Array#init on */ +((void (*)(val*))(var14->class->vft[COLOR_kernel__Object__init]))(var14) /* init on */; } -var_listnode18 = var15; +var_listnode13 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var16 = 1; +var15 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var16 = 0; +var15 = 0; } else { -var16 = var_pdocnode2->type->type_table[cltype] == idtype; +var15 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var16)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2189); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2070); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype18 = type_nullable_parser_nodes__TKwredef.color; -idtype19 = type_nullable_parser_nodes__TKwredef.id; +cltype17 = type_nullable_parser_nodes__TKwredef.color; +idtype18 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var17 = 1; +var16 = 1; } else { -if(cltype18 >= var_tkwredefnode3->type->table_size) { -var17 = 0; +if(cltype17 >= var_tkwredefnode3->type->table_size) { +var16 = 0; } else { -var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; +var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; } } -if (unlikely(!var17)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2191); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2072); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype21 = type_nullable_parser_nodes__AVisibility.color; -idtype22 = type_nullable_parser_nodes__AVisibility.id; +cltype20 = type_nullable_parser_nodes__AVisibility.color; +idtype21 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var20 = 1; +var19 = 1; } else { -if(cltype21 >= var_pvisibilitynode4->type->table_size) { -var20 = 0; +if(cltype20 >= var_pvisibilitynode4->type->table_size) { +var19 = 0; } else { -var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; +var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; } } -if (unlikely(!var20)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2193); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2074); show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype24 = type_nullable_parser_nodes__AClasskind.color; -idtype25 = type_nullable_parser_nodes__AClasskind.id; +cltype23 = type_nullable_parser_nodes__AClasskind.color; +idtype24 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var23 = 1; +var22 = 1; } else { -if(cltype24 >= var_pclasskindnode5->type->table_size) { -var23 = 0; +if(cltype23 >= var_pclasskindnode5->type->table_size) { +var22 = 0; } else { -var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; +var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; } } -if (unlikely(!var23)) { +if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2195); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2076); show_backtrace(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype27 = type_nullable_parser_nodes__TClassid.color; -idtype28 = type_nullable_parser_nodes__TClassid.id; +cltype26 = type_nullable_parser_nodes__TClassid.color; +idtype27 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var26 = 1; +var25 = 1; } else { -if(cltype27 >= var_tclassidnode6->type->table_size) { -var26 = 0; +if(cltype26 >= var_tclassidnode6->type->table_size) { +var25 = 0; } else { -var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; +var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; } } -if (unlikely(!var26)) { +if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2197); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2078); show_backtrace(1); } var_listnode7 = var_nodearraylist7; /* isa Array[Object] */ -cltype30 = type_array__Arraykernel__Object.color; -idtype31 = type_array__Arraykernel__Object.id; +cltype29 = type_array__Arraykernel__Object.color; +idtype30 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var29 = 0; -} else { -if(cltype30 >= var_listnode7->type->table_size) { -var29 = 0; -} else { -var29 = var_listnode7->type->type_table[cltype30] == idtype31; -} -} -if (unlikely(!var29)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2199); -show_backtrace(1); -} -{ -var32 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); -} -var_listnode8 = var32; -var33 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var33); /* Direct call array#Array#init on */ -} -var_listnode13 = var33; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype35 = type_array__Arraykernel__Object.color; -idtype36 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var34 = 0; +var28 = 0; } else { -if(cltype35 >= var_listnode12->type->table_size) { -var34 = 0; +if(cltype29 >= var_listnode7->type->table_size) { +var28 = 0; } else { -var34 = var_listnode12->type->type_table[cltype35] == idtype36; +var28 = var_listnode7->type->type_table[cltype29] == idtype30; } } -if (unlikely(!var34)) { +if (unlikely(!var28)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2203); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2080); show_backtrace(1); } { -var37 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); -} -var_listnode13 = var37; -var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var39 = NULL; -var40 = NULL; -var41 = NULL; -{ -parser_prod__AAnnotations__init_aannotations(var38, var39, var40, var_listnode13, var41); /* Direct call parser_prod#AAnnotations#init_aannotations on */ +var31 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } -var_pannotationsnode9 = var38; -var_pexterncodeblocknode15 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype43 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype44 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode15 == NULL) { -var42 = 1; +var_listnode8 = var31; +var_pexterncodeblocknode10 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode10 == NULL) { +var32 = 1; } else { -if(cltype43 >= var_pexterncodeblocknode15->type->table_size) { -var42 = 0; +if(cltype33 >= var_pexterncodeblocknode10->type->table_size) { +var32 = 0; } else { -var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44; +var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34; } } -if (unlikely(!var42)) { +if (unlikely(!var32)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2212); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2083); show_backtrace(1); } -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; +var_listnode11 = var_nodearraylist9; +/* isa Array[Object] */ +cltype36 = type_array__Arraykernel__Object.color; +idtype37 = type_array__Arraykernel__Object.id; +if(var_listnode11 == NULL) { +var35 = 0; } else { -if(cltype46 >= var_listnode17->type->table_size) { -var45 = 0; +if(cltype36 >= var_listnode11->type->table_size) { +var35 = 0; } else { -var45 = var_listnode17->type->type_table[cltype46] == idtype47; +var35 = var_listnode11->type->type_table[cltype36] == idtype37; } } -if (unlikely(!var45)) { +if (unlikely(!var35)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2214); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2085); show_backtrace(1); } { -var48 = parser_work__ReduceAction__concat(self, var_listnode18, var_listnode17); +var38 = parser_work__ReduceAction__concat(self, var_listnode12, var_listnode11); } -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; +var_listnode12 = var38; +var_tkwendnode14 = var_nodearraylist11; +/* isa nullable TKwend */ +cltype40 = type_nullable_parser_nodes__TKwend.color; +idtype41 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode14 == NULL) { +var39 = 1; } else { -if(cltype50 >= var_tkwendnode19->type->table_size) { -var49 = 0; +if(cltype40 >= var_tkwendnode14->type->table_size) { +var39 = 0; } else { -var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51; +var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41; } } -if (unlikely(!var49)) { +if (unlikely(!var39)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2217); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2088); show_backtrace(1); } -var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var43 = NULL; { -parser_prod__AStdClassdef__init_astdclassdef(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AStdClassdef__init_astdclassdef(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var43, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var52; +var_pclassdefnode1 = var42; var_node_list = var_pclassdefnode1; -var53 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var44 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var54 = parser_work__Parser__go_to(var_p, var53); +var45 = parser_work__Parser__go_to(var_p, var44); } { -parser_work__Parser__push(var_p, var54, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var45, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction37#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction37__action(val* self, val* p0) { -parser__ReduceAction37__action(self, p0); /* Direct call parser#ReduceAction37#action on */ +/* method parser#ReduceAction32#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction32__action(val* self, val* p0) { +parser__ReduceAction32__action(self, p0); /* Direct call parser#ReduceAction32#action on */ RET_LABEL:; } -/* method parser#ReduceAction38#action for (self: ReduceAction38, Parser) */ -void parser__ReduceAction38__action(val* self, val* p0) { +/* method parser#ReduceAction33#action for (self: ReduceAction33, Parser) */ +void parser__ReduceAction33__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_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var9 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; val* var10 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; val* var11 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var12 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var12 /* : Array[Object] */; -val* var_listnode8 /* var listnode8: Array[Object] */; val* var13 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; val* var14 /* : Array[Object] */; -val* var_listnode14 /* var listnode14: Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; +val* var15 /* : Array[Object] */; +val* var_listnode18 /* var listnode18: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var15 /* : Bool */; +short int var16 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var17 /* : Bool */; +int cltype18; +int idtype19; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; +short int var20 /* : Bool */; +int cltype21; +int idtype22; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; +short int var23 /* : Bool */; +int cltype24; +int idtype25; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; +short int var26 /* : Bool */; +int cltype27; +int idtype28; val* var_listnode7 /* var listnode7: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : Array[Object] */; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: nullable Object */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; -val* var39 /* : Array[Object] */; -val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; -short int var40 /* : Bool */; -int cltype41; -int idtype42; -val* var43 /* : AStdClassdef */; -val* var44 /* : null */; -val* var45 /* : null */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var32 /* : Array[Object] */; +val* var33 /* : Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode12 /* var listnode12: nullable Object */; +short int var34 /* : Bool */; +int cltype35; +int idtype36; +val* var37 /* : Array[Object] */; +val* var38 /* : AAnnotations */; +val* var39 /* : null */; +val* var40 /* : null */; +val* var41 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; +short int var42 /* : Bool */; +int cltype43; +int idtype44; +val* var_listnode16 /* var listnode16: nullable Object */; +short int var45 /* : Bool */; +int cltype46; +int idtype47; +val* var48 /* : Array[Object] */; +val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; +short int var49 /* : Bool */; +int cltype50; +int idtype51; +val* var52 /* : AStdClassdef */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var46 /* : Int */; -long var47 /* : Int */; +long var53 /* : Int */; +long var54 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist12 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist11 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var3; +var_nodearraylist10 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var4; +var_nodearraylist9 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var5; +var_nodearraylist8 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var6; +var_nodearraylist7 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var7; +var_nodearraylist6 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var8; +var_nodearraylist5 = var8; { var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var9; +var_nodearraylist4 = var9; { var10 = parser_work__Parser__pop(var_p); } -var_nodearraylist2 = var10; +var_nodearraylist3 = var10; { var11 = parser_work__Parser__pop(var_p); } -var_nodearraylist1 = var11; -var12 = NEW_array__Array(&type_array__Arraykernel__Object); +var_nodearraylist2 = var11; { -array__Array__init(var12); /* Direct call array#Array#init on */ +var12 = parser_work__Parser__pop(var_p); } -var_listnode8 = var12; +var_nodearraylist1 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var13); /* Direct call array#Array#init on */ +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; } -var_listnode12 = var13; +var_listnode8 = var13; var14 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var14); /* Direct call array#Array#init on */ +((void (*)(val*))(var14->class->vft[COLOR_kernel__Object__init]))(var14) /* init on */; } -var_listnode14 = var14; +var_listnode17 = var14; +var15 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var15->class->vft[COLOR_kernel__Object__init]))(var15) /* init on */; +} +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) { -var15 = 1; +var16 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var15 = 0; +var16 = 0; } else { -var15 = var_pdocnode2->type->type_table[cltype] == idtype; +var16 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var15)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2255); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2127); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype17 = type_nullable_parser_nodes__TKwredef.color; -idtype18 = type_nullable_parser_nodes__TKwredef.id; +cltype18 = type_nullable_parser_nodes__TKwredef.color; +idtype19 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var16 = 1; +var17 = 1; } else { -if(cltype17 >= var_tkwredefnode3->type->table_size) { -var16 = 0; +if(cltype18 >= var_tkwredefnode3->type->table_size) { +var17 = 0; } else { -var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; +var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; } } -if (unlikely(!var16)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2257); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2129); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype20 = type_nullable_parser_nodes__AVisibility.color; -idtype21 = type_nullable_parser_nodes__AVisibility.id; +cltype21 = type_nullable_parser_nodes__AVisibility.color; +idtype22 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var19 = 1; +var20 = 1; } else { -if(cltype20 >= var_pvisibilitynode4->type->table_size) { -var19 = 0; +if(cltype21 >= var_pvisibilitynode4->type->table_size) { +var20 = 0; } else { -var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; +var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; } } -if (unlikely(!var19)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2259); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2131); show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype23 = type_nullable_parser_nodes__AClasskind.color; -idtype24 = type_nullable_parser_nodes__AClasskind.id; +cltype24 = type_nullable_parser_nodes__AClasskind.color; +idtype25 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var22 = 1; +var23 = 1; } else { -if(cltype23 >= var_pclasskindnode5->type->table_size) { -var22 = 0; +if(cltype24 >= var_pclasskindnode5->type->table_size) { +var23 = 0; } else { -var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; +var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; } } -if (unlikely(!var22)) { +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2261); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2133); show_backtrace(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype26 = type_nullable_parser_nodes__TClassid.color; -idtype27 = type_nullable_parser_nodes__TClassid.id; +cltype27 = type_nullable_parser_nodes__TClassid.color; +idtype28 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var25 = 1; +var26 = 1; } else { -if(cltype26 >= var_tclassidnode6->type->table_size) { -var25 = 0; +if(cltype27 >= var_tclassidnode6->type->table_size) { +var26 = 0; } else { -var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; +var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; } } -if (unlikely(!var25)) { +if (unlikely(!var26)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2263); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2135); show_backtrace(1); } var_listnode7 = var_nodearraylist7; /* isa Array[Object] */ -cltype29 = type_array__Arraykernel__Object.color; -idtype30 = type_array__Arraykernel__Object.id; +cltype30 = type_array__Arraykernel__Object.color; +idtype31 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var28 = 0; +var29 = 0; } else { -if(cltype29 >= var_listnode7->type->table_size) { -var28 = 0; +if(cltype30 >= var_listnode7->type->table_size) { +var29 = 0; } else { -var28 = var_listnode7->type->type_table[cltype29] == idtype30; +var29 = var_listnode7->type->type_table[cltype30] == idtype31; } } -if (unlikely(!var28)) { +if (unlikely(!var29)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2265); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2137); show_backtrace(1); } { -var31 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); +var32 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } -var_listnode8 = var31; -var_listnode11 = var_nodearraylist8; -/* isa Array[Object] */ -cltype33 = type_array__Arraykernel__Object.color; -idtype34 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var32 = 0; +var_listnode8 = var32; +var33 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var33->class->vft[COLOR_kernel__Object__init]))(var33) /* init on */; +} +var_listnode13 = var33; +var_listnode12 = var_nodearraylist8; +/* isa Array[Object] */ +cltype35 = type_array__Arraykernel__Object.color; +idtype36 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var34 = 0; } else { -if(cltype33 >= var_listnode11->type->table_size) { -var32 = 0; +if(cltype35 >= var_listnode12->type->table_size) { +var34 = 0; } else { -var32 = var_listnode11->type->type_table[cltype33] == idtype34; +var34 = var_listnode12->type->type_table[cltype35] == idtype36; } } -if (unlikely(!var32)) { +if (unlikely(!var34)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2268); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2141); show_backtrace(1); } { -var35 = parser_work__ReduceAction__concat(self, var_listnode12, var_listnode11); +var37 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); } -var_listnode12 = var35; -var_listnode13 = var_nodearraylist9; -/* isa Array[Object] */ -cltype37 = type_array__Arraykernel__Object.color; -idtype38 = type_array__Arraykernel__Object.id; -if(var_listnode13 == NULL) { -var36 = 0; +var_listnode13 = var37; +var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var39 = NULL; +var40 = NULL; +var41 = NULL; +{ +parser_prod__AAnnotations__init_aannotations(var38, var39, var40, var_listnode13, var41); /* Direct call parser_prod#AAnnotations#init_aannotations on */ +} +var_pannotationsnode9 = var38; +var_pexterncodeblocknode15 = var_nodearraylist9; +/* isa nullable AExternCodeBlock */ +cltype43 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype44 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode15 == NULL) { +var42 = 1; } else { -if(cltype37 >= var_listnode13->type->table_size) { -var36 = 0; +if(cltype43 >= var_pexterncodeblocknode15->type->table_size) { +var42 = 0; } else { -var36 = var_listnode13->type->type_table[cltype37] == idtype38; +var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44; } } -if (unlikely(!var36)) { +if (unlikely(!var42)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2150); +show_backtrace(1); +} +var_listnode16 = var_nodearraylist10; +/* isa Array[Object] */ +cltype46 = type_array__Arraykernel__Object.color; +idtype47 = type_array__Arraykernel__Object.id; +if(var_listnode16 == NULL) { +var45 = 0; +} else { +if(cltype46 >= var_listnode16->type->table_size) { +var45 = 0; +} else { +var45 = var_listnode16->type->type_table[cltype46] == idtype47; +} +} +if (unlikely(!var45)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2271); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2152); show_backtrace(1); } { -var39 = parser_work__ReduceAction__concat(self, var_listnode14, var_listnode13); +var48 = parser_work__ReduceAction__concat(self, var_listnode17, var_listnode16); } -var_listnode14 = var39; -var_tkwendnode15 = var_nodearraylist11; -/* isa nullable TKwend */ -cltype41 = type_nullable_parser_nodes__TKwend.color; -idtype42 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode15 == NULL) { -var40 = 1; +var_listnode17 = 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(cltype41 >= var_tkwendnode15->type->table_size) { -var40 = 0; +if(cltype50 >= var_tkwendnode19->type->table_size) { +var49 = 0; } else { -var40 = var_tkwendnode15->type->type_table[cltype41] == idtype42; +var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51; } } -if (unlikely(!var40)) { +if (unlikely(!var49)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2274); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2155); show_backtrace(1); } -var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var44 = NULL; -var45 = NULL; +var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); { -parser_prod__AStdClassdef__init_astdclassdef(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var44, var45, var_listnode12, var_listnode14, var_tkwendnode15); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AStdClassdef__init_astdclassdef(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var43; +var_pclassdefnode1 = var52; var_node_list = var_pclassdefnode1; -var46 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var53 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var47 = parser_work__Parser__go_to(var_p, var46); +var54 = parser_work__Parser__go_to(var_p, var53); } { -parser_work__Parser__push(var_p, var47, var_node_list); /* Direct call parser_work#Parser#push on */ -} -RET_LABEL:; +parser_work__Parser__push(var_p, var54, var_node_list); /* Direct call parser_work#Parser#push on */ } -/* method parser#ReduceAction38#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction38__action(val* self, val* p0) { -parser__ReduceAction38__action(self, p0); /* Direct call parser#ReduceAction38#action on */ RET_LABEL:; } -/* method parser#ReduceAction39#action for (self: ReduceAction39, Parser) */ -void parser__ReduceAction39__action(val* self, val* p0) { +/* method parser#ReduceAction33#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction33__action(val* self, val* p0) { +parser__ReduceAction33__action(self, p0); /* Direct call parser#ReduceAction33#action on */ +RET_LABEL:; +} +/* method parser#ReduceAction34#action for (self: ReduceAction34, Parser) */ +void parser__ReduceAction34__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var3 /* : nullable Object */; val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var10 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var11 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var12 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var13 /* : Array[Object] */; +val* var11 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; -val* var14 /* : Array[Object] */; -val* var_listnode17 /* var listnode17: Array[Object] */; -val* var15 /* : Array[Object] */; -val* var_listnode19 /* var listnode19: Array[Object] */; +val* var12 /* : Array[Object] */; +val* var_listnode11 /* var listnode11: Array[Object] */; +val* var13 /* : Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var16 /* : Bool */; +short int var14 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var15 /* : Bool */; +int cltype16; +int idtype17; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var18 /* : Bool */; +int cltype19; +int idtype20; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; +short int var21 /* : Bool */; +int cltype22; +int idtype23; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; +short int var24 /* : Bool */; +int cltype25; +int idtype26; val* var_listnode7 /* var listnode7: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var32 /* : Array[Object] */; -val* var33 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: Array[Object] */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var30 /* : Array[Object] */; val* var_listnode12 /* var listnode12: nullable Object */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -val* var37 /* : Array[Object] */; -val* var38 /* : AAnnotations */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +val* var34 /* : Array[Object] */; +val* var_tkwendnode14 /* var tkwendnode14: nullable Object */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +val* var38 /* : AStdClassdef */; val* var39 /* : null */; val* var40 /* : null */; -val* var41 /* : null */; -val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; -val* var_listnode16 /* var listnode16: nullable Object */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -val* var45 /* : Array[Object] */; -val* var_listnode18 /* var listnode18: nullable Object */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -val* var49 /* : Array[Object] */; -val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; -short int var50 /* : Bool */; -int cltype51; -int idtype52; -val* var53 /* : AStdClassdef */; -val* var54 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var55 /* : Int */; -long var56 /* : Int */; +long var41 /* : Int */; +long var42 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist12 = var1; +var_nodearraylist10 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist11 = var2; +var_nodearraylist9 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var3; +var_nodearraylist8 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var4; +var_nodearraylist7 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var5; +var_nodearraylist6 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var6; +var_nodearraylist5 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var7; +var_nodearraylist4 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var8; +var_nodearraylist3 = var8; { var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var9; +var_nodearraylist2 = var9; { var10 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var10; +var_nodearraylist1 = var10; +var11 = NEW_array__Array(&type_array__Arraykernel__Object); { -var11 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var11->class->vft[COLOR_kernel__Object__init]))(var11) /* init on */; } -var_nodearraylist2 = var11; +var_listnode8 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); { -var12 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var12->class->vft[COLOR_kernel__Object__init]))(var12) /* init on */; } -var_nodearraylist1 = var12; +var_listnode11 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var13); /* Direct call array#Array#init on */ -} -var_listnode8 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var14); /* Direct call array#Array#init on */ -} -var_listnode17 = var14; -var15 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var15); /* Direct call array#Array#init on */ +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; } -var_listnode19 = var15; +var_listnode13 = var13; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var16 = 1; +var14 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var16 = 0; +var14 = 0; } else { -var16 = var_pdocnode2->type->type_table[cltype] == idtype; +var14 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var16)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2313); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2192); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype18 = type_nullable_parser_nodes__TKwredef.color; -idtype19 = type_nullable_parser_nodes__TKwredef.id; +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var17 = 1; +var15 = 1; } else { -if(cltype18 >= var_tkwredefnode3->type->table_size) { -var17 = 0; +if(cltype16 >= var_tkwredefnode3->type->table_size) { +var15 = 0; } else { -var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; +var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17; } } -if (unlikely(!var17)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2315); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2194); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype21 = type_nullable_parser_nodes__AVisibility.color; -idtype22 = type_nullable_parser_nodes__AVisibility.id; +cltype19 = type_nullable_parser_nodes__AVisibility.color; +idtype20 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var20 = 1; +var18 = 1; } else { -if(cltype21 >= var_pvisibilitynode4->type->table_size) { -var20 = 0; +if(cltype19 >= var_pvisibilitynode4->type->table_size) { +var18 = 0; } else { -var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; +var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20; } } -if (unlikely(!var20)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2317); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2196); show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype24 = type_nullable_parser_nodes__AClasskind.color; -idtype25 = type_nullable_parser_nodes__AClasskind.id; +cltype22 = type_nullable_parser_nodes__AClasskind.color; +idtype23 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var23 = 1; -} else { -if(cltype24 >= var_pclasskindnode5->type->table_size) { -var23 = 0; -} else { -var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; -} -} -if (unlikely(!var23)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2319); -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; -} else { -if(cltype27 >= var_tclassidnode6->type->table_size) { -var26 = 0; -} else { -var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; -} -} -if (unlikely(!var26)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2321); -show_backtrace(1); -} -var_listnode7 = var_nodearraylist7; -/* isa Array[Object] */ -cltype30 = type_array__Arraykernel__Object.color; -idtype31 = type_array__Arraykernel__Object.id; -if(var_listnode7 == NULL) { -var29 = 0; -} else { -if(cltype30 >= var_listnode7->type->table_size) { -var29 = 0; -} else { -var29 = var_listnode7->type->type_table[cltype30] == idtype31; -} -} -if (unlikely(!var29)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2323); -show_backtrace(1); -} -{ -var32 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); -} -var_listnode8 = var32; -var33 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var33); /* Direct call array#Array#init on */ -} -var_listnode13 = var33; -var_listnode12 = var_nodearraylist8; -/* isa Array[Object] */ -cltype35 = type_array__Arraykernel__Object.color; -idtype36 = type_array__Arraykernel__Object.id; -if(var_listnode12 == NULL) { -var34 = 0; +var21 = 1; } else { -if(cltype35 >= var_listnode12->type->table_size) { -var34 = 0; +if(cltype22 >= var_pclasskindnode5->type->table_size) { +var21 = 0; } else { -var34 = var_listnode12->type->type_table[cltype35] == idtype36; +var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23; } } -if (unlikely(!var34)) { +if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2327); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2198); show_backtrace(1); } -{ -var37 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); +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; +} else { +var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26; } -var_listnode13 = var37; -var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var39 = NULL; -var40 = NULL; -var41 = NULL; -{ -parser_prod__AAnnotations__init_aannotations(var38, var39, var40, var_listnode13, var41); /* Direct call parser_prod#AAnnotations#init_aannotations on */ } -var_pannotationsnode9 = var38; -var_listnode16 = var_nodearraylist9; -/* isa Array[Object] */ -cltype43 = type_array__Arraykernel__Object.color; -idtype44 = type_array__Arraykernel__Object.id; -if(var_listnode16 == NULL) { -var42 = 0; +if (unlikely(!var24)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2200); +show_backtrace(1); +} +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype28 = type_array__Arraykernel__Object.color; +idtype29 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var27 = 0; } else { -if(cltype43 >= var_listnode16->type->table_size) { -var42 = 0; +if(cltype28 >= var_listnode7->type->table_size) { +var27 = 0; } else { -var42 = var_listnode16->type->type_table[cltype43] == idtype44; +var27 = var_listnode7->type->type_table[cltype28] == idtype29; } } -if (unlikely(!var42)) { +if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2336); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2202); show_backtrace(1); } { -var45 = parser_work__ReduceAction__concat(self, var_listnode17, var_listnode16); +var30 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } -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; +var_listnode8 = var30; +var_listnode12 = var_nodearraylist8; +/* isa Array[Object] */ +cltype32 = type_array__Arraykernel__Object.color; +idtype33 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var31 = 0; } else { -if(cltype47 >= var_listnode18->type->table_size) { -var46 = 0; +if(cltype32 >= var_listnode12->type->table_size) { +var31 = 0; } else { -var46 = var_listnode18->type->type_table[cltype47] == idtype48; +var31 = var_listnode12->type->type_table[cltype32] == idtype33; } } -if (unlikely(!var46)) { +if (unlikely(!var31)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2339); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2205); show_backtrace(1); } { -var49 = parser_work__ReduceAction__concat(self, var_listnode19, var_listnode18); +var34 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); } -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; +var_listnode13 = var34; +var_tkwendnode14 = var_nodearraylist10; +/* isa nullable TKwend */ +cltype36 = type_nullable_parser_nodes__TKwend.color; +idtype37 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode14 == NULL) { +var35 = 1; } else { -if(cltype51 >= var_tkwendnode20->type->table_size) { -var50 = 0; +if(cltype36 >= var_tkwendnode14->type->table_size) { +var35 = 0; } else { -var50 = var_tkwendnode20->type->type_table[cltype51] == idtype52; +var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37; } } -if (unlikely(!var50)) { +if (unlikely(!var35)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2342); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2208); show_backtrace(1); } -var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var54 = NULL; +var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var39 = NULL; +var40 = NULL; { -parser_prod__AStdClassdef__init_astdclassdef(var53, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var54, var_listnode17, var_listnode19, var_tkwendnode20); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AStdClassdef__init_astdclassdef(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode11, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var53; +var_pclassdefnode1 = var38; var_node_list = var_pclassdefnode1; -var55 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var41 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var56 = parser_work__Parser__go_to(var_p, var55); +var42 = parser_work__Parser__go_to(var_p, var41); } { -parser_work__Parser__push(var_p, var56, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var42, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction39#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction39__action(val* self, val* p0) { -parser__ReduceAction39__action(self, p0); /* Direct call parser#ReduceAction39#action on */ +/* method parser#ReduceAction34#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction34__action(val* self, val* p0) { +parser__ReduceAction34__action(self, p0); /* Direct call parser#ReduceAction34#action on */ RET_LABEL:; } -/* method parser#ReduceAction40#action for (self: ReduceAction40, Parser) */ -void parser__ReduceAction40__action(val* self, val* p0) { +/* method parser#ReduceAction35#action for (self: ReduceAction35, Parser) */ +void parser__ReduceAction35__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; -val* var2 /* : nullable Object */; val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var4 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var5 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var6 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var7 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var8 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var9 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var10 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var11 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var12 /* : nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var13 /* : Array[Object] */; +val* var12 /* : Array[Object] */; val* var_listnode8 /* var listnode8: Array[Object] */; +val* var13 /* : Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; val* var14 /* : Array[Object] */; -val* var_listnode12 /* var listnode12: 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 */; +short int var15 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; +short int var16 /* : Bool */; +int cltype17; +int idtype18; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; +short int var19 /* : Bool */; +int cltype20; +int idtype21; val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; +short int var22 /* : Bool */; +int cltype23; +int idtype24; val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; +short int var25 /* : Bool */; +int cltype26; +int idtype27; val* var_listnode7 /* var listnode7: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var31 /* : Array[Object] */; val* var32 /* : Array[Object] */; -val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; +val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode12 /* var listnode12: nullable Object */; short int var33 /* : Bool */; int cltype34; int idtype35; -val* var_listnode11 /* var listnode11: nullable Object */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; -val* var39 /* : Array[Object] */; -val* var_listnode13 /* var listnode13: nullable Object */; -short int var40 /* : Bool */; -int cltype41; -int idtype42; -val* var43 /* : Array[Object] */; -val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; -short int var44 /* : Bool */; -int cltype45; -int idtype46; -val* var47 /* : AStdClassdef */; -val* var48 /* : null */; +val* var36 /* : Array[Object] */; +val* var37 /* : AAnnotations */; +val* var38 /* : null */; +val* var39 /* : null */; +val* var40 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_listnode17 /* var listnode17: nullable Object */; +short int var41 /* : Bool */; +int cltype42; +int idtype43; +val* var44 /* : Array[Object] */; +val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; +short int var45 /* : Bool */; +int cltype46; +int idtype47; +val* var48 /* : AStdClassdef */; +val* var49 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var49 /* : Int */; long var50 /* : Int */; +long var51 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist12 = var1; +var_nodearraylist11 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist11 = var2; +var_nodearraylist10 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var3; +var_nodearraylist9 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var4; +var_nodearraylist8 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var5; +var_nodearraylist7 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var6; +var_nodearraylist6 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var7; +var_nodearraylist5 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var8; +var_nodearraylist4 = var8; { var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var9; +var_nodearraylist3 = var9; { var10 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var10; +var_nodearraylist2 = var10; { var11 = parser_work__Parser__pop(var_p); } -var_nodearraylist2 = var11; +var_nodearraylist1 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); { -var12 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var12->class->vft[COLOR_kernel__Object__init]))(var12) /* init on */; } -var_nodearraylist1 = var12; +var_listnode8 = var12; var13 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var13); /* Direct call array#Array#init on */ -} -var_listnode8 = var13; -var14 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var14); /* Direct call array#Array#init on */ -} -var_listnode12 = var14; -var15 = NEW_array__Array(&type_array__Arraykernel__Object); +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; +} +var_listnode16 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var15); /* Direct call array#Array#init on */ +((void (*)(val*))(var14->class->vft[COLOR_kernel__Object__init]))(var14) /* init on */; } -var_listnode14 = var15; +var_listnode18 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var16 = 1; +var15 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var16 = 0; +var15 = 0; } else { -var16 = var_pdocnode2->type->type_table[cltype] == idtype; +var15 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var16)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2381); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2246); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype18 = type_nullable_parser_nodes__TKwredef.color; -idtype19 = type_nullable_parser_nodes__TKwredef.id; +cltype17 = type_nullable_parser_nodes__TKwredef.color; +idtype18 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var17 = 1; +var16 = 1; } else { -if(cltype18 >= var_tkwredefnode3->type->table_size) { -var17 = 0; +if(cltype17 >= var_tkwredefnode3->type->table_size) { +var16 = 0; } else { -var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; +var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; } } -if (unlikely(!var17)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2383); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2248); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype21 = type_nullable_parser_nodes__AVisibility.color; -idtype22 = type_nullable_parser_nodes__AVisibility.id; +cltype20 = type_nullable_parser_nodes__AVisibility.color; +idtype21 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var20 = 1; +var19 = 1; } else { -if(cltype21 >= var_pvisibilitynode4->type->table_size) { -var20 = 0; +if(cltype20 >= var_pvisibilitynode4->type->table_size) { +var19 = 0; } else { -var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; +var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; } } -if (unlikely(!var20)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2385); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2250); show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* isa nullable AClasskind */ -cltype24 = type_nullable_parser_nodes__AClasskind.color; -idtype25 = type_nullable_parser_nodes__AClasskind.id; +cltype23 = type_nullable_parser_nodes__AClasskind.color; +idtype24 = type_nullable_parser_nodes__AClasskind.id; if(var_pclasskindnode5 == NULL) { -var23 = 1; +var22 = 1; } else { -if(cltype24 >= var_pclasskindnode5->type->table_size) { -var23 = 0; +if(cltype23 >= var_pclasskindnode5->type->table_size) { +var22 = 0; } else { -var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; +var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; } } -if (unlikely(!var23)) { +if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2387); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2252); show_backtrace(1); } var_tclassidnode6 = var_nodearraylist6; /* isa nullable TClassid */ -cltype27 = type_nullable_parser_nodes__TClassid.color; -idtype28 = type_nullable_parser_nodes__TClassid.id; +cltype26 = type_nullable_parser_nodes__TClassid.color; +idtype27 = type_nullable_parser_nodes__TClassid.id; if(var_tclassidnode6 == NULL) { -var26 = 1; +var25 = 1; } else { -if(cltype27 >= var_tclassidnode6->type->table_size) { -var26 = 0; +if(cltype26 >= var_tclassidnode6->type->table_size) { +var25 = 0; } else { -var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; +var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; } } -if (unlikely(!var26)) { +if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2389); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2254); show_backtrace(1); } var_listnode7 = var_nodearraylist7; /* isa Array[Object] */ -cltype30 = type_array__Arraykernel__Object.color; -idtype31 = type_array__Arraykernel__Object.id; +cltype29 = type_array__Arraykernel__Object.color; +idtype30 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var29 = 0; +var28 = 0; } else { -if(cltype30 >= var_listnode7->type->table_size) { -var29 = 0; +if(cltype29 >= var_listnode7->type->table_size) { +var28 = 0; } else { -var29 = var_listnode7->type->type_table[cltype30] == idtype31; +var28 = var_listnode7->type->type_table[cltype29] == idtype30; } } -if (unlikely(!var29)) { +if (unlikely(!var28)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2391); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2256); show_backtrace(1); } { -var32 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); +var31 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } -var_listnode8 = var32; -var_pexterncodeblocknode10 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode10 == NULL) { -var33 = 1; +var_listnode8 = var31; +var32 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var32->class->vft[COLOR_kernel__Object__init]))(var32) /* init on */; +} +var_listnode13 = var32; +var_listnode12 = var_nodearraylist8; +/* isa Array[Object] */ +cltype34 = type_array__Arraykernel__Object.color; +idtype35 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var33 = 0; } else { -if(cltype34 >= var_pexterncodeblocknode10->type->table_size) { +if(cltype34 >= var_listnode12->type->table_size) { var33 = 0; } else { -var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35; +var33 = var_listnode12->type->type_table[cltype34] == idtype35; } } if (unlikely(!var33)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2394); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2260); show_backtrace(1); } -var_listnode11 = var_nodearraylist9; -/* isa Array[Object] */ -cltype37 = type_array__Arraykernel__Object.color; -idtype38 = type_array__Arraykernel__Object.id; -if(var_listnode11 == NULL) { -var36 = 0; -} else { -if(cltype37 >= var_listnode11->type->table_size) { -var36 = 0; -} else { -var36 = var_listnode11->type->type_table[cltype37] == idtype38; -} -} -if (unlikely(!var36)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2396); -show_backtrace(1); +{ +var36 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); } +var_listnode13 = var36; +var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var38 = NULL; +var39 = NULL; +var40 = NULL; { -var39 = parser_work__ReduceAction__concat(self, var_listnode12, var_listnode11); +parser_prod__AAnnotations__init_aannotations(var37, var38, var39, var_listnode13, var40); /* Direct call parser_prod#AAnnotations#init_aannotations on */ } -var_listnode12 = var39; -var_listnode13 = var_nodearraylist10; -/* isa Array[Object] */ -cltype41 = type_array__Arraykernel__Object.color; -idtype42 = type_array__Arraykernel__Object.id; -if(var_listnode13 == NULL) { -var40 = 0; +var_pannotationsnode9 = var37; +var_listnode17 = var_nodearraylist9; +/* isa Array[Object] */ +cltype42 = type_array__Arraykernel__Object.color; +idtype43 = type_array__Arraykernel__Object.id; +if(var_listnode17 == NULL) { +var41 = 0; } else { -if(cltype41 >= var_listnode13->type->table_size) { -var40 = 0; +if(cltype42 >= var_listnode17->type->table_size) { +var41 = 0; } else { -var40 = var_listnode13->type->type_table[cltype41] == idtype42; +var41 = var_listnode17->type->type_table[cltype42] == idtype43; } } -if (unlikely(!var40)) { +if (unlikely(!var41)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2399); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2269); show_backtrace(1); } { -var43 = parser_work__ReduceAction__concat(self, var_listnode14, var_listnode13); +var44 = parser_work__ReduceAction__concat(self, var_listnode18, var_listnode17); } -var_listnode14 = var43; -var_tkwendnode15 = var_nodearraylist12; -/* isa nullable TKwend */ -cltype45 = type_nullable_parser_nodes__TKwend.color; -idtype46 = type_nullable_parser_nodes__TKwend.id; -if(var_tkwendnode15 == NULL) { -var44 = 1; +var_listnode18 = var44; +var_tkwendnode19 = var_nodearraylist11; +/* isa nullable TKwend */ +cltype46 = type_nullable_parser_nodes__TKwend.color; +idtype47 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode19 == NULL) { +var45 = 1; } else { -if(cltype45 >= var_tkwendnode15->type->table_size) { -var44 = 0; +if(cltype46 >= var_tkwendnode19->type->table_size) { +var45 = 0; } else { -var44 = var_tkwendnode15->type->type_table[cltype45] == idtype46; +var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47; } } -if (unlikely(!var44)) { +if (unlikely(!var45)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2402); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2272); show_backtrace(1); } -var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); -var48 = NULL; +var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var49 = NULL; { -parser_prod__AStdClassdef__init_astdclassdef(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var48, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AStdClassdef__init_astdclassdef(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode16, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var47; +var_pclassdefnode1 = var48; var_node_list = var_pclassdefnode1; -var49 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var50 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var50 = parser_work__Parser__go_to(var_p, var49); +var51 = parser_work__Parser__go_to(var_p, var50); } { -parser_work__Parser__push(var_p, var50, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var51, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction40#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction40__action(val* self, val* p0) { -parser__ReduceAction40__action(self, p0); /* Direct call parser#ReduceAction40#action on */ +/* method parser#ReduceAction35#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction35__action(val* self, val* p0) { +parser__ReduceAction35__action(self, p0); /* Direct call parser#ReduceAction35#action on */ RET_LABEL:; } -/* method parser#ReduceAction41#action for (self: ReduceAction41, Parser) */ -void parser__ReduceAction41__action(val* self, val* p0) { +/* method parser#ReduceAction36#action for (self: ReduceAction36, Parser) */ +void parser__ReduceAction36__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* var2 /* : nullable Object */; val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var10 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var11 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var12 /* : nullable Object */; +val* var10 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var13 /* : nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var14 /* : Array[Object] */; +val* var12 /* : 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* var13 /* : Array[Object] */; +val* var_listnode11 /* var listnode11: Array[Object] */; +val* var14 /* : Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var17 /* : Bool */; +short int var15 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +short int var16 /* : Bool */; +int cltype17; +int idtype18; 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; +short int var25 /* : Bool */; +int cltype26; +int idtype27; 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] */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var31 /* : Array[Object] */; +val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; val* var_listnode12 /* var listnode12: nullable Object */; short int var35 /* : Bool */; int cltype36; int idtype37; val* var38 /* : Array[Object] */; -val* 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_tkwendnode14 /* var tkwendnode14: nullable Object */; +short int var39 /* : Bool */; +int cltype40; +int idtype41; +val* var42 /* : AStdClassdef */; +val* var43 /* : null */; val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; -long var58 /* : Int */; -long var59 /* : Int */; +long var44 /* : Int */; +long var45 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist13 = var1; +var_nodearraylist11 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist12 = var2; +var_nodearraylist10 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist11 = var3; +var_nodearraylist9 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var4; +var_nodearraylist8 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var5; +var_nodearraylist7 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var6; +var_nodearraylist6 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var7; +var_nodearraylist5 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var8; +var_nodearraylist4 = var8; { var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var9; +var_nodearraylist3 = var9; { var10 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var10; +var_nodearraylist2 = var10; { var11 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var11; +var_nodearraylist1 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); { -var12 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var12->class->vft[COLOR_kernel__Object__init]))(var12) /* init on */; } -var_nodearraylist2 = var12; +var_listnode8 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); { -var13 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; } -var_nodearraylist1 = var13; +var_listnode11 = var13; var14 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var14); /* Direct call array#Array#init on */ -} -var_listnode8 = var14; -var15 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var15); /* Direct call array#Array#init on */ +((void (*)(val*))(var14->class->vft[COLOR_kernel__Object__init]))(var14) /* init on */; } -var_listnode17 = var15; -var16 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var16); /* Direct call array#Array#init on */ -} -var_listnode19 = var16; +var_listnode13 = var14; var_pdocnode2 = var_nodearraylist1; /* isa nullable ADoc */ cltype = type_nullable_parser_nodes__ADoc.color; idtype = type_nullable_parser_nodes__ADoc.id; if(var_pdocnode2 == NULL) { -var17 = 1; +var15 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var17 = 0; +var15 = 0; } else { -var17 = var_pdocnode2->type->type_table[cltype] == idtype; +var15 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var17)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2442); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2310); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype19 = type_nullable_parser_nodes__TKwredef.color; -idtype20 = type_nullable_parser_nodes__TKwredef.id; +cltype17 = type_nullable_parser_nodes__TKwredef.color; +idtype18 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var18 = 1; +var16 = 1; } else { -if(cltype19 >= var_tkwredefnode3->type->table_size) { -var18 = 0; +if(cltype17 >= var_tkwredefnode3->type->table_size) { +var16 = 0; } else { -var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20; +var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; } } -if (unlikely(!var18)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2444); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2312); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* 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 (unlikely(!var21)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2446); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2314); show_backtrace(1); } var_pclasskindnode5 = var_nodearraylist4; /* 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 (unlikely(!var24)) { +if (unlikely(!var22)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2448); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2316); show_backtrace(1); } var_tclassidnode6 = var_nodearraylist6; /* 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 (unlikely(!var27)) { +if (unlikely(!var25)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2450); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2318); show_backtrace(1); } var_listnode7 = var_nodearraylist7; /* isa Array[Object] */ -cltype31 = type_array__Arraykernel__Object.color; -idtype32 = type_array__Arraykernel__Object.id; +cltype29 = type_array__Arraykernel__Object.color; +idtype30 = type_array__Arraykernel__Object.id; if(var_listnode7 == NULL) { -var30 = 0; -} else { -if(cltype31 >= var_listnode7->type->table_size) { -var30 = 0; -} else { -var30 = var_listnode7->type->type_table[cltype31] == idtype32; -} -} -if (unlikely(!var30)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2452); -show_backtrace(1); -} -{ -var33 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); -} -var_listnode8 = var33; -var34 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var34); /* Direct call array#Array#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; +var28 = 0; } else { -if(cltype36 >= var_listnode12->type->table_size) { -var35 = 0; +if(cltype29 >= var_listnode7->type->table_size) { +var28 = 0; } else { -var35 = var_listnode12->type->type_table[cltype36] == idtype37; +var28 = var_listnode7->type->type_table[cltype29] == idtype30; } } -if (unlikely(!var35)) { +if (unlikely(!var28)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2456); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2320); show_backtrace(1); } { -var38 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); -} -var_listnode13 = var38; -var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); -var40 = NULL; -var41 = NULL; -var42 = NULL; -{ -parser_prod__AAnnotations__init_aannotations(var39, var40, var41, var_listnode13, var42); /* Direct call parser_prod#AAnnotations#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(cltype44 >= var_pexterncodeblocknode15->type->table_size) { -var43 = 0; -} else { -var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45; -} -} -if (unlikely(!var43)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2465); -show_backtrace(1); +var31 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } -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; +var_listnode8 = var31; +var_pexterncodeblocknode10 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode10 == NULL) { +var32 = 1; } else { -if(cltype47 >= var_listnode16->type->table_size) { -var46 = 0; +if(cltype33 >= var_pexterncodeblocknode10->type->table_size) { +var32 = 0; } else { -var46 = var_listnode16->type->type_table[cltype47] == idtype48; +var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34; } } -if (unlikely(!var46)) { +if (unlikely(!var32)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2467); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2323); show_backtrace(1); } -{ -var49 = parser_work__ReduceAction__concat(self, var_listnode17, var_listnode16); -} -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; +var_listnode12 = var_nodearraylist9; +/* isa Array[Object] */ +cltype36 = type_array__Arraykernel__Object.color; +idtype37 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var35 = 0; } else { -if(cltype51 >= var_listnode18->type->table_size) { -var50 = 0; +if(cltype36 >= var_listnode12->type->table_size) { +var35 = 0; } else { -var50 = var_listnode18->type->type_table[cltype51] == idtype52; +var35 = var_listnode12->type->type_table[cltype36] == idtype37; } } -if (unlikely(!var50)) { +if (unlikely(!var35)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2470); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2325); show_backtrace(1); } { -var53 = parser_work__ReduceAction__concat(self, var_listnode19, var_listnode18); +var38 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); } -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_listnode13 = var38; +var_tkwendnode14 = var_nodearraylist11; +/* isa nullable TKwend */ +cltype40 = type_nullable_parser_nodes__TKwend.color; +idtype41 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode14 == NULL) { +var39 = 1; } else { -if(cltype55 >= var_tkwendnode20->type->table_size) { -var54 = 0; +if(cltype40 >= var_tkwendnode14->type->table_size) { +var39 = 0; } else { -var54 = var_tkwendnode20->type->type_table[cltype55] == idtype56; +var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41; } } -if (unlikely(!var54)) { +if (unlikely(!var39)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2473); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2328); show_backtrace(1); } -var57 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var43 = NULL; { -parser_prod__AStdClassdef__init_astdclassdef(var57, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +parser_prod__AStdClassdef__init_astdclassdef(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var43, var_pexterncodeblocknode10, var_listnode11, var_listnode13, var_tkwendnode14); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pclassdefnode1 = var57; +var_pclassdefnode1 = var42; var_node_list = var_pclassdefnode1; -var58 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var44 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var59 = parser_work__Parser__go_to(var_p, var58); +var45 = parser_work__Parser__go_to(var_p, var44); } { -parser_work__Parser__push(var_p, var59, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var45, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction41#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction41__action(val* self, val* p0) { -parser__ReduceAction41__action(self, p0); /* Direct call parser#ReduceAction41#action on */ +/* method parser#ReduceAction36#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction36__action(val* self, val* p0) { +parser__ReduceAction36__action(self, p0); /* Direct call parser#ReduceAction36#action on */ RET_LABEL:; } -/* method parser#ReduceAction43#action for (self: ReduceAction43, Parser) */ -void parser__ReduceAction43__action(val* self, val* p0) { +/* method parser#ReduceAction37#action for (self: ReduceAction37, Parser) */ +void parser__ReduceAction37__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; +val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; +val* var3 /* : nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var9 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var10 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var11 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var12 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwredefnode1 /* var tkwredefnode1: nullable Object */; -long var2 /* : Int */; -long var3 /* : Int */; +val* var13 /* : Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; +val* var14 /* : Array[Object] */; +val* var_listnode16 /* var listnode16: Array[Object] */; +val* var15 /* : Array[Object] */; +val* var_listnode18 /* var listnode18: Array[Object] */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var16 /* : Bool */; +int cltype; +int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var_listnode7 /* var listnode7: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var32 /* : Array[Object] */; +val* var33 /* : Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode12 /* var listnode12: nullable Object */; +short int var34 /* : Bool */; +int cltype35; +int idtype36; +val* var37 /* : Array[Object] */; +val* var38 /* : AAnnotations */; +val* var39 /* : null */; +val* var40 /* : null */; +val* var41 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */; +short int var42 /* : Bool */; +int cltype43; +int idtype44; +val* var_listnode17 /* var listnode17: nullable Object */; +short int var45 /* : Bool */; +int cltype46; +int idtype47; +val* var48 /* : Array[Object] */; +val* var_tkwendnode19 /* var tkwendnode19: nullable Object */; +short int var49 /* : Bool */; +int cltype50; +int idtype51; +val* var52 /* : AStdClassdef */; +val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; +long var53 /* : Int */; +long var54 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist1 = var1; -var_tkwredefnode1 = var_nodearraylist1; -var_node_list = var_tkwredefnode1; -var2 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist12 = var1; { -var3 = parser_work__Parser__go_to(var_p, var2); +var2 = parser_work__Parser__pop(var_p); } +var_nodearraylist11 = var2; { -parser_work__Parser__push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ -} -RET_LABEL:; -} -/* method parser#ReduceAction43#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction43__action(val* self, val* p0) { -parser__ReduceAction43__action(self, p0); /* Direct call parser#ReduceAction43#action on */ -RET_LABEL:; +var3 = parser_work__Parser__pop(var_p); } -/* method parser#ReduceAction44#action for (self: ReduceAction44, Parser) */ -void parser__ReduceAction44__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwclassnode2 /* var tkwclassnode2: nullable Object */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : AConcreteClasskind */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AConcreteClasskind */; -long var4 /* : Int */; -long var5 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +var_nodearraylist10 = var3; { -var1 = parser_work__Parser__pop(var_p); -} -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_tkwclassnode2->type->table_size) { -var2 = 0; -} else { -var2 = var_tkwclassnode2->type->type_table[cltype] == idtype; +var4 = parser_work__Parser__pop(var_p); } +var_nodearraylist9 = var4; +{ +var5 = parser_work__Parser__pop(var_p); } -if (unlikely(!var2)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2509); -show_backtrace(1); +var_nodearraylist8 = var5; +{ +var6 = parser_work__Parser__pop(var_p); } -var3 = NEW_parser_nodes__AConcreteClasskind(&type_parser_nodes__AConcreteClasskind); +var_nodearraylist7 = var6; { -parser_prod__AConcreteClasskind__init_aconcreteclasskind(var3, var_tkwclassnode2); /* Direct call parser_prod#AConcreteClasskind#init_aconcreteclasskind on */ +var7 = parser_work__Parser__pop(var_p); } -var_pclasskindnode1 = var3; -var_node_list = var_pclasskindnode1; -var4 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist6 = var7; { -var5 = parser_work__Parser__go_to(var_p, var4); +var8 = parser_work__Parser__pop(var_p); } +var_nodearraylist5 = var8; { -parser_work__Parser__push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +var9 = parser_work__Parser__pop(var_p); } -RET_LABEL:; +var_nodearraylist4 = var9; +{ +var10 = parser_work__Parser__pop(var_p); } -/* method parser#ReduceAction44#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction44__action(val* self, val* p0) { -parser__ReduceAction44__action(self, p0); /* Direct call parser#ReduceAction44#action on */ -RET_LABEL:; +var_nodearraylist3 = var10; +{ +var11 = parser_work__Parser__pop(var_p); } -/* method parser#ReduceAction45#action for (self: ReduceAction45, Parser) */ -void parser__ReduceAction45__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tkwabstractnode2 /* var tkwabstractnode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AAbstractClasskind */; -val* var_pclasskindnode1 /* var pclasskindnode1: nullable AAbstractClasskind */; -long var8 /* : Int */; -long var9 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +var_nodearraylist2 = var11; +{ +var12 = parser_work__Parser__pop(var_p); +} +var_nodearraylist1 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); { -var1 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; } -var_nodearraylist2 = var1; +var_listnode8 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); { -var2 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var14->class->vft[COLOR_kernel__Object__init]))(var14) /* init 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_listnode16 = var14; +var15 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var15->class->vft[COLOR_kernel__Object__init]))(var15) /* init on */; +} +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) { +var16 = 1; } else { -if(cltype >= var_tkwabstractnode2->type->table_size) { -var3 = 0; +if(cltype >= var_pdocnode2->type->table_size) { +var16 = 0; } else { -var3 = var_tkwabstractnode2->type->type_table[cltype] == idtype; +var16 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var3)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2525); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2367); 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_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(cltype5 >= var_tkwclassnode3->type->table_size) { -var4 = 0; +if(cltype18 >= var_tkwredefnode3->type->table_size) { +var17 = 0; } else { -var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6; +var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; } } -if (unlikely(!var4)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2527); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2369); show_backtrace(1); } -var7 = NEW_parser_nodes__AAbstractClasskind(&type_parser_nodes__AAbstractClasskind); -{ -parser_prod__AAbstractClasskind__init_aabstractclasskind(var7, var_tkwabstractnode2, var_tkwclassnode3); /* Direct call parser_prod#AAbstractClasskind#init_aabstractclasskind on */ -} -var_pclasskindnode1 = var7; -var_node_list = var_pclasskindnode1; -var8 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var9 = parser_work__Parser__go_to(var_p, var8); -} -{ -parser_work__Parser__push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ -} -RET_LABEL:; -} -/* method parser#ReduceAction45#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction45__action(val* self, val* p0) { -parser__ReduceAction45__action(self, p0); /* Direct call parser#ReduceAction45#action on */ -RET_LABEL:; -} -/* method parser#ReduceAction46#action for (self: ReduceAction46, Parser) */ -void parser__ReduceAction46__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 = parser_work__Parser__pop(var_p); -} -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_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(cltype >= var_tkwinterfacenode2->type->table_size) { -var2 = 0; +if(cltype21 >= var_pvisibilitynode4->type->table_size) { +var20 = 0; } else { -var2 = var_tkwinterfacenode2->type->type_table[cltype] == idtype; +var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; } } -if (unlikely(!var2)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2543); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2371); show_backtrace(1); } -var3 = NEW_parser_nodes__AInterfaceClasskind(&type_parser_nodes__AInterfaceClasskind); -{ -parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(var3, var_tkwinterfacenode2); /* Direct call parser_prod#AInterfaceClasskind#init_ainterfaceclasskind on */ +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_pclasskindnode5->type->table_size) { +var23 = 0; +} else { +var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; } -var_pclasskindnode1 = var3; -var_node_list = var_pclasskindnode1; -var4 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var5 = parser_work__Parser__go_to(var_p, var4); } -{ -parser_work__Parser__push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +if (unlikely(!var23)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2373); +show_backtrace(1); } -RET_LABEL:; +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_tclassidnode6->type->table_size) { +var26 = 0; +} else { +var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; } -/* method parser#ReduceAction46#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction46__action(val* self, val* p0) { -parser__ReduceAction46__action(self, p0); /* Direct call parser#ReduceAction46#action on */ -RET_LABEL:; } -/* method parser#ReduceAction47#action for (self: ReduceAction47, Parser) */ -void parser__ReduceAction47__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 = parser_work__Parser__pop(var_p); +if (unlikely(!var26)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2375); +show_backtrace(1); } -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; +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype30 = type_array__Arraykernel__Object.color; +idtype31 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var29 = 0; } else { -if(cltype >= var_tkwenumnode2->type->table_size) { -var2 = 0; +if(cltype30 >= var_listnode7->type->table_size) { +var29 = 0; } else { -var2 = var_tkwenumnode2->type->type_table[cltype] == idtype; +var29 = var_listnode7->type->type_table[cltype30] == idtype31; } } -if (unlikely(!var2)) { +if (unlikely(!var29)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2558); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2377); show_backtrace(1); } -var3 = NEW_parser_nodes__AEnumClasskind(&type_parser_nodes__AEnumClasskind); -{ -parser_prod__AEnumClasskind__init_aenumclasskind(var3, var_tkwenumnode2); /* Direct call parser_prod#AEnumClasskind#init_aenumclasskind on */ -} -var_pclasskindnode1 = var3; -var_node_list = var_pclasskindnode1; -var4 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var5 = parser_work__Parser__go_to(var_p, var4); +var32 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } +var_listnode8 = var32; +var33 = NEW_array__Array(&type_array__Arraykernel__Object); { -parser_work__Parser__push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +((void (*)(val*))(var33->class->vft[COLOR_kernel__Object__init]))(var33) /* init on */; } -RET_LABEL:; +var_listnode13 = var33; +var_listnode12 = var_nodearraylist8; +/* isa Array[Object] */ +cltype35 = type_array__Arraykernel__Object.color; +idtype36 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var34 = 0; +} else { +if(cltype35 >= var_listnode12->type->table_size) { +var34 = 0; +} else { +var34 = var_listnode12->type->type_table[cltype35] == idtype36; } -/* method parser#ReduceAction47#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction47__action(val* self, val* p0) { -parser__ReduceAction47__action(self, p0); /* Direct call parser#ReduceAction47#action on */ -RET_LABEL:; } -/* method parser#ReduceAction48#action for (self: ReduceAction48, Parser) */ -void parser__ReduceAction48__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; +if (unlikely(!var34)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2381); +show_backtrace(1); +} { -var1 = parser_work__Parser__pop(var_p); +var37 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); } -var_nodearraylist2 = var1; +var_listnode13 = var37; +var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var39 = NULL; +var40 = NULL; +var41 = NULL; { -var2 = parser_work__Parser__pop(var_p); +parser_prod__AAnnotations__init_aannotations(var38, var39, var40, var_listnode13, var41); /* Direct call parser_prod#AAnnotations#init_aannotations 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; +var_pannotationsnode9 = var38; +var_pexterncodeblocknode15 = var_nodearraylist9; +/* isa nullable AExternCodeBlock */ +cltype43 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype44 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode15 == NULL) { +var42 = 1; } else { -if(cltype >= var_tkwexternnode2->type->table_size) { -var3 = 0; +if(cltype43 >= var_pexterncodeblocknode15->type->table_size) { +var42 = 0; } else { -var3 = var_tkwexternnode2->type->type_table[cltype] == idtype; +var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44; } } -if (unlikely(!var3)) { +if (unlikely(!var42)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2574); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2390); 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_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(cltype5 >= var_tkwclassnode3->type->table_size) { -var4 = 0; +if(cltype46 >= var_listnode17->type->table_size) { +var45 = 0; } else { -var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6; +var45 = var_listnode17->type->type_table[cltype46] == idtype47; } } -if (unlikely(!var4)) { +if (unlikely(!var45)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2576); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2392); show_backtrace(1); } -var7 = NEW_parser_nodes__AExternClasskind(&type_parser_nodes__AExternClasskind); { -parser_prod__AExternClasskind__init_aexternclasskind(var7, var_tkwexternnode2, var_tkwclassnode3); /* Direct call parser_prod#AExternClasskind#init_aexternclasskind on */ +var48 = parser_work__ReduceAction__concat(self, var_listnode18, var_listnode17); } -var_pclasskindnode1 = var7; -var_node_list = var_pclasskindnode1; -var8 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto 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 (unlikely(!var49)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2395); +show_backtrace(1); +} +var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); { -var9 = parser_work__Parser__go_to(var_p, var8); +parser_prod__AStdClassdef__init_astdclassdef(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode18, var_tkwendnode19); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +} +var_pclassdefnode1 = var52; +var_node_list = var_pclassdefnode1; +var53 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var54 = parser_work__Parser__go_to(var_p, var53); } { -parser_work__Parser__push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var54, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction48#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction48__action(val* self, val* p0) { -parser__ReduceAction48__action(self, p0); /* Direct call parser#ReduceAction48#action on */ +/* method parser#ReduceAction37#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction37__action(val* self, val* p0) { +parser__ReduceAction37__action(self, p0); /* Direct call parser#ReduceAction37#action on */ RET_LABEL:; } -/* method parser#ReduceAction49#action for (self: ReduceAction49, Parser) */ -void parser__ReduceAction49__action(val* self, val* p0) { +/* method parser#ReduceAction38#action for (self: ReduceAction38, Parser) */ +void parser__ReduceAction38__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_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var5 /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var9 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var10 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var11 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var6 /* : Array[Object] */; -val* var_listnode2 /* var listnode2: Array[Object] */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */; -val* var7 /* : null */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -long var10 /* : Int */; -long var11 /* : Int */; +val* var12 /* : Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; +val* var13 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var14 /* : Array[Object] */; +val* var_listnode14 /* var listnode14: Array[Object] */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var15 /* : Bool */; +int cltype; +int idtype; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +val* var_listnode7 /* var listnode7: nullable Object */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +val* var31 /* : Array[Object] */; +val* var_listnode11 /* var listnode11: nullable Object */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; +val* var35 /* : Array[Object] */; +val* var_listnode13 /* var listnode13: nullable Object */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +val* var39 /* : Array[Object] */; +val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; +short int var40 /* : Bool */; +int cltype41; +int idtype42; +val* var43 /* : AStdClassdef */; +val* var44 /* : null */; +val* var45 /* : null */; +val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; +long var46 /* : Int */; +long var47 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var1; +var_nodearraylist11 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var2; +var_nodearraylist10 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var3; +var_nodearraylist9 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist2 = var4; +var_nodearraylist8 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist1 = var5; -var6 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var6); /* Direct call array#Array#init on */ -} -var_listnode2 = var6; -var_pformaldefnode1 = var_nodearraylist3; -var7 = NULL; -if (var_pformaldefnode1 == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ -} -if (0) { -var9 = ((short int (*)(val*, val*))(var_pformaldefnode1->class->vft[COLOR_kernel__Object___33d_61d]))(var_pformaldefnode1, var7) /* != on */; -var8 = var9; -} -if (var8){ -{ -array__Array__add(var_listnode2, var_pformaldefnode1); /* Direct call array#Array#add on */ -} -} else { -} -var_node_list = var_listnode2; -var10 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_nodearraylist7 = var5; { -var11 = parser_work__Parser__go_to(var_p, var10); +var6 = parser_work__Parser__pop(var_p); } +var_nodearraylist6 = var6; { -parser_work__Parser__push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ -} -RET_LABEL:; -} -/* method parser#ReduceAction49#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction49__action(val* self, val* p0) { -parser__ReduceAction49__action(self, p0); /* Direct call parser#ReduceAction49#action on */ -RET_LABEL:; -} -/* method parser#ReduceAction50#action for (self: ReduceAction50, Parser) */ -void parser__ReduceAction50__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var3 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var4 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var5 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var6 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var7 /* : Array[Object] */; -val* var_listnode3 /* var listnode3: Array[Object] */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */; -val* var_listnode2 /* var listnode2: nullable Object */; -short int var8 /* : Bool */; -int cltype; -int idtype; -val* var9 /* : null */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; -val* var12 /* : Array[Object] */; -long var13 /* : Int */; -long var14 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; +var7 = parser_work__Parser__pop(var_p); +} +var_nodearraylist5 = var7; { -var1 = parser_work__Parser__pop(var_p); +var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var1; +var_nodearraylist4 = var8; { -var2 = parser_work__Parser__pop(var_p); +var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var2; +var_nodearraylist3 = var9; { -var3 = parser_work__Parser__pop(var_p); +var10 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var3; +var_nodearraylist2 = var10; { -var4 = parser_work__Parser__pop(var_p); +var11 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var4; +var_nodearraylist1 = var11; +var12 = NEW_array__Array(&type_array__Arraykernel__Object); { -var5 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var12->class->vft[COLOR_kernel__Object__init]))(var12) /* init on */; } -var_nodearraylist2 = var5; +var_listnode8 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); { -var6 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; } -var_nodearraylist1 = var6; -var7 = NEW_array__Array(&type_array__Arraykernel__Object); +var_listnode12 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); { -array__Array__init(var7); /* Direct call array#Array#init on */ +((void (*)(val*))(var14->class->vft[COLOR_kernel__Object__init]))(var14) /* 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; +var_listnode14 = var14; +var_pdocnode2 = var_nodearraylist1; +/* isa nullable ADoc */ +cltype = type_nullable_parser_nodes__ADoc.color; +idtype = type_nullable_parser_nodes__ADoc.id; +if(var_pdocnode2 == NULL) { +var15 = 1; } else { -if(cltype >= var_listnode2->type->table_size) { -var8 = 0; +if(cltype >= var_pdocnode2->type->table_size) { +var15 = 0; } else { -var8 = var_listnode2->type->type_table[cltype] == idtype; +var15 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var8)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2618); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2433); show_backtrace(1); } -var9 = NULL; -if (var_pformaldefnode1 == NULL) { -var10 = 0; /* is null */ +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype17 = type_nullable_parser_nodes__TKwredef.color; +idtype18 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var16 = 1; } else { -var10 = 1; /* arg is null and recv is not */ -} -if (0) { -var11 = ((short int (*)(val*, val*))(var_pformaldefnode1->class->vft[COLOR_kernel__Object___33d_61d]))(var_pformaldefnode1, var9) /* != on */; -var10 = var11; -} -if (var10){ -{ -array__Array__add(var_listnode3, var_pformaldefnode1); /* Direct call array#Array#add on */ -} +if(cltype17 >= var_tkwredefnode3->type->table_size) { +var16 = 0; } else { +var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18; } -{ -var12 = parser_work__ReduceAction__concat(self, var_listnode3, var_listnode2); } -var_listnode3 = var12; -var_node_list = var_listnode3; -var13 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var14 = parser_work__Parser__go_to(var_p, var13); +if (unlikely(!var16)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2435); +show_backtrace(1); } -{ -parser_work__Parser__push(var_p, var14, var_node_list); /* Direct call parser_work#Parser#push on */ +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype20 = type_nullable_parser_nodes__AVisibility.color; +idtype21 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var19 = 1; +} else { +if(cltype20 >= var_pvisibilitynode4->type->table_size) { +var19 = 0; +} else { +var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21; } -RET_LABEL:; } -/* method parser#ReduceAction50#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction50__action(val* self, val* p0) { -parser__ReduceAction50__action(self, p0); /* Direct call parser#ReduceAction50#action on */ -RET_LABEL:; +if (unlikely(!var19)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2437); +show_backtrace(1); } -/* method parser#ReduceAction51#action for (self: ReduceAction51, Parser) */ -void parser__ReduceAction51__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : Array[Object] */; -val* var_listnode1 /* var listnode1: Array[Object] */; -long var2 /* : Int */; -long var3 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -var1 = NEW_array__Array(&type_array__Arraykernel__Object); -{ -array__Array__init(var1); /* Direct call array#Array#init on */ +var_pclasskindnode5 = var_nodearraylist4; +/* isa nullable AClasskind */ +cltype23 = type_nullable_parser_nodes__AClasskind.color; +idtype24 = type_nullable_parser_nodes__AClasskind.id; +if(var_pclasskindnode5 == NULL) { +var22 = 1; +} else { +if(cltype23 >= var_pclasskindnode5->type->table_size) { +var22 = 0; +} else { +var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24; } -var_listnode1 = var1; -var_node_list = var_listnode1; -var2 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var3 = parser_work__Parser__go_to(var_p, var2); } -{ -parser_work__Parser__push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ +if (unlikely(!var22)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2439); +show_backtrace(1); } -RET_LABEL:; +var_tclassidnode6 = var_nodearraylist6; +/* isa nullable TClassid */ +cltype26 = type_nullable_parser_nodes__TClassid.color; +idtype27 = type_nullable_parser_nodes__TClassid.id; +if(var_tclassidnode6 == NULL) { +var25 = 1; +} else { +if(cltype26 >= var_tclassidnode6->type->table_size) { +var25 = 0; +} else { +var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27; } -/* method parser#ReduceAction51#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction51__action(val* self, val* p0) { -parser__ReduceAction51__action(self, p0); /* Direct call parser#ReduceAction51#action on */ -RET_LABEL:; } -/* method parser#ReduceAction52#action for (self: ReduceAction52, Parser) */ -void parser__ReduceAction52__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 = parser_work__Parser__pop(var_p); +if (unlikely(!var25)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2441); +show_backtrace(1); } -var_nodearraylist3 = var1; -{ -var2 = parser_work__Parser__pop(var_p); +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype29 = type_array__Arraykernel__Object.color; +idtype30 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var28 = 0; +} else { +if(cltype29 >= var_listnode7->type->table_size) { +var28 = 0; +} else { +var28 = var_listnode7->type->type_table[cltype29] == idtype30; } -var_nodearraylist2 = var2; -{ -var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist1 = var3; -var_pformaldefnode1 = var_nodearraylist3; -var_node_list = var_pformaldefnode1; -var4 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var5 = parser_work__Parser__go_to(var_p, var4); +if (unlikely(!var28)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2443); +show_backtrace(1); } { -parser_work__Parser__push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +var31 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } -RET_LABEL:; +var_listnode8 = var31; +var_listnode11 = var_nodearraylist8; +/* isa Array[Object] */ +cltype33 = type_array__Arraykernel__Object.color; +idtype34 = type_array__Arraykernel__Object.id; +if(var_listnode11 == NULL) { +var32 = 0; +} else { +if(cltype33 >= var_listnode11->type->table_size) { +var32 = 0; +} else { +var32 = var_listnode11->type->type_table[cltype33] == idtype34; } -/* method parser#ReduceAction52#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction52__action(val* self, val* p0) { -parser__ReduceAction52__action(self, p0); /* Direct call parser#ReduceAction52#action on */ -RET_LABEL:; } -/* method parser#ReduceAction53#action for (self: ReduceAction53, Parser) */ -void parser__ReduceAction53__action(val* self, val* p0) { -val* var_p /* var p: Parser */; -val* var /* : null */; -val* var_node_list /* var node_list: nullable Object */; -val* var1 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var_ptypenode3 /* var ptypenode3: nullable Object */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AFormaldef */; -val* var8 /* : null */; -val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; -long var9 /* : Int */; -long var10 /* : Int */; -var_p = p0; -var = NULL; -var_node_list = var; -{ -var1 = parser_work__Parser__pop(var_p); +if (unlikely(!var32)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2446); +show_backtrace(1); } -var_nodearraylist2 = var1; { -var2 = parser_work__Parser__pop(var_p); +var35 = parser_work__ReduceAction__concat(self, var_listnode12, var_listnode11); } -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_listnode12 = var35; +var_listnode13 = var_nodearraylist9; +/* isa Array[Object] */ +cltype37 = type_array__Arraykernel__Object.color; +idtype38 = type_array__Arraykernel__Object.id; +if(var_listnode13 == NULL) { +var36 = 0; } else { -if(cltype >= var_tclassidnode2->type->table_size) { -var3 = 0; +if(cltype37 >= var_listnode13->type->table_size) { +var36 = 0; } else { -var3 = var_tclassidnode2->type->type_table[cltype] == idtype; +var36 = var_listnode13->type->type_table[cltype37] == idtype38; } } -if (unlikely(!var3)) { +if (unlikely(!var36)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2658); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2449); 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; +{ +var39 = parser_work__ReduceAction__concat(self, var_listnode14, var_listnode13); +} +var_listnode14 = var39; +var_tkwendnode15 = var_nodearraylist11; +/* isa nullable TKwend */ +cltype41 = type_nullable_parser_nodes__TKwend.color; +idtype42 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode15 == NULL) { +var40 = 1; } else { -if(cltype5 >= var_ptypenode3->type->table_size) { -var4 = 0; +if(cltype41 >= var_tkwendnode15->type->table_size) { +var40 = 0; } else { -var4 = var_ptypenode3->type->type_table[cltype5] == idtype6; +var40 = var_tkwendnode15->type->type_table[cltype41] == idtype42; } } -if (unlikely(!var4)) { +if (unlikely(!var40)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2660); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2452); show_backtrace(1); } -var7 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef); -var8 = NULL; +var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var44 = NULL; +var45 = NULL; { -parser_prod__AFormaldef__init_aformaldef(var7, var_tclassidnode2, var_ptypenode3, var8); /* Direct call parser_prod#AFormaldef#init_aformaldef on */ +parser_prod__AStdClassdef__init_astdclassdef(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var44, var45, var_listnode12, var_listnode14, var_tkwendnode15); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_pformaldefnode1 = var7; -var_node_list = var_pformaldefnode1; -var9 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_pclassdefnode1 = var43; +var_node_list = var_pclassdefnode1; +var46 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var10 = parser_work__Parser__go_to(var_p, var9); +var47 = parser_work__Parser__go_to(var_p, var46); } { -parser_work__Parser__push(var_p, var10, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var47, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction53#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction53__action(val* self, val* p0) { -parser__ReduceAction53__action(self, p0); /* Direct call parser#ReduceAction53#action on */ +/* method parser#ReduceAction38#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction38__action(val* self, val* p0) { +parser__ReduceAction38__action(self, p0); /* Direct call parser#ReduceAction38#action on */ RET_LABEL:; } -/* method parser#ReduceAction54#action for (self: ReduceAction54, Parser) */ -void parser__ReduceAction54__action(val* self, val* p0) { +/* method parser#ReduceAction39#action for (self: ReduceAction39, Parser) */ +void parser__ReduceAction39__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* var_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var3 /* : nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var4 /* : nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var5 /* : nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var6 /* : nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var7 /* : nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var8 /* : nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var9 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var10 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var11 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var12 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; -short int var4 /* : Bool */; +val* var13 /* : Array[Object] */; +val* var_listnode8 /* var listnode8: Array[Object] */; +val* var14 /* : Array[Object] */; +val* var_listnode17 /* var listnode17: Array[Object] */; +val* var15 /* : Array[Object] */; +val* var_listnode19 /* var listnode19: Array[Object] */; +val* var_pdocnode2 /* var pdocnode2: nullable Object */; +short int var16 /* : Bool */; 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 */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var_listnode7 /* var listnode7: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var32 /* : Array[Object] */; +val* var33 /* : Array[Object] */; +val* var_listnode13 /* var listnode13: Array[Object] */; +val* var_listnode12 /* var listnode12: nullable Object */; +short int var34 /* : Bool */; +int cltype35; +int idtype36; +val* var37 /* : Array[Object] */; +val* var38 /* : AAnnotations */; +val* var39 /* : null */; +val* var40 /* : null */; +val* var41 /* : null */; +val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */; +val* var_listnode16 /* var listnode16: nullable Object */; +short int var42 /* : Bool */; +int cltype43; +int idtype44; +val* var45 /* : Array[Object] */; +val* var_listnode18 /* var listnode18: nullable Object */; +short int var46 /* : Bool */; +int cltype47; +int idtype48; +val* var49 /* : Array[Object] */; +val* var_tkwendnode20 /* var tkwendnode20: nullable Object */; +short int var50 /* : Bool */; +int cltype51; +int idtype52; +val* var53 /* : AStdClassdef */; +val* var54 /* : null */; +val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; +long var55 /* : Int */; +long var56 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var1; +var_nodearraylist12 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist2 = var2; +var_nodearraylist11 = var2; { var3 = parser_work__Parser__pop(var_p); } -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; +var_nodearraylist10 = var3; +{ +var4 = parser_work__Parser__pop(var_p); +} +var_nodearraylist9 = var4; +{ +var5 = parser_work__Parser__pop(var_p); +} +var_nodearraylist8 = var5; +{ +var6 = parser_work__Parser__pop(var_p); +} +var_nodearraylist7 = var6; +{ +var7 = parser_work__Parser__pop(var_p); +} +var_nodearraylist6 = var7; +{ +var8 = parser_work__Parser__pop(var_p); +} +var_nodearraylist5 = var8; +{ +var9 = parser_work__Parser__pop(var_p); +} +var_nodearraylist4 = var9; +{ +var10 = parser_work__Parser__pop(var_p); +} +var_nodearraylist3 = var10; +{ +var11 = parser_work__Parser__pop(var_p); +} +var_nodearraylist2 = var11; +{ +var12 = parser_work__Parser__pop(var_p); +} +var_nodearraylist1 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; +} +var_listnode8 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var14->class->vft[COLOR_kernel__Object__init]))(var14) /* init on */; +} +var_listnode17 = var14; +var15 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var15->class->vft[COLOR_kernel__Object__init]))(var15) /* init on */; +} +var_listnode19 = 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) { +var16 = 1; } else { -if(cltype >= var_tclassidnode2->type->table_size) { -var4 = 0; +if(cltype >= var_pdocnode2->type->table_size) { +var16 = 0; +} else { +var16 = var_pdocnode2->type->type_table[cltype] == idtype; +} +} +if (unlikely(!var16)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2491); +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) { +var17 = 1; +} else { +if(cltype18 >= var_tkwredefnode3->type->table_size) { +var17 = 0; } else { -var4 = var_tclassidnode2->type->type_table[cltype] == idtype; +var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; } } -if (unlikely(!var4)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2679); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2493); 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_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(cltype6 >= var_ptypenode3->type->table_size) { -var5 = 0; +if(cltype21 >= var_pvisibilitynode4->type->table_size) { +var20 = 0; } else { -var5 = var_ptypenode3->type->type_table[cltype6] == idtype7; +var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; } } -if (unlikely(!var5)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2681); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2495); 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_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(cltype9 >= var_pannotationsnode4->type->table_size) { -var8 = 0; +if(cltype24 >= var_pclasskindnode5->type->table_size) { +var23 = 0; } else { -var8 = var_pannotationsnode4->type->type_table[cltype9] == idtype10; +var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; } } -if (unlikely(!var8)) { +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2683); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2497); show_backtrace(1); } -var11 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef); -{ -parser_prod__AFormaldef__init_aformaldef(var11, var_tclassidnode2, var_ptypenode3, var_pannotationsnode4); /* Direct call parser_prod#AFormaldef#init_aformaldef on */ -} -var_pformaldefnode1 = var11; -var_node_list = var_pformaldefnode1; -var12 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var13 = parser_work__Parser__go_to(var_p, var12); -} -{ -parser_work__Parser__push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ +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_tclassidnode6->type->table_size) { +var26 = 0; +} else { +var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; } -RET_LABEL:; } -/* method parser#ReduceAction54#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction54__action(val* self, val* p0) { -parser__ReduceAction54__action(self, p0); /* Direct call parser#ReduceAction54#action on */ -RET_LABEL:; +if (unlikely(!var26)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2499); +show_backtrace(1); } -/* method parser#ReduceAction55#action for (self: ReduceAction55, Parser) */ -void parser__ReduceAction55__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 = parser_work__Parser__pop(var_p); +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype30 = type_array__Arraykernel__Object.color; +idtype31 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var29 = 0; +} else { +if(cltype30 >= var_listnode7->type->table_size) { +var29 = 0; +} else { +var29 = var_listnode7->type->type_table[cltype30] == idtype31; } -var_nodearraylist5 = var1; -{ -var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var2; -{ -var3 = parser_work__Parser__pop(var_p); +if (unlikely(!var29)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2501); +show_backtrace(1); } -var_nodearraylist3 = var3; { -var4 = parser_work__Parser__pop(var_p); +var32 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); } -var_nodearraylist2 = var4; +var_listnode8 = var32; +var33 = NEW_array__Array(&type_array__Arraykernel__Object); { -var5 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var33->class->vft[COLOR_kernel__Object__init]))(var33) /* init 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; +var_listnode13 = var33; +var_listnode12 = var_nodearraylist8; +/* isa Array[Object] */ +cltype35 = type_array__Arraykernel__Object.color; +idtype36 = type_array__Arraykernel__Object.id; +if(var_listnode12 == NULL) { +var34 = 0; } else { -if(cltype >= var_tkwsupernode2->type->table_size) { -var6 = 0; +if(cltype35 >= var_listnode12->type->table_size) { +var34 = 0; } else { -var6 = var_tkwsupernode2->type->type_table[cltype] == idtype; +var34 = var_listnode12->type->type_table[cltype35] == idtype36; } } -if (unlikely(!var6)) { +if (unlikely(!var34)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2704); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2505); 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; +{ +var37 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); +} +var_listnode13 = var37; +var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var39 = NULL; +var40 = NULL; +var41 = NULL; +{ +parser_prod__AAnnotations__init_aannotations(var38, var39, var40, var_listnode13, var41); /* Direct call parser_prod#AAnnotations#init_aannotations on */ +} +var_pannotationsnode9 = var38; +var_listnode16 = var_nodearraylist9; +/* isa Array[Object] */ +cltype43 = type_array__Arraykernel__Object.color; +idtype44 = type_array__Arraykernel__Object.id; +if(var_listnode16 == NULL) { +var42 = 0; } else { -if(cltype8 >= var_ptypenode3->type->table_size) { -var7 = 0; +if(cltype43 >= var_listnode16->type->table_size) { +var42 = 0; } else { -var7 = var_ptypenode3->type->type_table[cltype8] == idtype9; +var42 = var_listnode16->type->type_table[cltype43] == idtype44; } } -if (unlikely(!var7)) { +if (unlikely(!var42)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2706); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2514); 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; +{ +var45 = parser_work__ReduceAction__concat(self, var_listnode17, var_listnode16); +} +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 { -if(cltype11 >= var_pannotationsnode4->type->table_size) { -var10 = 0; +if(cltype47 >= var_listnode18->type->table_size) { +var46 = 0; } else { -var10 = var_pannotationsnode4->type->type_table[cltype11] == idtype12; +var46 = var_listnode18->type->type_table[cltype47] == idtype48; } } -if (unlikely(!var10)) { +if (unlikely(!var46)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2708); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2517); show_backtrace(1); } -var13 = NEW_parser_nodes__ASuperclass(&type_parser_nodes__ASuperclass); -{ -parser_prod__ASuperclass__init_asuperclass(var13, var_tkwsupernode2, var_ptypenode3, var_pannotationsnode4); /* Direct call parser_prod#ASuperclass#init_asuperclass on */ -} -var_psuperclassnode1 = var13; -var_node_list = var_psuperclassnode1; -var14 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ -{ -var15 = parser_work__Parser__go_to(var_p, var14); -} { -parser_work__Parser__push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on */ -} -RET_LABEL:; -} -/* method parser#ReduceAction55#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction55__action(val* self, val* p0) { -parser__ReduceAction55__action(self, p0); /* Direct call parser#ReduceAction55#action on */ -RET_LABEL:; +var49 = parser_work__ReduceAction__concat(self, var_listnode19, var_listnode18); } -/* method parser#ReduceAction56#action for (self: ReduceAction56, Parser) */ -void parser__ReduceAction56__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 = parser_work__Parser__pop(var_p); +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(cltype51 >= var_tkwendnode20->type->table_size) { +var50 = 0; +} else { +var50 = var_tkwendnode20->type->type_table[cltype51] == idtype52; } -var_nodearraylist2 = var1; +} +if (unlikely(!var50)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2520); +show_backtrace(1); +} +var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var54 = NULL; { -var2 = parser_work__Parser__pop(var_p); +parser_prod__AStdClassdef__init_astdclassdef(var53, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var54, var_listnode17, var_listnode19, var_tkwendnode20); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_nodearraylist1 = var2; -var_ppropdefnode1 = var_nodearraylist1; -var_node_list = var_ppropdefnode1; -var3 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_pclassdefnode1 = var53; +var_node_list = var_pclassdefnode1; +var55 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var4 = parser_work__Parser__go_to(var_p, var3); +var56 = parser_work__Parser__go_to(var_p, var55); } { -parser_work__Parser__push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var56, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction56#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction56__action(val* self, val* p0) { -parser__ReduceAction56__action(self, p0); /* Direct call parser#ReduceAction56#action on */ +/* method parser#ReduceAction39#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction39__action(val* self, val* p0) { +parser__ReduceAction39__action(self, p0); /* Direct call parser#ReduceAction39#action on */ RET_LABEL:; } -/* method parser#ReduceAction57#action for (self: ReduceAction57, Parser) */ -void parser__ReduceAction57__action(val* self, val* p0) { +/* method parser#ReduceAction40#action for (self: ReduceAction40, Parser) */ +void parser__ReduceAction40__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; val* var9 /* : nullable Object */; +val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var10 /* : nullable Object */; +val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var11 /* : nullable Object */; +val* var_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* var14 /* : Array[Object] */; +val* var_listnode12 /* var listnode12: Array[Object] */; +val* var15 /* : Array[Object] */; +val* var_listnode14 /* var listnode14: Array[Object] */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var10 /* : Bool */; +short int var16 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; short int var17 /* : Bool */; int cltype18; int idtype19; -val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var23 /* : Bool */; int cltype24; int idtype25; -val* var_pexprnode9 /* var pexprnode9: nullable Object */; +val* var_tclassidnode6 /* var tclassidnode6: 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 */; +val* var_listnode7 /* var listnode7: nullable Object */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +val* var32 /* : Array[Object] */; +val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */; +short int var33 /* : Bool */; +int cltype34; +int idtype35; +val* var_listnode11 /* var listnode11: nullable Object */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +val* var39 /* : Array[Object] */; +val* var_listnode13 /* var listnode13: nullable Object */; +short int var40 /* : Bool */; +int cltype41; +int idtype42; +val* var43 /* : Array[Object] */; +val* var_tkwendnode15 /* var tkwendnode15: nullable Object */; +short int var44 /* : Bool */; +int cltype45; +int idtype46; +val* var47 /* : AStdClassdef */; +val* var48 /* : null */; +val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */; +long var49 /* : Int */; +long var50 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var1; +var_nodearraylist12 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var2; +var_nodearraylist11 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var3; +var_nodearraylist10 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var4; +var_nodearraylist9 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var5; +var_nodearraylist8 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var6; +var_nodearraylist7 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var7; +var_nodearraylist6 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist2 = var8; +var_nodearraylist5 = var8; { var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist1 = var9; +var_nodearraylist4 = var9; +{ +var10 = parser_work__Parser__pop(var_p); +} +var_nodearraylist3 = var10; +{ +var11 = parser_work__Parser__pop(var_p); +} +var_nodearraylist2 = var11; +{ +var12 = parser_work__Parser__pop(var_p); +} +var_nodearraylist1 = var12; +var13 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var13->class->vft[COLOR_kernel__Object__init]))(var13) /* init on */; +} +var_listnode8 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var14->class->vft[COLOR_kernel__Object__init]))(var14) /* init on */; +} +var_listnode12 = var14; +var15 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var15->class->vft[COLOR_kernel__Object__init]))(var15) /* init on */; +} +var_listnode14 = 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) { -var10 = 1; +var16 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var10 = 0; +var16 = 0; } else { -var10 = var_pdocnode2->type->type_table[cltype] == idtype; +var16 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var10)) { +if (unlikely(!var16)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2745); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2559); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype12 = type_nullable_parser_nodes__TKwredef.color; -idtype13 = type_nullable_parser_nodes__TKwredef.id; +cltype18 = type_nullable_parser_nodes__TKwredef.color; +idtype19 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var11 = 1; +var17 = 1; } else { -if(cltype12 >= var_tkwredefnode3->type->table_size) { -var11 = 0; +if(cltype18 >= var_tkwredefnode3->type->table_size) { +var17 = 0; } else { -var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; +var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19; } } -if (unlikely(!var11)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2747); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2561); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype15 = type_nullable_parser_nodes__AVisibility.color; -idtype16 = type_nullable_parser_nodes__AVisibility.id; +cltype21 = type_nullable_parser_nodes__AVisibility.color; +idtype22 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var14 = 1; +var20 = 1; } else { -if(cltype15 >= var_pvisibilitynode4->type->table_size) { -var14 = 0; +if(cltype21 >= var_pvisibilitynode4->type->table_size) { +var20 = 0; } else { -var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; +var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22; } } -if (unlikely(!var14)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2749); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2563); 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; +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_pclasskindnode5->type->table_size) { +var23 = 0; +} else { +var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25; +} +} +if (unlikely(!var23)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2565); +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; +} else { +if(cltype27 >= var_tclassidnode6->type->table_size) { +var26 = 0; +} else { +var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28; +} +} +if (unlikely(!var26)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2567); +show_backtrace(1); +} +var_listnode7 = var_nodearraylist7; +/* isa Array[Object] */ +cltype30 = type_array__Arraykernel__Object.color; +idtype31 = type_array__Arraykernel__Object.id; +if(var_listnode7 == NULL) { +var29 = 0; +} else { +if(cltype30 >= var_listnode7->type->table_size) { +var29 = 0; +} else { +var29 = var_listnode7->type->type_table[cltype30] == idtype31; +} +} +if (unlikely(!var29)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2569); +show_backtrace(1); +} +{ +var32 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); +} +var_listnode8 = var32; +var_pexterncodeblocknode10 = var_nodearraylist8; +/* isa nullable AExternCodeBlock */ +cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_pexterncodeblocknode10 == NULL) { +var33 = 1; } else { -if(cltype18 >= var_tkwmethnode5->type->table_size) { -var17 = 0; +if(cltype34 >= var_pexterncodeblocknode10->type->table_size) { +var33 = 0; } else { -var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19; +var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35; } } -if (unlikely(!var17)) { +if (unlikely(!var33)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2751); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2572); 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; +var_listnode11 = var_nodearraylist9; +/* isa Array[Object] */ +cltype37 = type_array__Arraykernel__Object.color; +idtype38 = type_array__Arraykernel__Object.id; +if(var_listnode11 == NULL) { +var36 = 0; } else { -if(cltype21 >= var_pmethidnode6->type->table_size) { -var20 = 0; +if(cltype37 >= var_listnode11->type->table_size) { +var36 = 0; } else { -var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22; +var36 = var_listnode11->type->type_table[cltype37] == idtype38; } } -if (unlikely(!var20)) { +if (unlikely(!var36)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2753); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2574); 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; +{ +var39 = parser_work__ReduceAction__concat(self, var_listnode12, var_listnode11); +} +var_listnode12 = var39; +var_listnode13 = var_nodearraylist10; +/* isa Array[Object] */ +cltype41 = type_array__Arraykernel__Object.color; +idtype42 = type_array__Arraykernel__Object.id; +if(var_listnode13 == NULL) { +var40 = 0; } else { -if(cltype24 >= var_psignaturenode7->type->table_size) { -var23 = 0; +if(cltype41 >= var_listnode13->type->table_size) { +var40 = 0; } else { -var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25; +var40 = var_listnode13->type->type_table[cltype41] == idtype42; } } -if (unlikely(!var23)) { +if (unlikely(!var40)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2755); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2577); show_backtrace(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; +{ +var43 = parser_work__ReduceAction__concat(self, var_listnode14, var_listnode13); +} +var_listnode14 = var43; +var_tkwendnode15 = var_nodearraylist12; +/* isa nullable TKwend */ +cltype45 = type_nullable_parser_nodes__TKwend.color; +idtype46 = type_nullable_parser_nodes__TKwend.id; +if(var_tkwendnode15 == NULL) { +var44 = 1; } else { -if(cltype27 >= var_pexprnode9->type->table_size) { -var26 = 0; +if(cltype45 >= var_tkwendnode15->type->table_size) { +var44 = 0; } else { -var26 = var_pexprnode9->type->type_table[cltype27] == idtype28; +var44 = var_tkwendnode15->type->type_table[cltype45] == idtype46; } } -if (unlikely(!var26)) { +if (unlikely(!var44)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2757); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2580); show_backtrace(1); } -var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); -var30 = NULL; +var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +var48 = NULL; { -parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexprnode9); /* Direct call parser_prod#AConcreteMethPropdef#init_aconcretemethpropdef on */ +parser_prod__AStdClassdef__init_astdclassdef(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var48, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ } -var_ppropdefnode1 = var29; -var_node_list = var_ppropdefnode1; -var31 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_pclassdefnode1 = var47; +var_node_list = var_pclassdefnode1; +var49 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var32 = parser_work__Parser__go_to(var_p, var31); +var50 = parser_work__Parser__go_to(var_p, var49); } { -parser_work__Parser__push(var_p, var32, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var50, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction57#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction57__action(val* self, val* p0) { -parser__ReduceAction57__action(self, p0); /* Direct call parser#ReduceAction57#action on */ +/* method parser#ReduceAction40#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction40__action(val* self, val* p0) { +parser__ReduceAction40__action(self, p0); /* Direct call parser#ReduceAction40#action on */ RET_LABEL:; } -/* method parser#ReduceAction58#action for (self: ReduceAction58, Parser) */ -void parser__ReduceAction58__action(val* self, val* p0) { +/* method parser#ReduceAction41#action for (self: ReduceAction41, Parser) */ +void parser__ReduceAction41__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; +val* var_nodearraylist13 /* var nodearraylist13: nullable Object */; val* var2 /* : nullable Object */; -val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; +val* var_nodearraylist12 /* var nodearraylist12: nullable Object */; val* var3 /* : nullable Object */; -val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; +val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; val* var4 /* : nullable Object */; -val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; +val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; val* var5 /* : nullable Object */; -val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; +val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; val* var6 /* : nullable Object */; -val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; +val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; val* var7 /* : nullable Object */; -val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; +val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; val* var8 /* : nullable Object */; -val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; +val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; val* var9 /* : nullable Object */; -val* var_nodearraylist2 /* var nodearraylist2: 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 var11 /* : Bool */; +short int var17 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; short int var18 /* : Bool */; int cltype19; int idtype20; -val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var21 /* : Bool */; int cltype22; int idtype23; -val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; +val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */; short int var24 /* : Bool */; int cltype25; int idtype26; -val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */; +val* var_tclassidnode6 /* var tclassidnode6: nullable Object */; short int var27 /* : Bool */; int cltype28; int idtype29; -val* var_pexprnode9 /* var pexprnode9: nullable Object */; +val* var_listnode7 /* var listnode7: 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 */; +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 */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var1; +var_nodearraylist13 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var2; +var_nodearraylist12 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var3; +var_nodearraylist11 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var4; +var_nodearraylist10 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var5; -{ -var6 = parser_work__Parser__pop(var_p); +var_nodearraylist9 = var5; +{ +var6 = parser_work__Parser__pop(var_p); +} +var_nodearraylist8 = var6; +{ +var7 = parser_work__Parser__pop(var_p); +} +var_nodearraylist7 = var7; +{ +var8 = parser_work__Parser__pop(var_p); +} +var_nodearraylist6 = var8; +{ +var9 = parser_work__Parser__pop(var_p); +} +var_nodearraylist5 = var9; +{ +var10 = parser_work__Parser__pop(var_p); +} +var_nodearraylist4 = var10; +{ +var11 = parser_work__Parser__pop(var_p); +} +var_nodearraylist3 = var11; +{ +var12 = parser_work__Parser__pop(var_p); +} +var_nodearraylist2 = var12; +{ +var13 = parser_work__Parser__pop(var_p); +} +var_nodearraylist1 = var13; +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var14->class->vft[COLOR_kernel__Object__init]))(var14) /* init on */; +} +var_listnode8 = var14; +var15 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var15->class->vft[COLOR_kernel__Object__init]))(var15) /* init on */; +} +var_listnode17 = var15; +var16 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var16->class->vft[COLOR_kernel__Object__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) { +var17 = 1; +} else { +if(cltype >= var_pdocnode2->type->table_size) { +var17 = 0; +} else { +var17 = var_pdocnode2->type->type_table[cltype] == idtype; +} +} +if (unlikely(!var17)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2620); +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) { +var18 = 1; +} else { +if(cltype19 >= var_tkwredefnode3->type->table_size) { +var18 = 0; +} else { +var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20; +} +} +if (unlikely(!var18)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2622); +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) { +var21 = 1; +} else { +if(cltype22 >= var_pvisibilitynode4->type->table_size) { +var21 = 0; +} else { +var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23; +} } -var_nodearraylist5 = var6; -{ -var7 = parser_work__Parser__pop(var_p); +if (unlikely(!var21)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2624); +show_backtrace(1); } -var_nodearraylist4 = var7; -{ -var8 = parser_work__Parser__pop(var_p); +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; } -var_nodearraylist3 = var8; -{ -var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist2 = var9; -{ -var10 = parser_work__Parser__pop(var_p); +if (unlikely(!var24)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2626); +show_backtrace(1); } -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; +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(cltype >= var_pdocnode2->type->table_size) { -var11 = 0; +if(cltype28 >= var_tclassidnode6->type->table_size) { +var27 = 0; } else { -var11 = var_pdocnode2->type->type_table[cltype] == idtype; +var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29; } } -if (unlikely(!var11)) { +if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2788); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2628); show_backtrace(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; +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(cltype13 >= var_tkwredefnode3->type->table_size) { -var12 = 0; +if(cltype31 >= var_listnode7->type->table_size) { +var30 = 0; } else { -var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14; +var30 = var_listnode7->type->type_table[cltype31] == idtype32; } } -if (unlikely(!var12)) { +if (unlikely(!var30)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2790); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2630); show_backtrace(1); } -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; +{ +var33 = parser_work__ReduceAction__concat(self, var_listnode8, var_listnode7); +} +var_listnode8 = var33; +var34 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var34->class->vft[COLOR_kernel__Object__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(cltype16 >= var_pvisibilitynode4->type->table_size) { -var15 = 0; +if(cltype36 >= var_listnode12->type->table_size) { +var35 = 0; } else { -var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17; +var35 = var_listnode12->type->type_table[cltype36] == idtype37; } } -if (unlikely(!var15)) { +if (unlikely(!var35)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2792); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2634); 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; +{ +var38 = parser_work__ReduceAction__concat(self, var_listnode13, var_listnode12); +} +var_listnode13 = var38; +var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations); +var40 = NULL; +var41 = NULL; +var42 = NULL; +{ +parser_prod__AAnnotations__init_aannotations(var39, var40, var41, var_listnode13, var42); /* Direct call parser_prod#AAnnotations#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(cltype19 >= var_tkwmethnode5->type->table_size) { -var18 = 0; +if(cltype44 >= var_pexterncodeblocknode15->type->table_size) { +var43 = 0; } else { -var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20; +var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45; } } -if (unlikely(!var18)) { +if (unlikely(!var43)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2794); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2643); show_backtrace(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; +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(cltype22 >= var_pmethidnode6->type->table_size) { -var21 = 0; +if(cltype47 >= var_listnode16->type->table_size) { +var46 = 0; } else { -var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23; +var46 = var_listnode16->type->type_table[cltype47] == idtype48; } } -if (unlikely(!var21)) { +if (unlikely(!var46)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2796); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2645); show_backtrace(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; +{ +var49 = parser_work__ReduceAction__concat(self, var_listnode17, var_listnode16); +} +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(cltype25 >= var_psignaturenode7->type->table_size) { -var24 = 0; +if(cltype51 >= var_listnode18->type->table_size) { +var50 = 0; } else { -var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26; +var50 = var_listnode18->type->type_table[cltype51] == idtype52; } } -if (unlikely(!var24)) { +if (unlikely(!var50)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2798); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2648); show_backtrace(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; +{ +var53 = parser_work__ReduceAction__concat(self, var_listnode19, var_listnode18); +} +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(cltype28 >= var_pannotationsnode8->type->table_size) { -var27 = 0; +if(cltype55 >= var_tkwendnode20->type->table_size) { +var54 = 0; } else { -var27 = var_pannotationsnode8->type->type_table[cltype28] == idtype29; +var54 = var_tkwendnode20->type->type_table[cltype55] == idtype56; } } -if (unlikely(!var27)) { +if (unlikely(!var54)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2800); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2651); 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; +var57 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef); +{ +parser_prod__AStdClassdef__init_astdclassdef(var57, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ +} +var_pclassdefnode1 = var57; +var_node_list = var_pclassdefnode1; +var58 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var59 = parser_work__Parser__go_to(var_p, var58); +} +{ +parser_work__Parser__push(var_p, var59, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction41#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction41__action(val* self, val* p0) { +parser__ReduceAction41__action(self, p0); /* Direct call parser#ReduceAction41#action on */ +RET_LABEL:; +} +/* method parser#ReduceAction43#action for (self: ReduceAction43, Parser) */ +void parser__ReduceAction43__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_tkwredefnode1 /* var tkwredefnode1: nullable Object */; +long var2 /* : Int */; +long var3 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +{ +var1 = parser_work__Parser__pop(var_p); +} +var_nodearraylist1 = var1; +var_tkwredefnode1 = var_nodearraylist1; +var_node_list = var_tkwredefnode1; +var2 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var3 = parser_work__Parser__go_to(var_p, var2); +} +{ +parser_work__Parser__push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction43#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction43__action(val* self, val* p0) { +parser__ReduceAction43__action(self, p0); /* Direct call parser#ReduceAction43#action on */ +RET_LABEL:; +} +/* method parser#ReduceAction44#action for (self: ReduceAction44, Parser) */ +void parser__ReduceAction44__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 = parser_work__Parser__pop(var_p); +} +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(cltype31 >= var_pexprnode9->type->table_size) { -var30 = 0; +if(cltype >= var_tkwclassnode2->type->table_size) { +var2 = 0; } else { -var30 = var_pexprnode9->type->type_table[cltype31] == idtype32; +var2 = var_tkwclassnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var30)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2802); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2687); show_backtrace(1); } -var33 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef); +var3 = NEW_parser_nodes__AConcreteClasskind(&type_parser_nodes__AConcreteClasskind); { -parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9); /* Direct call parser_prod#AConcreteMethPropdef#init_aconcretemethpropdef on */ +parser_prod__AConcreteClasskind__init_aconcreteclasskind(var3, var_tkwclassnode2); /* Direct call parser_prod#AConcreteClasskind#init_aconcreteclasskind on */ } -var_ppropdefnode1 = var33; -var_node_list = var_ppropdefnode1; -var34 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_pclasskindnode1 = var3; +var_node_list = var_pclasskindnode1; +var4 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var35 = parser_work__Parser__go_to(var_p, var34); +var5 = parser_work__Parser__go_to(var_p, var4); } { -parser_work__Parser__push(var_p, var35, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction58#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction58__action(val* self, val* p0) { -parser__ReduceAction58__action(self, p0); /* Direct call parser#ReduceAction58#action on */ +/* method parser#ReduceAction44#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction44__action(val* self, val* p0) { +parser__ReduceAction44__action(self, p0); /* Direct call parser#ReduceAction44#action on */ RET_LABEL:; } -/* method parser#ReduceAction59#action for (self: ReduceAction59, Parser) */ -void parser__ReduceAction59__action(val* self, val* p0) { +/* method parser#ReduceAction45#action for (self: ReduceAction45, Parser) */ +void parser__ReduceAction45__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* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var8 /* : Bool */; +val* var_tkwabstractnode2 /* var tkwabstractnode2: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -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 */; +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 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var1; +var_nodearraylist2 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var2; -{ -var3 = parser_work__Parser__pop(var_p); -} -var_nodearraylist5 = var3; -{ -var4 = parser_work__Parser__pop(var_p); -} -var_nodearraylist4 = var4; -{ -var5 = parser_work__Parser__pop(var_p); -} -var_nodearraylist3 = var5; -{ -var6 = parser_work__Parser__pop(var_p); -} -var_nodearraylist2 = var6; -{ -var7 = parser_work__Parser__pop(var_p); -} -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) { -var8 = 1; +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(cltype >= var_pdocnode2->type->table_size) { -var8 = 0; +if(cltype >= var_tkwabstractnode2->type->table_size) { +var3 = 0; } else { -var8 = var_pdocnode2->type->type_table[cltype] == idtype; +var3 = var_tkwabstractnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var8)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2830); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2703); show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype10 = type_nullable_parser_nodes__TKwredef.color; -idtype11 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var9 = 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(cltype10 >= var_tkwredefnode3->type->table_size) { -var9 = 0; +if(cltype5 >= var_tkwclassnode3->type->table_size) { +var4 = 0; } else { -var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11; +var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6; } } -if (unlikely(!var9)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2832); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2705); show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype13 = type_nullable_parser_nodes__AVisibility.color; -idtype14 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var12 = 1; -} else { -if(cltype13 >= var_pvisibilitynode4->type->table_size) { -var12 = 0; -} else { -var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14; +var7 = NEW_parser_nodes__AAbstractClasskind(&type_parser_nodes__AAbstractClasskind); +{ +parser_prod__AAbstractClasskind__init_aabstractclasskind(var7, var_tkwabstractnode2, var_tkwclassnode3); /* Direct call parser_prod#AAbstractClasskind#init_aabstractclasskind on */ } +var_pclasskindnode1 = var7; +var_node_list = var_pclasskindnode1; +var8 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var9 = parser_work__Parser__go_to(var_p, var8); } -if (unlikely(!var12)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2834); -show_backtrace(1); +{ +parser_work__Parser__push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ } -var_tkwmethnode5 = var_nodearraylist4; -/* isa nullable TKwmeth */ -cltype16 = type_nullable_parser_nodes__TKwmeth.color; -idtype17 = type_nullable_parser_nodes__TKwmeth.id; -if(var_tkwmethnode5 == NULL) { -var15 = 1; -} else { -if(cltype16 >= var_tkwmethnode5->type->table_size) { -var15 = 0; -} else { -var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17; +RET_LABEL:; } +/* method parser#ReduceAction45#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction45__action(val* self, val* p0) { +parser__ReduceAction45__action(self, p0); /* Direct call parser#ReduceAction45#action on */ +RET_LABEL:; } -if (unlikely(!var15)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2836); -show_backtrace(1); +/* method parser#ReduceAction46#action for (self: ReduceAction46, Parser) */ +void parser__ReduceAction46__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 = parser_work__Parser__pop(var_p); } -var_pmethidnode6 = var_nodearraylist5; -/* isa nullable AMethid */ -cltype19 = type_nullable_parser_nodes__AMethid.color; -idtype20 = type_nullable_parser_nodes__AMethid.id; -if(var_pmethidnode6 == NULL) { -var18 = 1; +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(cltype19 >= var_pmethidnode6->type->table_size) { -var18 = 0; +if(cltype >= var_tkwinterfacenode2->type->table_size) { +var2 = 0; } else { -var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20; +var2 = var_tkwinterfacenode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var18)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2838); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2721); show_backtrace(1); } -var_psignaturenode7 = var_nodearraylist6; -/* isa nullable ASignature */ -cltype22 = type_nullable_parser_nodes__ASignature.color; -idtype23 = type_nullable_parser_nodes__ASignature.id; -if(var_psignaturenode7 == NULL) { -var21 = 1; -} else { -if(cltype22 >= var_psignaturenode7->type->table_size) { -var21 = 0; -} else { -var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23; +var3 = NEW_parser_nodes__AInterfaceClasskind(&type_parser_nodes__AInterfaceClasskind); +{ +parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(var3, var_tkwinterfacenode2); /* Direct call parser_prod#AInterfaceClasskind#init_ainterfaceclasskind on */ +} +var_pclasskindnode1 = var3; +var_node_list = var_pclasskindnode1; +var4 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var5 = parser_work__Parser__go_to(var_p, var4); +} +{ +parser_work__Parser__push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; } +/* method parser#ReduceAction46#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction46__action(val* self, val* p0) { +parser__ReduceAction46__action(self, p0); /* Direct call parser#ReduceAction46#action on */ +RET_LABEL:; } -if (unlikely(!var21)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2840); -show_backtrace(1); +/* method parser#ReduceAction47#action for (self: ReduceAction47, Parser) */ +void parser__ReduceAction47__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 = parser_work__Parser__pop(var_p); } -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_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(cltype25 >= var_pannotationsnode8->type->table_size) { -var24 = 0; +if(cltype >= var_tkwenumnode2->type->table_size) { +var2 = 0; } else { -var24 = var_pannotationsnode8->type->type_table[cltype25] == idtype26; +var2 = var_tkwenumnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var24)) { +if (unlikely(!var2)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2842); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2736); show_backtrace(1); } -var27 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef); +var3 = NEW_parser_nodes__AEnumClasskind(&type_parser_nodes__AEnumClasskind); { -parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8); /* Direct call parser_prod#ADeferredMethPropdef#init_adeferredmethpropdef on */ +parser_prod__AEnumClasskind__init_aenumclasskind(var3, var_tkwenumnode2); /* Direct call parser_prod#AEnumClasskind#init_aenumclasskind on */ } -var_ppropdefnode1 = var27; -var_node_list = var_ppropdefnode1; -var28 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_pclasskindnode1 = var3; +var_node_list = var_pclasskindnode1; +var4 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var29 = parser_work__Parser__go_to(var_p, var28); +var5 = parser_work__Parser__go_to(var_p, var4); } { -parser_work__Parser__push(var_p, var29, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction59#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction59__action(val* self, val* p0) { -parser__ReduceAction59__action(self, p0); /* Direct call parser#ReduceAction59#action on */ +/* method parser#ReduceAction47#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction47__action(val* self, val* p0) { +parser__ReduceAction47__action(self, p0); /* Direct call parser#ReduceAction47#action on */ RET_LABEL:; } -/* method parser#ReduceAction60#action for (self: ReduceAction60, Parser) */ -void parser__ReduceAction60__action(val* self, val* p0) { +/* method parser#ReduceAction48#action for (self: ReduceAction48, Parser) */ +void parser__ReduceAction48__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* var2 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +val* var_tkwexternnode2 /* var tkwexternnode2: nullable Object */; +short int var3 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_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* var25 /* : ADeferredMethPropdef */; -val* var26 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */; -long var27 /* : Int */; -long var28 /* : Int */; +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 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var1; +var_nodearraylist2 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var2; -{ -var3 = parser_work__Parser__pop(var_p); -} -var_nodearraylist6 = var3; -{ -var4 = parser_work__Parser__pop(var_p); -} -var_nodearraylist5 = var4; -{ -var5 = parser_work__Parser__pop(var_p); -} -var_nodearraylist4 = var5; -{ -var6 = parser_work__Parser__pop(var_p); -} -var_nodearraylist3 = var6; -{ -var7 = parser_work__Parser__pop(var_p); -} -var_nodearraylist2 = var7; -{ -var8 = parser_work__Parser__pop(var_p); -} -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; +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(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +if(cltype >= var_tkwexternnode2->type->table_size) { +var3 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var3 = var_tkwexternnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var9)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2870); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2752); show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype11 = type_nullable_parser_nodes__TKwredef.color; -idtype12 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var10 = 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(cltype11 >= var_tkwredefnode3->type->table_size) { -var10 = 0; +if(cltype5 >= var_tkwclassnode3->type->table_size) { +var4 = 0; } else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6; } } -if (unlikely(!var10)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2872); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2754); show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype14 = type_nullable_parser_nodes__AVisibility.color; -idtype15 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var13 = 1; -} else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; -} else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var7 = NEW_parser_nodes__AExternClasskind(&type_parser_nodes__AExternClasskind); +{ +parser_prod__AExternClasskind__init_aexternclasskind(var7, var_tkwexternnode2, var_tkwclassnode3); /* Direct call parser_prod#AExternClasskind#init_aexternclasskind on */ } +var_pclasskindnode1 = var7; +var_node_list = var_pclasskindnode1; +var8 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var9 = parser_work__Parser__go_to(var_p, var8); } -if (unlikely(!var13)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2874); -show_backtrace(1); +{ +parser_work__Parser__push(var_p, var9, var_node_list); /* Direct call parser_work#Parser#push on */ } -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 { -var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18; +RET_LABEL:; } +/* method parser#ReduceAction48#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction48__action(val* self, val* p0) { +parser__ReduceAction48__action(self, p0); /* Direct call parser#ReduceAction48#action on */ +RET_LABEL:; } -if (unlikely(!var16)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2876); -show_backtrace(1); +/* method parser#ReduceAction49#action for (self: ReduceAction49, Parser) */ +void parser__ReduceAction49__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* var6 /* : Array[Object] */; +val* var_listnode2 /* var listnode2: Array[Object] */; +val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */; +val* var7 /* : null */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +long var10 /* : Int */; +long var11 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +{ +var1 = parser_work__Parser__pop(var_p); } -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(cltype20 >= var_pmethidnode6->type->table_size) { -var19 = 0; -} else { -var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21; +var_nodearraylist5 = var1; +{ +var2 = parser_work__Parser__pop(var_p); +} +var_nodearraylist4 = var2; +{ +var3 = parser_work__Parser__pop(var_p); } +var_nodearraylist3 = var3; +{ +var4 = parser_work__Parser__pop(var_p); } -if (unlikely(!var19)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2878); -show_backtrace(1); +var_nodearraylist2 = var4; +{ +var5 = parser_work__Parser__pop(var_p); } -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(cltype23 >= var_psignaturenode7->type->table_size) { -var22 = 0; -} else { -var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24; +var_nodearraylist1 = var5; +var6 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var6->class->vft[COLOR_kernel__Object__init]))(var6) /* init on */; } +var_listnode2 = var6; +var_pformaldefnode1 = var_nodearraylist3; +var7 = NULL; +if (var_pformaldefnode1 == NULL) { +var8 = 0; /* is null */ +} else { +var8 = 1; /* arg is null and recv is not */ } -if (unlikely(!var22)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2880); -show_backtrace(1); +if (0) { +var9 = ((short int (*)(val*, val*))(var_pformaldefnode1->class->vft[COLOR_kernel__Object___33d_61d]))(var_pformaldefnode1, var7) /* != on */; +var8 = var9; } -var25 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef); -var26 = NULL; +if (var8){ { -parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var26); /* Direct call parser_prod#ADeferredMethPropdef#init_adeferredmethpropdef on */ +array__Array__add(var_listnode2, var_pformaldefnode1); /* Direct call array#Array#add on */ } -var_ppropdefnode1 = var25; -var_node_list = var_ppropdefnode1; -var27 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +} else { +} +var_node_list = var_listnode2; +var10 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var28 = parser_work__Parser__go_to(var_p, var27); +var11 = parser_work__Parser__go_to(var_p, var10); } { -parser_work__Parser__push(var_p, var28, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var11, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction60#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction60__action(val* self, val* p0) { -parser__ReduceAction60__action(self, p0); /* Direct call parser#ReduceAction60#action on */ +/* method parser#ReduceAction49#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction49__action(val* self, val* p0) { +parser__ReduceAction49__action(self, p0); /* Direct call parser#ReduceAction49#action on */ RET_LABEL:; } -/* method parser#ReduceAction61#action for (self: ReduceAction61, Parser) */ -void parser__ReduceAction61__action(val* self, val* p0) { +/* method parser#ReduceAction50#action for (self: ReduceAction50, Parser) */ +void parser__ReduceAction50__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* 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 */; +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* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +val* var9 /* : null */; short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var_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* var25 /* : AInternMethPropdef */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AInternMethPropdef */; -long var26 /* : Int */; -long var27 /* : Int */; +short int var11 /* : Bool */; +val* var12 /* : Array[Object] */; +long var13 /* : Int */; +long var14 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var1; +var_nodearraylist6 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var2; +var_nodearraylist5 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var3; +var_nodearraylist4 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var4; +var_nodearraylist3 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var5; +var_nodearraylist2 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var6; -{ -var7 = parser_work__Parser__pop(var_p); -} -var_nodearraylist2 = var7; +var_nodearraylist1 = var6; +var7 = NEW_array__Array(&type_array__Arraykernel__Object); { -var8 = parser_work__Parser__pop(var_p); +((void (*)(val*))(var7->class->vft[COLOR_kernel__Object__init]))(var7) /* init 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; +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(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; +if(cltype >= var_listnode2->type->table_size) { +var8 = 0; } else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; +var8 = var_listnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var9)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2908); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2796); show_backtrace(1); } -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype11 = type_nullable_parser_nodes__TKwredef.color; -idtype12 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var10 = 1; -} else { -if(cltype11 >= var_tkwredefnode3->type->table_size) { -var10 = 0; +var9 = NULL; +if (var_pformaldefnode1 == NULL) { +var10 = 0; /* is null */ } else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +var10 = 1; /* arg is null and recv is not */ } +if (0) { +var11 = ((short int (*)(val*, val*))(var_pformaldefnode1->class->vft[COLOR_kernel__Object___33d_61d]))(var_pformaldefnode1, var9) /* != on */; +var10 = var11; } -if (unlikely(!var10)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2910); -show_backtrace(1); +if (var10){ +{ +array__Array__add(var_listnode3, var_pformaldefnode1); /* Direct call array#Array#add on */ } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype14 = type_nullable_parser_nodes__AVisibility.color; -idtype15 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var13 = 1; -} else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; } +{ +var12 = parser_work__ReduceAction__concat(self, var_listnode3, var_listnode2); +} +var_listnode3 = var12; +var_node_list = var_listnode3; +var13 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var14 = parser_work__Parser__go_to(var_p, var13); +} +{ +parser_work__Parser__push(var_p, var14, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction50#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction50__action(val* self, val* p0) { +parser__ReduceAction50__action(self, p0); /* Direct call parser#ReduceAction50#action on */ +RET_LABEL:; +} +/* method parser#ReduceAction51#action for (self: ReduceAction51, Parser) */ +void parser__ReduceAction51__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : Array[Object] */; +val* var_listnode1 /* var listnode1: Array[Object] */; +long var2 /* : Int */; +long var3 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +var1 = NEW_array__Array(&type_array__Arraykernel__Object); +{ +((void (*)(val*))(var1->class->vft[COLOR_kernel__Object__init]))(var1) /* init on */; +} +var_listnode1 = var1; +var_node_list = var_listnode1; +var2 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var3 = parser_work__Parser__go_to(var_p, var2); +} +{ +parser_work__Parser__push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction51#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction51__action(val* self, val* p0) { +parser__ReduceAction51__action(self, p0); /* Direct call parser#ReduceAction51#action on */ +RET_LABEL:; +} +/* method parser#ReduceAction52#action for (self: ReduceAction52, Parser) */ +void parser__ReduceAction52__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 = parser_work__Parser__pop(var_p); +} +var_nodearraylist3 = var1; +{ +var2 = parser_work__Parser__pop(var_p); +} +var_nodearraylist2 = var2; +{ +var3 = parser_work__Parser__pop(var_p); +} +var_nodearraylist1 = var3; +var_pformaldefnode1 = var_nodearraylist3; +var_node_list = var_pformaldefnode1; +var4 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var5 = parser_work__Parser__go_to(var_p, var4); +} +{ +parser_work__Parser__push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on */ } -if (unlikely(!var13)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2912); -show_backtrace(1); +RET_LABEL:; } -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 { -var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18; +/* method parser#ReduceAction52#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction52__action(val* self, val* p0) { +parser__ReduceAction52__action(self, p0); /* Direct call parser#ReduceAction52#action on */ +RET_LABEL:; } +/* method parser#ReduceAction53#action for (self: ReduceAction53, Parser) */ +void parser__ReduceAction53__action(val* self, val* p0) { +val* var_p /* var p: Parser */; +val* var /* : null */; +val* var_node_list /* var node_list: nullable Object */; +val* var1 /* : nullable Object */; +val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; +val* var2 /* : nullable Object */; +val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; +val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var_ptypenode3 /* var ptypenode3: nullable Object */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +val* var7 /* : AFormaldef */; +val* var8 /* : null */; +val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */; +long var9 /* : Int */; +long var10 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +{ +var1 = parser_work__Parser__pop(var_p); } -if (unlikely(!var16)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2914); -show_backtrace(1); +var_nodearraylist2 = var1; +{ +var2 = parser_work__Parser__pop(var_p); } -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; +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(cltype20 >= var_pmethidnode6->type->table_size) { -var19 = 0; +if(cltype >= var_tclassidnode2->type->table_size) { +var3 = 0; } else { -var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21; +var3 = var_tclassidnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var19)) { +if (unlikely(!var3)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2916); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2836); show_backtrace(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; +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(cltype23 >= var_psignaturenode7->type->table_size) { -var22 = 0; +if(cltype5 >= var_ptypenode3->type->table_size) { +var4 = 0; } else { -var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24; +var4 = var_ptypenode3->type->type_table[cltype5] == idtype6; } } -if (unlikely(!var22)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2918); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2838); show_backtrace(1); } -var25 = NEW_parser_nodes__AInternMethPropdef(&type_parser_nodes__AInternMethPropdef); +var7 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef); +var8 = NULL; { -parser_prod__AInternMethPropdef__init_ainternmethpropdef(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7); /* Direct call parser_prod#AInternMethPropdef#init_ainternmethpropdef on */ +parser_prod__AFormaldef__init_aformaldef(var7, var_tclassidnode2, var_ptypenode3, var8); /* Direct call parser_prod#AFormaldef#init_aformaldef on */ } -var_ppropdefnode1 = var25; -var_node_list = var_ppropdefnode1; -var26 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_pformaldefnode1 = var7; +var_node_list = var_pformaldefnode1; +var9 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var27 = parser_work__Parser__go_to(var_p, var26); +var10 = parser_work__Parser__go_to(var_p, var9); } { -parser_work__Parser__push(var_p, var27, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var10, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction61#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction61__action(val* self, val* p0) { -parser__ReduceAction61__action(self, p0); /* Direct call parser#ReduceAction61#action on */ +/* method parser#ReduceAction53#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction53__action(val* self, val* p0) { +parser__ReduceAction53__action(self, p0); /* Direct call parser#ReduceAction53#action on */ RET_LABEL:; } -/* method parser#ReduceAction62#action for (self: ReduceAction62, Parser) */ -void parser__ReduceAction62__action(val* self, val* p0) { +/* method parser#ReduceAction54#action for (self: ReduceAction54, Parser) */ +void parser__ReduceAction54__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* var2 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var7 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var8 /* : Bool */; +val* var_tclassidnode2 /* var tclassidnode2: nullable Object */; +short int var4 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var_tkwnewnode5 /* var tkwnewnode5: 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* var21 /* : AInternNewPropdef */; -val* var22 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AInternNewPropdef */; -long var23 /* : Int */; -long var24 /* : Int */; +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 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var1; +var_nodearraylist3 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var2; +var_nodearraylist2 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var3; -{ -var4 = parser_work__Parser__pop(var_p); -} -var_nodearraylist4 = var4; -{ -var5 = parser_work__Parser__pop(var_p); -} -var_nodearraylist3 = var5; -{ -var6 = parser_work__Parser__pop(var_p); -} -var_nodearraylist2 = var6; -{ -var7 = parser_work__Parser__pop(var_p); -} -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) { -var8 = 1; -} else { -if(cltype >= var_pdocnode2->type->table_size) { -var8 = 0; -} else { -var8 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var8)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2944); -show_backtrace(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype10 = type_nullable_parser_nodes__TKwredef.color; -idtype11 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var9 = 1; -} else { -if(cltype10 >= var_tkwredefnode3->type->table_size) { -var9 = 0; -} else { -var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11; -} -} -if (unlikely(!var9)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2946); -show_backtrace(1); -} -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype13 = type_nullable_parser_nodes__AVisibility.color; -idtype14 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var12 = 1; +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(cltype13 >= var_pvisibilitynode4->type->table_size) { -var12 = 0; +if(cltype >= var_tclassidnode2->type->table_size) { +var4 = 0; } else { -var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14; +var4 = var_tclassidnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var12)) { +if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2948); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2857); show_backtrace(1); } -var_tkwnewnode5 = var_nodearraylist4; -/* isa nullable TKwnew */ -cltype16 = type_nullable_parser_nodes__TKwnew.color; -idtype17 = type_nullable_parser_nodes__TKwnew.id; -if(var_tkwnewnode5 == NULL) { -var15 = 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(cltype16 >= var_tkwnewnode5->type->table_size) { -var15 = 0; +if(cltype6 >= var_ptypenode3->type->table_size) { +var5 = 0; } else { -var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17; +var5 = var_ptypenode3->type->type_table[cltype6] == idtype7; } } -if (unlikely(!var15)) { +if (unlikely(!var5)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2950); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2859); show_backtrace(1); } -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; +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(cltype19 >= var_psignaturenode7->type->table_size) { -var18 = 0; +if(cltype9 >= var_pannotationsnode4->type->table_size) { +var8 = 0; } else { -var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20; +var8 = var_pannotationsnode4->type->type_table[cltype9] == idtype10; } } -if (unlikely(!var18)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2952); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2861); show_backtrace(1); } -var21 = NEW_parser_nodes__AInternNewPropdef(&type_parser_nodes__AInternNewPropdef); -var22 = NULL; +var11 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef); { -parser_prod__AInternNewPropdef__init_ainternnewpropdef(var21, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var22, var_psignaturenode7); /* Direct call parser_prod#AInternNewPropdef#init_ainternnewpropdef on */ +parser_prod__AFormaldef__init_aformaldef(var11, var_tclassidnode2, var_ptypenode3, var_pannotationsnode4); /* Direct call parser_prod#AFormaldef#init_aformaldef on */ } -var_ppropdefnode1 = var21; -var_node_list = var_ppropdefnode1; -var23 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var_pformaldefnode1 = var11; +var_node_list = var_pformaldefnode1; +var12 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var24 = parser_work__Parser__go_to(var_p, var23); +var13 = parser_work__Parser__go_to(var_p, var12); } { -parser_work__Parser__push(var_p, var24, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction62#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction62__action(val* self, val* p0) { -parser__ReduceAction62__action(self, p0); /* Direct call parser#ReduceAction62#action on */ +/* method parser#ReduceAction54#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction54__action(val* self, val* p0) { +parser__ReduceAction54__action(self, p0); /* Direct call parser#ReduceAction54#action on */ RET_LABEL:; } -/* method parser#ReduceAction63#action for (self: ReduceAction63, Parser) */ -void parser__ReduceAction63__action(val* self, val* p0) { +/* method parser#ReduceAction55#action for (self: ReduceAction55, Parser) */ +void parser__ReduceAction55__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* var2 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var6 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var7 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var8 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; -val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var9 /* : Bool */; +val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */; +short int var6 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +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* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var_tkwnewnode5 /* var tkwnewnode5: 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* var25 /* : AInternNewPropdef */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AInternNewPropdef */; -long var26 /* : Int */; -long var27 /* : Int */; +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 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var1; +var_nodearraylist5 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var2; +var_nodearraylist4 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var3; +var_nodearraylist3 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var4; +var_nodearraylist2 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var5; -{ -var6 = parser_work__Parser__pop(var_p); -} -var_nodearraylist3 = var6; -{ -var7 = parser_work__Parser__pop(var_p); -} -var_nodearraylist2 = var7; -{ -var8 = parser_work__Parser__pop(var_p); -} -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(cltype >= var_pdocnode2->type->table_size) { -var9 = 0; -} else { -var9 = var_pdocnode2->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var9)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2979); -show_backtrace(1); -} -var_tkwredefnode3 = var_nodearraylist2; -/* isa nullable TKwredef */ -cltype11 = type_nullable_parser_nodes__TKwredef.color; -idtype12 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode3 == NULL) { -var10 = 1; +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(cltype11 >= var_tkwredefnode3->type->table_size) { -var10 = 0; +if(cltype >= var_tkwsupernode2->type->table_size) { +var6 = 0; } else { -var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +var6 = var_tkwsupernode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var10)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2981); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2882); show_backtrace(1); } -var_pvisibilitynode4 = var_nodearraylist3; -/* isa nullable AVisibility */ -cltype14 = type_nullable_parser_nodes__AVisibility.color; -idtype15 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode4 == NULL) { -var13 = 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; } else { -if(cltype14 >= var_pvisibilitynode4->type->table_size) { -var13 = 0; +if(cltype8 >= var_ptypenode3->type->table_size) { +var7 = 0; } else { -var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +var7 = var_ptypenode3->type->type_table[cltype8] == idtype9; } } -if (unlikely(!var13)) { +if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2983); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2884); show_backtrace(1); } -var_tkwnewnode5 = var_nodearraylist4; -/* isa nullable TKwnew */ -cltype17 = type_nullable_parser_nodes__TKwnew.color; -idtype18 = type_nullable_parser_nodes__TKwnew.id; -if(var_tkwnewnode5 == NULL) { -var16 = 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(cltype17 >= var_tkwnewnode5->type->table_size) { -var16 = 0; +if(cltype11 >= var_pannotationsnode4->type->table_size) { +var10 = 0; } else { -var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18; +var10 = var_pannotationsnode4->type->type_table[cltype11] == idtype12; } } -if (unlikely(!var16)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2985); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2886); show_backtrace(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(cltype20 >= var_pmethidnode6->type->table_size) { -var19 = 0; -} else { -var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21; +var13 = NEW_parser_nodes__ASuperclass(&type_parser_nodes__ASuperclass); +{ +parser_prod__ASuperclass__init_asuperclass(var13, var_tkwsupernode2, var_ptypenode3, var_pannotationsnode4); /* Direct call parser_prod#ASuperclass#init_asuperclass on */ } +var_psuperclassnode1 = var13; +var_node_list = var_psuperclassnode1; +var14 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var15 = parser_work__Parser__go_to(var_p, var14); } -if (unlikely(!var19)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2987); -show_backtrace(1); +{ +parser_work__Parser__push(var_p, var15, var_node_list); /* Direct call parser_work#Parser#push on */ } -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(cltype23 >= var_psignaturenode7->type->table_size) { -var22 = 0; -} else { -var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24; +RET_LABEL:; } +/* method parser#ReduceAction55#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction55__action(val* self, val* p0) { +parser__ReduceAction55__action(self, p0); /* Direct call parser#ReduceAction55#action on */ +RET_LABEL:; } -if (unlikely(!var22)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 2989); -show_backtrace(1); +/* method parser#ReduceAction56#action for (self: ReduceAction56, Parser) */ +void parser__ReduceAction56__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 = parser_work__Parser__pop(var_p); } -var25 = NEW_parser_nodes__AInternNewPropdef(&type_parser_nodes__AInternNewPropdef); +var_nodearraylist2 = var1; { -parser_prod__AInternNewPropdef__init_ainternnewpropdef(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7); /* Direct call parser_prod#AInternNewPropdef#init_ainternnewpropdef on */ +var2 = parser_work__Parser__pop(var_p); } -var_ppropdefnode1 = var25; +var_nodearraylist1 = var2; +var_ppropdefnode1 = var_nodearraylist1; var_node_list = var_ppropdefnode1; -var26 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var3 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var27 = parser_work__Parser__go_to(var_p, var26); +var4 = parser_work__Parser__go_to(var_p, var3); } { -parser_work__Parser__push(var_p, var27, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var4, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction63#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction63__action(val* self, val* p0) { -parser__ReduceAction63__action(self, p0); /* Direct call parser#ReduceAction63#action on */ +/* method parser#ReduceAction56#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction56__action(val* self, val* p0) { +parser__ReduceAction56__action(self, p0); /* Direct call parser#ReduceAction56#action on */ RET_LABEL:; } -/* method parser#ReduceAction64#action for (self: ReduceAction64, Parser) */ -void parser__ReduceAction64__action(val* self, val* p0) { +/* method parser#ReduceAction57#action for (self: ReduceAction57, Parser) */ +void parser__ReduceAction57__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; val* var1 /* : nullable Object */; -val* var_nodearraylist11 /* var nodearraylist11: nullable Object */; -val* var2 /* : nullable Object */; -val* var_nodearraylist10 /* var nodearraylist10: nullable Object */; -val* var3 /* : nullable Object */; val* var_nodearraylist9 /* var nodearraylist9: nullable Object */; -val* var4 /* : nullable Object */; +val* var2 /* : nullable Object */; val* var_nodearraylist8 /* var nodearraylist8: nullable Object */; -val* var5 /* : nullable Object */; +val* var3 /* : nullable Object */; val* var_nodearraylist7 /* var nodearraylist7: nullable Object */; -val* var6 /* : nullable Object */; +val* var4 /* : nullable Object */; val* var_nodearraylist6 /* var nodearraylist6: nullable Object */; -val* var7 /* : nullable Object */; +val* var5 /* : nullable Object */; val* var_nodearraylist5 /* var nodearraylist5: nullable Object */; -val* var8 /* : nullable Object */; +val* var6 /* : nullable Object */; val* var_nodearraylist4 /* var nodearraylist4: nullable Object */; -val* var9 /* : nullable Object */; +val* var7 /* : nullable Object */; val* var_nodearraylist3 /* var nodearraylist3: nullable Object */; -val* var10 /* : nullable Object */; +val* var8 /* : nullable Object */; val* var_nodearraylist2 /* var nodearraylist2: nullable Object */; -val* var11 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_nodearraylist1 /* var nodearraylist1: nullable Object */; val* var_pdocnode2 /* var pdocnode2: nullable Object */; -short int var12 /* : Bool */; +short int var10 /* : Bool */; int cltype; int idtype; val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var11 /* : Bool */; +int cltype12; +int idtype13; val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +short int var14 /* : Bool */; +int cltype15; +int idtype16; val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var_pmethidnode6 /* var pmethidnode6: nullable Object */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var_psignaturenode7 /* var psignaturenode7: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var_tstringnode9 /* var tstringnode9: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var_pexterncallsnode10 /* var pexterncallsnode10: nullable Object */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -val* var_pexterncodeblocknode11 /* var pexterncodeblocknode11: nullable Object */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -val* var37 /* : AExternMethPropdef */; -val* var38 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */; -long var39 /* : Int */; -long var40 /* : Int */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +val* var_pexprnode13 /* var pexprnode13: nullable Object */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +val* var29 /* : AMethPropdef */; +val* var30 /* : null */; +val* var31 /* : null */; +val* var32 /* : null */; +val* var33 /* : null */; +val* var34 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var35 /* : Int */; +long var36 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist11 = var1; +var_nodearraylist9 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist10 = var2; +var_nodearraylist8 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var3; +var_nodearraylist7 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var4; +var_nodearraylist6 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var5; +var_nodearraylist5 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var6; +var_nodearraylist4 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var7; +var_nodearraylist3 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var8; +var_nodearraylist2 = var8; { var9 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var9; -{ -var10 = parser_work__Parser__pop(var_p); -} -var_nodearraylist2 = var10; -{ -var11 = parser_work__Parser__pop(var_p); -} -var_nodearraylist1 = var11; +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) { -var12 = 1; +var10 = 1; } else { if(cltype >= var_pdocnode2->type->table_size) { -var12 = 0; +var10 = 0; } else { -var12 = var_pdocnode2->type->type_table[cltype] == idtype; +var10 = var_pdocnode2->type->type_table[cltype] == idtype; } } -if (unlikely(!var12)) { +if (unlikely(!var10)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3019); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2923); show_backtrace(1); } var_tkwredefnode3 = var_nodearraylist2; /* isa nullable TKwredef */ -cltype14 = type_nullable_parser_nodes__TKwredef.color; -idtype15 = type_nullable_parser_nodes__TKwredef.id; +cltype12 = type_nullable_parser_nodes__TKwredef.color; +idtype13 = type_nullable_parser_nodes__TKwredef.id; if(var_tkwredefnode3 == NULL) { -var13 = 1; +var11 = 1; } else { -if(cltype14 >= var_tkwredefnode3->type->table_size) { -var13 = 0; +if(cltype12 >= var_tkwredefnode3->type->table_size) { +var11 = 0; } else { -var13 = var_tkwredefnode3->type->type_table[cltype14] == idtype15; +var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13; } } -if (unlikely(!var13)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3021); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2925); show_backtrace(1); } var_pvisibilitynode4 = var_nodearraylist3; /* isa nullable AVisibility */ -cltype17 = type_nullable_parser_nodes__AVisibility.color; -idtype18 = type_nullable_parser_nodes__AVisibility.id; +cltype15 = type_nullable_parser_nodes__AVisibility.color; +idtype16 = type_nullable_parser_nodes__AVisibility.id; if(var_pvisibilitynode4 == NULL) { -var16 = 1; +var14 = 1; } else { -if(cltype17 >= var_pvisibilitynode4->type->table_size) { -var16 = 0; +if(cltype15 >= var_pvisibilitynode4->type->table_size) { +var14 = 0; } else { -var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18; +var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16; } } -if (unlikely(!var16)) { +if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3023); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2927); show_backtrace(1); } var_tkwmethnode5 = var_nodearraylist4; /* isa nullable TKwmeth */ -cltype20 = type_nullable_parser_nodes__TKwmeth.color; -idtype21 = type_nullable_parser_nodes__TKwmeth.id; +cltype18 = type_nullable_parser_nodes__TKwmeth.color; +idtype19 = type_nullable_parser_nodes__TKwmeth.id; if(var_tkwmethnode5 == NULL) { -var19 = 1; -} else { -if(cltype20 >= var_tkwmethnode5->type->table_size) { -var19 = 0; -} else { -var19 = var_tkwmethnode5->type->type_table[cltype20] == idtype21; -} -} -if (unlikely(!var19)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3025); -show_backtrace(1); -} -var_pmethidnode6 = var_nodearraylist5; -/* isa nullable AMethid */ -cltype23 = type_nullable_parser_nodes__AMethid.color; -idtype24 = type_nullable_parser_nodes__AMethid.id; -if(var_pmethidnode6 == NULL) { -var22 = 1; -} else { -if(cltype23 >= var_pmethidnode6->type->table_size) { -var22 = 0; -} else { -var22 = var_pmethidnode6->type->type_table[cltype23] == idtype24; -} -} -if (unlikely(!var22)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3027); -show_backtrace(1); -} -var_psignaturenode7 = var_nodearraylist6; -/* isa nullable ASignature */ -cltype26 = type_nullable_parser_nodes__ASignature.color; -idtype27 = type_nullable_parser_nodes__ASignature.id; -if(var_psignaturenode7 == NULL) { -var25 = 1; +var17 = 1; } else { -if(cltype26 >= var_psignaturenode7->type->table_size) { -var25 = 0; +if(cltype18 >= var_tkwmethnode5->type->table_size) { +var17 = 0; } else { -var25 = var_psignaturenode7->type->type_table[cltype26] == idtype27; +var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19; } } -if (unlikely(!var25)) { +if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3029); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2929); show_backtrace(1); } -var_tstringnode9 = var_nodearraylist9; -/* isa nullable TString */ -cltype29 = type_nullable_parser_nodes__TString.color; -idtype30 = type_nullable_parser_nodes__TString.id; -if(var_tstringnode9 == NULL) { -var28 = 1; +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype21 = type_nullable_parser_nodes__AMethid.color; +idtype22 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode8 == NULL) { +var20 = 1; } else { -if(cltype29 >= var_tstringnode9->type->table_size) { -var28 = 0; +if(cltype21 >= var_pmethidnode8->type->table_size) { +var20 = 0; } else { -var28 = var_tstringnode9->type->type_table[cltype29] == idtype30; +var20 = var_pmethidnode8->type->type_table[cltype21] == idtype22; } } -if (unlikely(!var28)) { +if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3031); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2931); show_backtrace(1); } -var_pexterncallsnode10 = var_nodearraylist10; -/* isa nullable AExternCalls */ -cltype32 = type_nullable_parser_nodes__AExternCalls.color; -idtype33 = type_nullable_parser_nodes__AExternCalls.id; -if(var_pexterncallsnode10 == NULL) { -var31 = 1; +var_psignaturenode9 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype24 = type_nullable_parser_nodes__ASignature.color; +idtype25 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode9 == NULL) { +var23 = 1; } else { -if(cltype32 >= var_pexterncallsnode10->type->table_size) { -var31 = 0; +if(cltype24 >= var_psignaturenode9->type->table_size) { +var23 = 0; } else { -var31 = var_pexterncallsnode10->type->type_table[cltype32] == idtype33; +var23 = var_psignaturenode9->type->type_table[cltype24] == idtype25; } } -if (unlikely(!var31)) { +if (unlikely(!var23)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3033); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2933); show_backtrace(1); } -var_pexterncodeblocknode11 = var_nodearraylist11; -/* isa nullable AExternCodeBlock */ -cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode11 == NULL) { -var34 = 1; +var_pexprnode13 = var_nodearraylist8; +/* isa nullable AExpr */ +cltype27 = type_nullable_parser_nodes__AExpr.color; +idtype28 = type_nullable_parser_nodes__AExpr.id; +if(var_pexprnode13 == NULL) { +var26 = 1; } else { -if(cltype35 >= var_pexterncodeblocknode11->type->table_size) { -var34 = 0; +if(cltype27 >= var_pexprnode13->type->table_size) { +var26 = 0; } else { -var34 = var_pexterncodeblocknode11->type->type_table[cltype35] == idtype36; +var26 = var_pexprnode13->type->type_table[cltype27] == idtype28; } } -if (unlikely(!var34)) { +if (unlikely(!var26)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3035); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2935); show_backtrace(1); } -var37 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); -var38 = NULL; +var29 = NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef); +var30 = NULL; +var31 = NULL; +var32 = NULL; +var33 = NULL; +var34 = NULL; { -parser_prod__AExternMethPropdef__init_aexternmethpropdef(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var38, var_tstringnode9, var_pexterncallsnode10, var_pexterncodeblocknode11); /* Direct call parser_prod#AExternMethPropdef#init_aexternmethpropdef on */ +parser_prod__AMethPropdef__init_amethpropdef(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var30, var31, var_pmethidnode8, var_psignaturenode9, var32, var33, var34, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_ppropdefnode1 = var37; +var_ppropdefnode1 = var29; var_node_list = var_ppropdefnode1; -var39 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var35 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var40 = parser_work__Parser__go_to(var_p, var39); +var36 = parser_work__Parser__go_to(var_p, var35); } { -parser_work__Parser__push(var_p, var40, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var36, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction64#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction64__action(val* self, val* p0) { -parser__ReduceAction64__action(self, p0); /* Direct call parser#ReduceAction64#action on */ +/* method parser#ReduceAction57#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction57__action(val* self, val* p0) { +parser__ReduceAction57__action(self, p0); /* Direct call parser#ReduceAction57#action on */ RET_LABEL:; } -/* method parser#ReduceAction65#action for (self: ReduceAction65, Parser) */ -void parser__ReduceAction65__action(val* self, val* p0) { +/* method parser#ReduceAction58#action for (self: ReduceAction58, Parser) */ +void parser__ReduceAction58__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; -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_pexterncallsnode10 /* var pexterncallsnode10: nullable Object */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var_pexterncodeblocknode11 /* var pexterncodeblocknode11: nullable Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : AExternMethPropdef */; -val* var32 /* : null */; -val* var33 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */; -long var34 /* : Int */; -long var35 /* : Int */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +val* var_pexprnode13 /* var pexprnode13: nullable Object */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +val* var33 /* : AMethPropdef */; +val* var34 /* : null */; +val* var35 /* : null */; +val* var36 /* : null */; +val* var37 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var38 /* : Int */; +long var39 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var1; +var_nodearraylist10 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var2; +var_nodearraylist9 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var3; +var_nodearraylist8 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var4; +var_nodearraylist7 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var5; +var_nodearraylist6 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var6; +var_nodearraylist5 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist2 = var7; +var_nodearraylist4 = var7; { var8 = parser_work__Parser__pop(var_p); } -var_nodearraylist1 = var8; +var_nodearraylist3 = var8; +{ +var9 = parser_work__Parser__pop(var_p); +} +var_nodearraylist2 = var9; +{ +var10 = parser_work__Parser__pop(var_p); +} +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 (unlikely(!var9)) { +if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3066); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2970); 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 (unlikely(!var10)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3068); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2972); 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 (unlikely(!var13)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3070); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2974); 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 (unlikely(!var16)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3072); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2976); show_backtrace(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; +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype22 = type_nullable_parser_nodes__AMethid.color; +idtype23 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode8 == NULL) { +var21 = 1; } else { -if(cltype20 >= var_pmethidnode6->type->table_size) { -var19 = 0; +if(cltype22 >= var_pmethidnode8->type->table_size) { +var21 = 0; } else { -var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21; +var21 = var_pmethidnode8->type->type_table[cltype22] == idtype23; } } -if (unlikely(!var19)) { +if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3074); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2978); show_backtrace(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; +var_psignaturenode9 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype25 = type_nullable_parser_nodes__ASignature.color; +idtype26 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode9 == NULL) { +var24 = 1; } else { -if(cltype23 >= var_psignaturenode7->type->table_size) { -var22 = 0; +if(cltype25 >= var_psignaturenode9->type->table_size) { +var24 = 0; } else { -var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24; +var24 = var_psignaturenode9->type->type_table[cltype25] == idtype26; } } -if (unlikely(!var22)) { +if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3076); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2980); show_backtrace(1); } -var_pexterncallsnode10 = var_nodearraylist7; -/* isa nullable AExternCalls */ -cltype26 = type_nullable_parser_nodes__AExternCalls.color; -idtype27 = type_nullable_parser_nodes__AExternCalls.id; -if(var_pexterncallsnode10 == NULL) { -var25 = 1; +var_pannotationsnode10 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype28 = type_nullable_parser_nodes__AAnnotations.color; +idtype29 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { +var27 = 1; } else { -if(cltype26 >= var_pexterncallsnode10->type->table_size) { -var25 = 0; +if(cltype28 >= var_pannotationsnode10->type->table_size) { +var27 = 0; } else { -var25 = var_pexterncallsnode10->type->type_table[cltype26] == idtype27; +var27 = var_pannotationsnode10->type->type_table[cltype28] == idtype29; } } -if (unlikely(!var25)) { +if (unlikely(!var27)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3078); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2982); show_backtrace(1); } -var_pexterncodeblocknode11 = var_nodearraylist8; -/* isa nullable AExternCodeBlock */ -cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode11 == NULL) { -var28 = 1; +var_pexprnode13 = var_nodearraylist9; +/* isa nullable AExpr */ +cltype31 = type_nullable_parser_nodes__AExpr.color; +idtype32 = type_nullable_parser_nodes__AExpr.id; +if(var_pexprnode13 == NULL) { +var30 = 1; } else { -if(cltype29 >= var_pexterncodeblocknode11->type->table_size) { -var28 = 0; +if(cltype31 >= var_pexprnode13->type->table_size) { +var30 = 0; } else { -var28 = var_pexterncodeblocknode11->type->type_table[cltype29] == idtype30; +var30 = var_pexprnode13->type->type_table[cltype31] == idtype32; } } -if (unlikely(!var28)) { +if (unlikely(!var30)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3080); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 2984); show_backtrace(1); } -var31 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); -var32 = NULL; -var33 = NULL; +var33 = NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef); +var34 = NULL; +var35 = NULL; +var36 = NULL; +var37 = NULL; { -parser_prod__AExternMethPropdef__init_aexternmethpropdef(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var32, var33, var_pexterncallsnode10, var_pexterncodeblocknode11); /* Direct call parser_prod#AExternMethPropdef#init_aexternmethpropdef on */ +parser_prod__AMethPropdef__init_amethpropdef(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var34, var35, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, var36, var37, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_ppropdefnode1 = var31; +var_ppropdefnode1 = var33; var_node_list = var_ppropdefnode1; -var34 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var38 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var35 = parser_work__Parser__go_to(var_p, var34); +var39 = parser_work__Parser__go_to(var_p, var38); } { -parser_work__Parser__push(var_p, var35, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var39, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction65#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction65__action(val* self, val* p0) { -parser__ReduceAction65__action(self, p0); /* Direct call parser#ReduceAction65#action on */ +/* method parser#ReduceAction58#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction58__action(val* self, val* p0) { +parser__ReduceAction58__action(self, p0); /* Direct call parser#ReduceAction58#action on */ RET_LABEL:; } -/* method parser#ReduceAction66#action for (self: ReduceAction66, Parser) */ -void parser__ReduceAction66__action(val* self, val* p0) { +/* method parser#ReduceAction59#action for (self: ReduceAction59, Parser) */ +void parser__ReduceAction59__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; -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_pexterncallsnode10 /* var pexterncallsnode10: nullable Object */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -val* var_pexterncodeblocknode11 /* var pexterncodeblocknode11: nullable Object */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : AExternMethPropdef */; -val* var36 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */; -long var37 /* : Int */; -long var38 /* : Int */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +val* var27 /* : AMethPropdef */; +val* var28 /* : null */; +val* var29 /* : null */; +val* var30 /* : null */; +val* var31 /* : null */; +val* var32 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var33 /* : Int */; +long var34 /* : Int */; var_p = p0; var = NULL; var_node_list = var; { var1 = parser_work__Parser__pop(var_p); } -var_nodearraylist9 = var1; +var_nodearraylist7 = var1; { var2 = parser_work__Parser__pop(var_p); } -var_nodearraylist8 = var2; +var_nodearraylist6 = var2; { var3 = parser_work__Parser__pop(var_p); } -var_nodearraylist7 = var3; +var_nodearraylist5 = var3; { var4 = parser_work__Parser__pop(var_p); } -var_nodearraylist6 = var4; +var_nodearraylist4 = var4; { var5 = parser_work__Parser__pop(var_p); } -var_nodearraylist5 = var5; +var_nodearraylist3 = var5; { var6 = parser_work__Parser__pop(var_p); } -var_nodearraylist4 = var6; +var_nodearraylist2 = var6; { var7 = parser_work__Parser__pop(var_p); } -var_nodearraylist3 = var7; -{ -var8 = parser_work__Parser__pop(var_p); -} -var_nodearraylist2 = var8; -{ -var9 = parser_work__Parser__pop(var_p); -} -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 (unlikely(!var10)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3112); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3016); 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 (unlikely(!var11)) { +if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3114); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3018); 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 (unlikely(!var14)) { +if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3116); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3020); 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; -} else { -if(cltype18 >= var_tkwmethnode5->type->table_size) { -var17 = 0; -} else { -var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19; -} -} -if (unlikely(!var17)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3118); -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(cltype21 >= var_pmethidnode6->type->table_size) { -var20 = 0; -} else { -var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22; -} -} -if (unlikely(!var20)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3120); -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; +var15 = 1; } else { -if(cltype24 >= var_psignaturenode7->type->table_size) { -var23 = 0; +if(cltype16 >= var_tkwmethnode5->type->table_size) { +var15 = 0; } else { -var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25; +var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17; } } -if (unlikely(!var23)) { +if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3122); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3022); 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; +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype19 = type_nullable_parser_nodes__AMethid.color; +idtype20 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode8 == NULL) { +var18 = 1; } else { -if(cltype27 >= var_pannotationsnode8->type->table_size) { -var26 = 0; +if(cltype19 >= var_pmethidnode8->type->table_size) { +var18 = 0; } else { -var26 = var_pannotationsnode8->type->type_table[cltype27] == idtype28; +var18 = var_pmethidnode8->type->type_table[cltype19] == idtype20; } } -if (unlikely(!var26)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3124); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3024); show_backtrace(1); } -var_pexterncallsnode10 = var_nodearraylist8; -/* isa nullable AExternCalls */ -cltype30 = type_nullable_parser_nodes__AExternCalls.color; -idtype31 = type_nullable_parser_nodes__AExternCalls.id; -if(var_pexterncallsnode10 == NULL) { -var29 = 1; +var_psignaturenode9 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype22 = type_nullable_parser_nodes__ASignature.color; +idtype23 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode9 == NULL) { +var21 = 1; } else { -if(cltype30 >= var_pexterncallsnode10->type->table_size) { -var29 = 0; +if(cltype22 >= var_psignaturenode9->type->table_size) { +var21 = 0; } else { -var29 = var_pexterncallsnode10->type->type_table[cltype30] == idtype31; +var21 = var_psignaturenode9->type->type_table[cltype22] == idtype23; } } -if (unlikely(!var29)) { +if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3126); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3026); show_backtrace(1); } -var_pexterncodeblocknode11 = var_nodearraylist9; -/* isa nullable AExternCodeBlock */ -cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color; -idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id; -if(var_pexterncodeblocknode11 == NULL) { -var32 = 1; +var_pannotationsnode10 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype25 = type_nullable_parser_nodes__AAnnotations.color; +idtype26 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { +var24 = 1; } else { -if(cltype33 >= var_pexterncodeblocknode11->type->table_size) { -var32 = 0; +if(cltype25 >= var_pannotationsnode10->type->table_size) { +var24 = 0; } else { -var32 = var_pexterncodeblocknode11->type->type_table[cltype33] == idtype34; +var24 = var_pannotationsnode10->type->type_table[cltype25] == idtype26; } } -if (unlikely(!var32)) { +if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3128); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3028); show_backtrace(1); } -var35 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef); -var36 = NULL; +var27 = NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef); +var28 = NULL; +var29 = NULL; +var30 = NULL; +var31 = NULL; +var32 = NULL; { -parser_prod__AExternMethPropdef__init_aexternmethpropdef(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var36, var_pexterncallsnode10, var_pexterncodeblocknode11); /* Direct call parser_prod#AExternMethPropdef#init_aexternmethpropdef on */ +parser_prod__AMethPropdef__init_amethpropdef(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var28, var29, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, var30, var31, var32); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } -var_ppropdefnode1 = var35; +var_ppropdefnode1 = var27; var_node_list = var_ppropdefnode1; -var37 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var33 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var38 = parser_work__Parser__go_to(var_p, var37); +var34 = parser_work__Parser__go_to(var_p, var33); } { -parser_work__Parser__push(var_p, var38, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var34, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction66#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction66__action(val* self, val* p0) { -parser__ReduceAction66__action(self, p0); /* Direct call parser#ReduceAction66#action on */ +/* method parser#ReduceAction59#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction59__action(val* self, val* p0) { +parser__ReduceAction59__action(self, p0); /* Direct call parser#ReduceAction59#action on */ RET_LABEL:; } -/* method parser#ReduceAction67#action for (self: ReduceAction67, Parser) */ -void parser__ReduceAction67__action(val* self, val* p0) { +/* method parser#ReduceAction60#action for (self: ReduceAction60, Parser) */ +void parser__ReduceAction60__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -9429,35 +9221,36 @@ val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var7 /* : Bool */; int cltype; int idtype; -val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; short int var8 /* : Bool */; int cltype9; int idtype10; -val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var11 /* : Bool */; int cltype12; int idtype13; -val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */; +val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; short int var14 /* : Bool */; int cltype15; int idtype16; -val* var_tattridnode8 /* var tattridnode8: nullable Object */; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; short int var17 /* : Bool */; int cltype18; int idtype19; -val* var_ptypenode10 /* var ptypenode10: nullable Object */; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; short int var20 /* : Bool */; int cltype21; int idtype22; -val* var23 /* : AAttrPropdef */; +val* var23 /* : AMethPropdef */; val* var24 /* : null */; val* var25 /* : null */; val* var26 /* : null */; val* var27 /* : null */; val* var28 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; -long var29 /* : Int */; +val* var29 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; long var30 /* : Int */; +long var31 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -9500,126 +9293,127 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3157); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3059); show_backtrace(1); } -var_tkwredefnode5 = var_nodearraylist2; -/* isa nullable TKwredef */ +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ cltype9 = type_nullable_parser_nodes__TKwredef.color; idtype10 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode5 == NULL) { +if(var_tkwredefnode3 == NULL) { var8 = 1; } else { -if(cltype9 >= var_tkwredefnode5->type->table_size) { +if(cltype9 >= var_tkwredefnode3->type->table_size) { var8 = 0; } else { -var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10; +var8 = var_tkwredefnode3->type->type_table[cltype9] == idtype10; } } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3159); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3061); show_backtrace(1); } -var_pvisibilitynode6 = var_nodearraylist3; -/* isa nullable AVisibility */ +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ cltype12 = type_nullable_parser_nodes__AVisibility.color; idtype13 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode6 == NULL) { +if(var_pvisibilitynode4 == NULL) { var11 = 1; } else { -if(cltype12 >= var_pvisibilitynode6->type->table_size) { +if(cltype12 >= var_pvisibilitynode4->type->table_size) { var11 = 0; } else { -var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13; +var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13; } } if (unlikely(!var11)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3161); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3063); show_backtrace(1); } -var_tkwvarnode7 = var_nodearraylist4; -/* isa nullable TKwvar */ -cltype15 = type_nullable_parser_nodes__TKwvar.color; -idtype16 = type_nullable_parser_nodes__TKwvar.id; -if(var_tkwvarnode7 == NULL) { +var_tkwnewnode7 = var_nodearraylist4; +/* isa nullable TKwnew */ +cltype15 = type_nullable_parser_nodes__TKwnew.color; +idtype16 = type_nullable_parser_nodes__TKwnew.id; +if(var_tkwnewnode7 == NULL) { var14 = 1; } else { -if(cltype15 >= var_tkwvarnode7->type->table_size) { +if(cltype15 >= var_tkwnewnode7->type->table_size) { var14 = 0; } else { -var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16; +var14 = var_tkwnewnode7->type->type_table[cltype15] == idtype16; } } if (unlikely(!var14)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3163); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3065); show_backtrace(1); } -var_tattridnode8 = var_nodearraylist5; -/* isa nullable TAttrid */ -cltype18 = type_nullable_parser_nodes__TAttrid.color; -idtype19 = type_nullable_parser_nodes__TAttrid.id; -if(var_tattridnode8 == NULL) { +var_psignaturenode9 = var_nodearraylist5; +/* isa nullable ASignature */ +cltype18 = type_nullable_parser_nodes__ASignature.color; +idtype19 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode9 == NULL) { var17 = 1; } else { -if(cltype18 >= var_tattridnode8->type->table_size) { +if(cltype18 >= var_psignaturenode9->type->table_size) { var17 = 0; } else { -var17 = var_tattridnode8->type->type_table[cltype18] == idtype19; +var17 = var_psignaturenode9->type->type_table[cltype18] == idtype19; } } if (unlikely(!var17)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3165); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3067); show_backtrace(1); } -var_ptypenode10 = var_nodearraylist6; -/* isa nullable AType */ -cltype21 = type_nullable_parser_nodes__AType.color; -idtype22 = type_nullable_parser_nodes__AType.id; -if(var_ptypenode10 == NULL) { +var_pannotationsnode10 = var_nodearraylist6; +/* isa nullable AAnnotations */ +cltype21 = type_nullable_parser_nodes__AAnnotations.color; +idtype22 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { var20 = 1; } else { -if(cltype21 >= var_ptypenode10->type->table_size) { +if(cltype21 >= var_pannotationsnode10->type->table_size) { var20 = 0; } else { -var20 = var_ptypenode10->type->type_table[cltype21] == idtype22; +var20 = var_pannotationsnode10->type->type_table[cltype21] == idtype22; } } if (unlikely(!var20)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3167); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3069); show_backtrace(1); } -var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef); +var23 = NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef); var24 = NULL; var25 = NULL; var26 = NULL; var27 = NULL; var28 = NULL; +var29 = NULL; { -parser_prod__AAttrPropdef__init_aattrpropdef(var23, var_pdocnode2, var24, var25, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var26, var_ptypenode10, var27, var28); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ +parser_prod__AMethPropdef__init_amethpropdef(var23, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var24, var25, var_tkwnewnode7, var26, var_psignaturenode9, var_pannotationsnode10, var27, var28, var29); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } var_ppropdefnode1 = var23; var_node_list = var_ppropdefnode1; -var29 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var30 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { -var30 = parser_work__Parser__go_to(var_p, var29); +var31 = parser_work__Parser__go_to(var_p, var30); } { -parser_work__Parser__push(var_p, var30, var_node_list); /* Direct call parser_work#Parser#push on */ +parser_work__Parser__push(var_p, var31, var_node_list); /* Direct call parser_work#Parser#push on */ } RET_LABEL:; } -/* method parser#ReduceAction67#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction67__action(val* self, val* p0) { -parser__ReduceAction67__action(self, p0); /* Direct call parser#ReduceAction67#action on */ +/* method parser#ReduceAction60#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction60__action(val* self, val* p0) { +parser__ReduceAction60__action(self, p0); /* Direct call parser#ReduceAction60#action on */ RET_LABEL:; } -/* method parser#ReduceAction68#action for (self: ReduceAction68, Parser) */ -void parser__ReduceAction68__action(val* self, val* p0) { +/* method parser#ReduceAction61#action for (self: ReduceAction61, Parser) */ +void parser__ReduceAction61__action(val* self, val* p0) { val* var_p /* var p: Parser */; val* var /* : null */; val* var_node_list /* var node_list: nullable Object */; @@ -9641,38 +9435,39 @@ val* var_pdocnode2 /* var pdocnode2: nullable Object */; short int var8 /* : Bool */; int cltype; int idtype; -val* var_pablenode3 /* var pablenode3: nullable Object */; +val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */; short int var9 /* : Bool */; int cltype10; int idtype11; -val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; short int var12 /* : Bool */; int cltype13; int idtype14; -val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */; +val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; short int var15 /* : Bool */; int cltype16; int idtype17; -val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */; +val* var_pmethidnode8 /* var pmethidnode8: nullable Object */; short int var18 /* : Bool */; int cltype19; int idtype20; -val* var_tattridnode8 /* var tattridnode8: nullable Object */; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; short int var21 /* : Bool */; int cltype22; int idtype23; -val* var_ptypenode10 /* var ptypenode10: nullable Object */; +val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */; short int var24 /* : Bool */; int cltype25; int idtype26; -val* var27 /* : AAttrPropdef */; +val* var27 /* : AMethPropdef */; val* var28 /* : null */; val* var29 /* : null */; val* var30 /* : null */; val* var31 /* : null */; -val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */; -long var32 /* : Int */; +val* var32 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; long var33 /* : Int */; +long var34 /* : Int */; var_p = p0; var = NULL; var_node_list = var; @@ -9719,128 +9514,353 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype; } if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3198); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3101); show_backtrace(1); } -var_pablenode3 = var_nodearraylist2; -/* isa nullable AAble */ -cltype10 = type_nullable_parser_nodes__AAble.color; -idtype11 = type_nullable_parser_nodes__AAble.id; -if(var_pablenode3 == NULL) { +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype10 = type_nullable_parser_nodes__TKwredef.color; +idtype11 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { var9 = 1; } else { -if(cltype10 >= var_pablenode3->type->table_size) { +if(cltype10 >= var_tkwredefnode3->type->table_size) { var9 = 0; } else { -var9 = var_pablenode3->type->type_table[cltype10] == idtype11; +var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11; } } if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3200); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3103); show_backtrace(1); } -var_tkwredefnode5 = var_nodearraylist3; -/* isa nullable TKwredef */ -cltype13 = type_nullable_parser_nodes__TKwredef.color; -idtype14 = type_nullable_parser_nodes__TKwredef.id; -if(var_tkwredefnode5 == NULL) { +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype13 = type_nullable_parser_nodes__AVisibility.color; +idtype14 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { var12 = 1; } else { -if(cltype13 >= var_tkwredefnode5->type->table_size) { +if(cltype13 >= var_pvisibilitynode4->type->table_size) { var12 = 0; } else { -var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14; +var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14; } } if (unlikely(!var12)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3202); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3105); show_backtrace(1); } -var_pvisibilitynode6 = var_nodearraylist4; -/* isa nullable AVisibility */ -cltype16 = type_nullable_parser_nodes__AVisibility.color; -idtype17 = type_nullable_parser_nodes__AVisibility.id; -if(var_pvisibilitynode6 == NULL) { +var_tkwnewnode7 = var_nodearraylist4; +/* isa nullable TKwnew */ +cltype16 = type_nullable_parser_nodes__TKwnew.color; +idtype17 = type_nullable_parser_nodes__TKwnew.id; +if(var_tkwnewnode7 == NULL) { var15 = 1; } else { -if(cltype16 >= var_pvisibilitynode6->type->table_size) { +if(cltype16 >= var_tkwnewnode7->type->table_size) { var15 = 0; } else { -var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17; +var15 = var_tkwnewnode7->type->type_table[cltype16] == idtype17; } } if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3204); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3107); show_backtrace(1); } -var_tkwvarnode7 = var_nodearraylist5; -/* isa nullable TKwvar */ -cltype19 = type_nullable_parser_nodes__TKwvar.color; -idtype20 = type_nullable_parser_nodes__TKwvar.id; -if(var_tkwvarnode7 == NULL) { +var_pmethidnode8 = var_nodearraylist5; +/* isa nullable AMethid */ +cltype19 = type_nullable_parser_nodes__AMethid.color; +idtype20 = type_nullable_parser_nodes__AMethid.id; +if(var_pmethidnode8 == NULL) { var18 = 1; } else { -if(cltype19 >= var_tkwvarnode7->type->table_size) { +if(cltype19 >= var_pmethidnode8->type->table_size) { var18 = 0; } else { -var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20; +var18 = var_pmethidnode8->type->type_table[cltype19] == idtype20; } } if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3206); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3109); show_backtrace(1); } -var_tattridnode8 = var_nodearraylist6; -/* isa nullable TAttrid */ -cltype22 = type_nullable_parser_nodes__TAttrid.color; -idtype23 = type_nullable_parser_nodes__TAttrid.id; -if(var_tattridnode8 == NULL) { +var_psignaturenode9 = var_nodearraylist6; +/* isa nullable ASignature */ +cltype22 = type_nullable_parser_nodes__ASignature.color; +idtype23 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode9 == NULL) { var21 = 1; } else { -if(cltype22 >= var_tattridnode8->type->table_size) { +if(cltype22 >= var_psignaturenode9->type->table_size) { var21 = 0; } else { -var21 = var_tattridnode8->type->type_table[cltype22] == idtype23; +var21 = var_psignaturenode9->type->type_table[cltype22] == idtype23; } } if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3208); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3111); show_backtrace(1); } -var_ptypenode10 = var_nodearraylist7; -/* isa nullable AType */ -cltype25 = type_nullable_parser_nodes__AType.color; -idtype26 = type_nullable_parser_nodes__AType.id; -if(var_ptypenode10 == NULL) { +var_pannotationsnode10 = var_nodearraylist7; +/* isa nullable AAnnotations */ +cltype25 = type_nullable_parser_nodes__AAnnotations.color; +idtype26 = type_nullable_parser_nodes__AAnnotations.id; +if(var_pannotationsnode10 == NULL) { var24 = 1; } else { -if(cltype25 >= var_ptypenode10->type->table_size) { +if(cltype25 >= var_pannotationsnode10->type->table_size) { var24 = 0; } else { -var24 = var_ptypenode10->type->type_table[cltype25] == idtype26; +var24 = var_pannotationsnode10->type->type_table[cltype25] == idtype26; } } if (unlikely(!var24)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser.nit", 3210); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3113); show_backtrace(1); } -var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef); +var27 = NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef); var28 = NULL; var29 = NULL; var30 = NULL; var31 = NULL; +var32 = NULL; { -parser_prod__AAttrPropdef__init_aattrpropdef(var27, var_pdocnode2, var_pablenode3, var28, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var31); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ +parser_prod__AMethPropdef__init_amethpropdef(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var28, var29, var_tkwnewnode7, var_pmethidnode8, var_psignaturenode9, var_pannotationsnode10, var30, var31, var32); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ } var_ppropdefnode1 = var27; var_node_list = var_ppropdefnode1; -var32 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +var33 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ +{ +var34 = parser_work__Parser__go_to(var_p, var33); +} +{ +parser_work__Parser__push(var_p, var34, var_node_list); /* Direct call parser_work#Parser#push on */ +} +RET_LABEL:; +} +/* method parser#ReduceAction61#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction61__action(val* self, val* p0) { +parser__ReduceAction61__action(self, p0); /* Direct call parser#ReduceAction61#action on */ +RET_LABEL:; +} +/* method parser#ReduceAction62#action for (self: ReduceAction62, Parser) */ +void parser__ReduceAction62__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_tkwredefnode3 /* var tkwredefnode3: nullable Object */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +val* var_tkwnewnode7 /* var tkwnewnode7: nullable Object */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +val* var_psignaturenode9 /* var psignaturenode9: nullable Object */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +val* var_pexprnode13 /* var pexprnode13: nullable Object */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +val* var25 /* : AMethPropdef */; +val* var26 /* : null */; +val* var27 /* : null */; +val* var28 /* : null */; +val* var29 /* : null */; +val* var30 /* : null */; +val* var31 /* : null */; +val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMethPropdef */; +long var32 /* : Int */; +long var33 /* : Int */; +var_p = p0; +var = NULL; +var_node_list = var; +{ +var1 = parser_work__Parser__pop(var_p); +} +var_nodearraylist8 = var1; +{ +var2 = parser_work__Parser__pop(var_p); +} +var_nodearraylist7 = var2; +{ +var3 = parser_work__Parser__pop(var_p); +} +var_nodearraylist6 = var3; +{ +var4 = parser_work__Parser__pop(var_p); +} +var_nodearraylist5 = var4; +{ +var5 = parser_work__Parser__pop(var_p); +} +var_nodearraylist4 = var5; +{ +var6 = parser_work__Parser__pop(var_p); +} +var_nodearraylist3 = var6; +{ +var7 = parser_work__Parser__pop(var_p); +} +var_nodearraylist2 = var7; +{ +var8 = parser_work__Parser__pop(var_p); +} +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(cltype >= var_pdocnode2->type->table_size) { +var9 = 0; +} else { +var9 = var_pdocnode2->type->type_table[cltype] == idtype; +} +} +if (unlikely(!var9)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3146); +show_backtrace(1); +} +var_tkwredefnode3 = var_nodearraylist2; +/* isa nullable TKwredef */ +cltype11 = type_nullable_parser_nodes__TKwredef.color; +idtype12 = type_nullable_parser_nodes__TKwredef.id; +if(var_tkwredefnode3 == NULL) { +var10 = 1; +} else { +if(cltype11 >= var_tkwredefnode3->type->table_size) { +var10 = 0; +} else { +var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12; +} +} +if (unlikely(!var10)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3148); +show_backtrace(1); +} +var_pvisibilitynode4 = var_nodearraylist3; +/* isa nullable AVisibility */ +cltype14 = type_nullable_parser_nodes__AVisibility.color; +idtype15 = type_nullable_parser_nodes__AVisibility.id; +if(var_pvisibilitynode4 == NULL) { +var13 = 1; +} else { +if(cltype14 >= var_pvisibilitynode4->type->table_size) { +var13 = 0; +} else { +var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15; +} +} +if (unlikely(!var13)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3150); +show_backtrace(1); +} +var_tkwnewnode7 = var_nodearraylist4; +/* isa nullable TKwnew */ +cltype17 = type_nullable_parser_nodes__TKwnew.color; +idtype18 = type_nullable_parser_nodes__TKwnew.id; +if(var_tkwnewnode7 == NULL) { +var16 = 1; +} else { +if(cltype17 >= var_tkwnewnode7->type->table_size) { +var16 = 0; +} else { +var16 = var_tkwnewnode7->type->type_table[cltype17] == idtype18; +} +} +if (unlikely(!var16)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3152); +show_backtrace(1); +} +var_psignaturenode9 = var_nodearraylist5; +/* isa nullable ASignature */ +cltype20 = type_nullable_parser_nodes__ASignature.color; +idtype21 = type_nullable_parser_nodes__ASignature.id; +if(var_psignaturenode9 == NULL) { +var19 = 1; +} else { +if(cltype20 >= var_psignaturenode9->type->table_size) { +var19 = 0; +} else { +var19 = var_psignaturenode9->type->type_table[cltype20] == idtype21; +} +} +if (unlikely(!var19)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3154); +show_backtrace(1); +} +var_pexprnode13 = var_nodearraylist7; +/* isa nullable AExpr */ +cltype23 = type_nullable_parser_nodes__AExpr.color; +idtype24 = type_nullable_parser_nodes__AExpr.id; +if(var_pexprnode13 == NULL) { +var22 = 1; +} else { +if(cltype23 >= var_pexprnode13->type->table_size) { +var22 = 0; +} else { +var22 = var_pexprnode13->type->type_table[cltype23] == idtype24; +} +} +if (unlikely(!var22)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser.nit", 3156); +show_backtrace(1); +} +var25 = NEW_parser_nodes__AMethPropdef(&type_parser_nodes__AMethPropdef); +var26 = NULL; +var27 = NULL; +var28 = NULL; +var29 = NULL; +var30 = NULL; +var31 = NULL; +{ +parser_prod__AMethPropdef__init_amethpropdef(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var26, var27, var_tkwnewnode7, var28, var_psignaturenode9, var29, var30, var31, var_pexprnode13); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ +} +var_ppropdefnode1 = var25; +var_node_list = var_ppropdefnode1; +var32 = self->attrs[COLOR_parser_work__ReduceAction___goto].l; /* _goto on */ { var33 = parser_work__Parser__go_to(var_p, var32); } @@ -9849,8 +9869,8 @@ parser_work__Parser__push(var_p, var33, var_node_list); /* Direct call parser_wo } RET_LABEL:; } -/* method parser#ReduceAction68#action for (self: Object, Parser) */ -void VIRTUAL_parser__ReduceAction68__action(val* self, val* p0) { -parser__ReduceAction68__action(self, p0); /* Direct call parser#ReduceAction68#action on */ +/* method parser#ReduceAction62#action for (self: Object, Parser) */ +void VIRTUAL_parser__ReduceAction62__action(val* self, val* p0) { +parser__ReduceAction62__action(self, p0); /* Direct call parser#ReduceAction62#action on */ RET_LABEL:; }