c_src: update with new intern methods
[nit.git] / c_src / parser.sep.11.c
index 4d75635..738288e 100644 (file)
@@ -1,4 +1,201 @@
 #include "parser.sep.0.h"
+/* method parser#ReduceAction417#action for (self: Object, Parser) */
+void VIRTUAL_parser__ReduceAction417__action(val* self, val* p0) {
+parser__ReduceAction417__action(self, p0);
+RET_LABEL:;
+}
+/* method parser#ReduceAction418#action for (self: ReduceAction418, Parser) */
+void parser__ReduceAction418__action(val* self, val* p0) {
+val* var_p /* var p: Parser */;
+val* var /* : null */;
+val* var_node_list /* var node_list: nullable Object */;
+val* var1 /* : nullable Object */;
+val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
+val* var2 /* : nullable Object */;
+val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
+val* var3 /* : nullable Object */;
+val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
+val* var4 /* : nullable Object */;
+val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
+val* var5 /* : nullable Object */;
+val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
+val* var6 /* : nullable Object */;
+val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
+val* var_pdocnode2 /* var pdocnode2: nullable Object */;
+short int var7 /* : Bool */;
+int cltype;
+int idtype;
+val* var_pablenode4 /* var pablenode4: nullable Object */;
+short int var8 /* : Bool */;
+int cltype9;
+int idtype10;
+val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
+short int var11 /* : Bool */;
+int cltype12;
+int idtype13;
+val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
+short int var14 /* : Bool */;
+int cltype15;
+int idtype16;
+val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
+short int var17 /* : Bool */;
+int cltype18;
+int idtype19;
+val* var_tidnode9 /* var tidnode9: nullable Object */;
+short int var20 /* : Bool */;
+int cltype21;
+int idtype22;
+val* var23 /* : AAttrPropdef */;
+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 */;
+long var30 /* : Int */;
+var_p = p0;
+var = NULL;
+var_node_list = var;
+var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist6 = var1;
+var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist5 = var2;
+var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist4 = var3;
+var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist3 = var4;
+var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist2 = var5;
+var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist1 = var6;
+var_pdocnode2 = var_nodearraylist1;
+/* <var_pdocnode2:nullable Object> isa nullable ADoc */
+cltype = type_nullable_parser_nodes__ADoc.color;
+idtype = type_nullable_parser_nodes__ADoc.id;
+if(var_pdocnode2 == NULL) {
+var7 = 1;
+} else {
+if(cltype >= var_pdocnode2->type->table_size) {
+var7 = 0;
+} else {
+var7 = var_pdocnode2->type->type_table[cltype] == idtype;
+}
+}
+if (!var7) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18545);
+show_backtrace(1);
+}
+var_pablenode4 = var_nodearraylist6;
+/* <var_pablenode4:nullable Object> isa nullable AAble */
+cltype9 = type_nullable_parser_nodes__AAble.color;
+idtype10 = type_nullable_parser_nodes__AAble.id;
+if(var_pablenode4 == NULL) {
+var8 = 1;
+} else {
+if(cltype9 >= var_pablenode4->type->table_size) {
+var8 = 0;
+} else {
+var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
+}
+}
+if (!var8) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18547);
+show_backtrace(1);
+}
+var_tkwredefnode5 = var_nodearraylist2;
+/* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
+cltype12 = type_nullable_parser_nodes__TKwredef.color;
+idtype13 = type_nullable_parser_nodes__TKwredef.id;
+if(var_tkwredefnode5 == NULL) {
+var11 = 1;
+} else {
+if(cltype12 >= var_tkwredefnode5->type->table_size) {
+var11 = 0;
+} else {
+var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
+}
+}
+if (!var11) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18549);
+show_backtrace(1);
+}
+var_pvisibilitynode6 = var_nodearraylist3;
+/* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
+cltype15 = type_nullable_parser_nodes__AVisibility.color;
+idtype16 = type_nullable_parser_nodes__AVisibility.id;
+if(var_pvisibilitynode6 == NULL) {
+var14 = 1;
+} else {
+if(cltype15 >= var_pvisibilitynode6->type->table_size) {
+var14 = 0;
+} else {
+var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
+}
+}
+if (!var14) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18551);
+show_backtrace(1);
+}
+var_tkwvarnode7 = var_nodearraylist4;
+/* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
+cltype18 = type_nullable_parser_nodes__TKwvar.color;
+idtype19 = type_nullable_parser_nodes__TKwvar.id;
+if(var_tkwvarnode7 == NULL) {
+var17 = 1;
+} else {
+if(cltype18 >= var_tkwvarnode7->type->table_size) {
+var17 = 0;
+} else {
+var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
+}
+}
+if (!var17) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18553);
+show_backtrace(1);
+}
+var_tidnode9 = var_nodearraylist5;
+/* <var_tidnode9:nullable Object> isa nullable TId */
+cltype21 = type_nullable_parser_nodes__TId.color;
+idtype22 = type_nullable_parser_nodes__TId.id;
+if(var_tidnode9 == NULL) {
+var20 = 1;
+} else {
+if(cltype21 >= var_tidnode9->type->table_size) {
+var20 = 0;
+} else {
+var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
+}
+}
+if (!var20) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18555);
+show_backtrace(1);
+}
+var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
+var24 = NULL;
+var25 = NULL;
+var26 = NULL;
+var27 = NULL;
+var28 = NULL;
+((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var25, var_tidnode9, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
+var_ppropdefnode1 = var23;
+var_node_list = var_ppropdefnode1;
+var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction418> */
+var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
+((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
+RET_LABEL:;
+}
+/* method parser#ReduceAction418#action for (self: Object, Parser) */
+void VIRTUAL_parser__ReduceAction418__action(val* self, val* p0) {
+parser__ReduceAction418__action(self, p0);
+RET_LABEL:;
+}
 /* method parser#ReduceAction419#action for (self: ReduceAction419, Parser) */
 void parser__ReduceAction419__action(val* self, val* p0) {
 val* var_p /* var p: Parser */;
@@ -78,8 +275,9 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18833);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18585);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist6;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -95,8 +293,9 @@ var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18835);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18587);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -112,8 +311,9 @@ var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18837);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18589);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -129,8 +329,9 @@ var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18839);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18591);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -146,8 +347,9 @@ var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18841);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18593);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist5;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -163,8 +365,9 @@ var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18843);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18595);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var24 = NULL;
@@ -173,7 +376,6 @@ var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var25, var_pvisibilitynode6, var_tkwvarnode7, var26, var_tidnode9, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction419> */
@@ -272,8 +474,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18874);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18626);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist7;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -289,8 +492,9 @@ var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18876);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18628);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -306,8 +510,9 @@ var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18878);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18630);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -323,8 +528,9 @@ var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18880);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18632);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -340,8 +546,9 @@ var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18882);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18634);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -357,8 +564,9 @@ var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18884);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18636);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -374,8 +582,9 @@ var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18886);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18638);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var28 = NULL;
@@ -383,7 +592,6 @@ var29 = NULL;
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var28, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var29, var_tidnode9, var_ptypenode10, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction420> */
@@ -468,8 +676,9 @@ var6 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var6) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18915);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18667);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -485,8 +694,9 @@ var7 = var_pvisibilitynode6->type->type_table[cltype8] == idtype9;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18917);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18669);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -502,8 +712,9 @@ var10 = var_tkwvarnode7->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18919);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18671);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -519,8 +730,9 @@ var13 = var_tidnode9->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18921);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18673);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist5;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -536,8 +748,9 @@ var16 = var_pannotationsnode11->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18923);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18675);
+show_backtrace(1);
 }
 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var20 = NULL;
@@ -547,7 +760,6 @@ var23 = NULL;
 var24 = NULL;
 var25 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var21, var22, var_pvisibilitynode6, var_tkwvarnode7, var23, var_tidnode9, var24, var_pannotationsnode11, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var19);
 var_ppropdefnode1 = var19;
 var_node_list = var_ppropdefnode1;
 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction421> */
@@ -639,8 +851,9 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18953);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18705);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -656,8 +869,9 @@ var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18955);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18707);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -673,8 +887,9 @@ var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18957);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18709);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -690,8 +905,9 @@ var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18959);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18711);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -707,8 +923,9 @@ var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18961);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18713);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist6;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -724,8 +941,9 @@ var20 = var_pannotationsnode11->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18963);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18715);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var24 = NULL;
@@ -734,7 +952,6 @@ var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var25, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var26, var_tidnode9, var27, var_pannotationsnode11, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction422> */
@@ -826,8 +1043,9 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18993);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18745);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -843,8 +1061,9 @@ var8 = var_pvisibilitynode6->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18995);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18747);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -860,8 +1079,9 @@ var11 = var_tkwvarnode7->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18997);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18749);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -877,8 +1097,9 @@ var14 = var_tidnode9->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18999);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18751);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist5;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -894,8 +1115,9 @@ var17 = var_ptypenode10->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19001);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18753);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist6;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -911,8 +1133,9 @@ var20 = var_pannotationsnode11->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19003);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18755);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var24 = NULL;
@@ -921,7 +1144,6 @@ var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var25, var26, var_pvisibilitynode6, var_tkwvarnode7, var27, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction423> */
@@ -1020,8 +1242,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19034);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18786);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -1037,8 +1260,9 @@ var9 = var_tkwredefnode5->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19036);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18788);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -1054,8 +1278,9 @@ var12 = var_pvisibilitynode6->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19038);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18790);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -1071,8 +1296,9 @@ var15 = var_tkwvarnode7->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19040);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18792);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -1088,8 +1314,9 @@ var18 = var_tidnode9->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19042);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18794);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -1105,8 +1332,9 @@ var21 = var_ptypenode10->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19044);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18796);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist7;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -1122,8 +1350,9 @@ var24 = var_pannotationsnode11->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19046);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18798);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var28 = NULL;
@@ -1131,7 +1360,6 @@ var29 = NULL;
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var28, var29, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var30, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction424> */
@@ -1223,8 +1451,9 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19076);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18828);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist5;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -1240,8 +1469,9 @@ var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19078);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18830);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -1257,8 +1487,9 @@ var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19080);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18832);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -1274,8 +1505,9 @@ var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19082);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18834);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -1291,8 +1523,9 @@ var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19084);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18836);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist6;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -1308,8 +1541,9 @@ var20 = var_pannotationsnode11->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19086);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18838);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var24 = NULL;
@@ -1318,7 +1552,6 @@ var26 = NULL;
 var27 = NULL;
 var28 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var25, var_pvisibilitynode6, var_tkwvarnode7, var26, var_tidnode9, var27, var_pannotationsnode11, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction425> */
@@ -1417,8 +1650,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19117);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18869);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist6;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -1434,8 +1668,9 @@ var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19119);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18871);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -1451,8 +1686,9 @@ var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19121);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18873);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -1468,8 +1704,9 @@ var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19123);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18875);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -1485,8 +1722,9 @@ var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19125);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18877);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -1502,8 +1740,9 @@ var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19127);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18879);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist7;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -1519,8 +1758,9 @@ var24 = var_pannotationsnode11->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19129);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18881);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var28 = NULL;
@@ -1528,7 +1768,6 @@ var29 = NULL;
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var28, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var29, var_tidnode9, var30, var_pannotationsnode11, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction426> */
@@ -1627,8 +1866,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19160);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18912);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist6;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -1644,8 +1884,9 @@ var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19162);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18914);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -1661,8 +1902,9 @@ var12 = var_pvisibilitynode6->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19164);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18916);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -1678,8 +1920,9 @@ var15 = var_tkwvarnode7->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19166);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18918);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -1695,8 +1938,9 @@ var18 = var_tidnode9->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19168);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18920);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist5;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -1712,8 +1956,9 @@ var21 = var_ptypenode10->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19170);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18922);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist7;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -1729,8 +1974,9 @@ var24 = var_pannotationsnode11->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19172);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18924);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var28 = NULL;
@@ -1738,7 +1984,6 @@ var29 = NULL;
 var30 = NULL;
 var31 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var28, var_pablenode4, var29, var_pvisibilitynode6, var_tkwvarnode7, var30, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction427> */
@@ -1844,8 +2089,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19204);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18956);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist7;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -1861,8 +2107,9 @@ var10 = var_pablenode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19206);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18958);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -1878,8 +2125,9 @@ var13 = var_tkwredefnode5->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19208);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18960);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -1895,8 +2143,9 @@ var16 = var_pvisibilitynode6->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19210);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18962);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -1912,8 +2161,9 @@ var19 = var_tkwvarnode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19212);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18964);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -1929,8 +2179,9 @@ var22 = var_tidnode9->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19214);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18966);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -1946,8 +2197,9 @@ var25 = var_ptypenode10->type->type_table[cltype26] == idtype27;
 }
 }
 if (!var25) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19216);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18968);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist8;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -1963,15 +2215,15 @@ var28 = var_pannotationsnode11->type->type_table[cltype29] == idtype30;
 }
 }
 if (!var28) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19218);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18970);
+show_backtrace(1);
 }
 var31 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var32 = NULL;
 var33 = NULL;
 var34 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var31, var_pdocnode2, var32, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var33, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var34) /* init_aattrpropdef on <var31:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var31);
 var_ppropdefnode1 = var31;
 var_node_list = var_ppropdefnode1;
 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction428> */
@@ -2064,8 +2316,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19249);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19001);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -2081,8 +2334,9 @@ var9 = var_pvisibilitynode6->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19251);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19003);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -2098,8 +2352,9 @@ var12 = var_tkwvarnode7->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19253);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19005);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -2115,8 +2370,9 @@ var15 = var_tidnode9->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19255);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19007);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist7;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -2132,8 +2388,9 @@ var18 = var_pexprnode12->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19257);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19009);
+show_backtrace(1);
 }
 var21 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var22 = NULL;
@@ -2143,7 +2400,6 @@ var25 = NULL;
 var26 = NULL;
 var27 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var21, var_pdocnode2, var22, var23, var24, var_pvisibilitynode6, var_tkwvarnode7, var25, var_tidnode9, var26, var27, var_pexprnode12) /* init_aattrpropdef on <var21:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var21);
 var_ppropdefnode1 = var21;
 var_node_list = var_ppropdefnode1;
 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction429> */
@@ -2243,8 +2499,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19289);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19041);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -2260,8 +2517,9 @@ var10 = var_tkwredefnode5->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19291);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19043);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -2277,8 +2535,9 @@ var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19293);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19045);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -2294,8 +2553,9 @@ var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19295);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19047);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -2311,8 +2571,9 @@ var19 = var_tidnode9->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19297);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19049);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist8;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -2328,8 +2589,9 @@ var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19299);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19051);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var26 = NULL;
@@ -2338,7 +2600,6 @@ var28 = NULL;
 var29 = NULL;
 var30 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var27, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var28, var_tidnode9, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction430> */
@@ -2438,8 +2699,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19331);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19083);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -2455,8 +2717,9 @@ var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19333);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19085);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -2472,8 +2735,9 @@ var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19335);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19087);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -2489,8 +2753,9 @@ var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19337);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19089);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist5;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -2506,8 +2771,9 @@ var19 = var_ptypenode10->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19339);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19091);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist8;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -2523,8 +2789,9 @@ var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19341);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19093);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var26 = NULL;
@@ -2533,7 +2800,6 @@ var28 = NULL;
 var29 = NULL;
 var30 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var27, var28, var_pvisibilitynode6, var_tkwvarnode7, var29, var_tidnode9, var_ptypenode10, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction431> */
@@ -2640,8 +2906,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19374);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19126);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -2657,8 +2924,9 @@ var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19376);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19128);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -2674,8 +2942,9 @@ var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19378);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19130);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -2691,8 +2960,9 @@ var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19380);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19132);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -2708,8 +2978,9 @@ var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19382);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19134);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -2725,8 +2996,9 @@ var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19384);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19136);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist9;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -2742,8 +3014,9 @@ var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19386);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19138);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var30 = NULL;
@@ -2751,7 +3024,6 @@ var31 = NULL;
 var32 = NULL;
 var33 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var31, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var32, var_tidnode9, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction432> */
@@ -2851,8 +3123,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19418);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19170);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist5;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -2868,8 +3141,9 @@ var10 = var_pablenode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19420);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19172);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -2885,8 +3159,9 @@ var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19422);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19174);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -2902,8 +3177,9 @@ var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19424);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19176);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -2919,8 +3195,9 @@ var19 = var_tidnode9->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19426);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19178);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist8;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -2936,8 +3213,9 @@ var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19428);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19180);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var26 = NULL;
@@ -2946,7 +3224,6 @@ var28 = NULL;
 var29 = NULL;
 var30 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var_pablenode4, var27, var_pvisibilitynode6, var_tkwvarnode7, var28, var_tidnode9, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction433> */
@@ -3053,8 +3330,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19461);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19213);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist6;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -3070,8 +3348,9 @@ var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19463);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19215);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -3087,8 +3366,9 @@ var14 = var_tkwredefnode5->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19465);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19217);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -3104,8 +3384,9 @@ var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19467);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19219);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -3121,8 +3402,9 @@ var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19469);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19221);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -3138,8 +3420,9 @@ var23 = var_tidnode9->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19471);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19223);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist9;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -3155,8 +3438,9 @@ var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19473);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19225);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var30 = NULL;
@@ -3164,7 +3448,6 @@ var31 = NULL;
 var32 = NULL;
 var33 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var31, var_tidnode9, var32, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction434> */
@@ -3271,8 +3554,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19506);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19258);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist6;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -3288,8 +3572,9 @@ var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19508);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19260);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -3305,8 +3590,9 @@ var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19510);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19262);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -3322,8 +3608,9 @@ var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19512);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19264);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -3339,8 +3626,9 @@ var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19514);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19266);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist5;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -3356,8 +3644,9 @@ var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19516);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19268);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist9;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -3373,8 +3662,9 @@ var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19518);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19270);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var30 = NULL;
@@ -3382,7 +3672,6 @@ var31 = NULL;
 var32 = NULL;
 var33 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var_pablenode4, var31, var_pvisibilitynode6, var_tkwvarnode7, var32, var_tidnode9, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction435> */
@@ -3496,8 +3785,9 @@ var11 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19552);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19304);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist7;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -3513,8 +3803,9 @@ var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19554);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19306);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -3530,8 +3821,9 @@ var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19556);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19308);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -3547,8 +3839,9 @@ var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19558);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19310);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -3564,8 +3857,9 @@ var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19560);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19312);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -3581,8 +3875,9 @@ var24 = var_tidnode9->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19562);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19314);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -3598,8 +3893,9 @@ var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19564);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19316);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist10;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -3615,15 +3911,15 @@ var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19566);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19318);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var34 = NULL;
 var35 = NULL;
 var36 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var34, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var35, var_tidnode9, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction436> */
@@ -3723,8 +4019,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19598);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19350);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -3740,8 +4037,9 @@ var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19600);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19352);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -3757,8 +4055,9 @@ var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19602);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19354);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -3774,8 +4073,9 @@ var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19604);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19356);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist8;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -3791,8 +4091,9 @@ var19 = var_pannotationsnode11->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19606);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19358);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist7;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -3808,8 +4109,9 @@ var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19608);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19360);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var26 = NULL;
@@ -3818,7 +4120,6 @@ var28 = NULL;
 var29 = NULL;
 var30 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var27, var28, var_pvisibilitynode6, var_tkwvarnode7, var29, var_tidnode9, var30, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction437> */
@@ -3925,8 +4226,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19641);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19393);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -3942,8 +4244,9 @@ var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19643);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19395);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -3959,8 +4262,9 @@ var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19645);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19397);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -3976,8 +4280,9 @@ var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19647);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19399);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -3993,8 +4298,9 @@ var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19649);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19401);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist9;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -4010,8 +4316,9 @@ var23 = var_pannotationsnode11->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19651);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19403);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist8;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -4027,8 +4334,9 @@ var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19653);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19405);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var30 = NULL;
@@ -4036,7 +4344,6 @@ var31 = NULL;
 var32 = NULL;
 var33 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var31, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var32, var_tidnode9, var33, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction438> */
@@ -4143,8 +4450,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19686);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19438);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -4160,8 +4468,9 @@ var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19688);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19440);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -4177,8 +4486,9 @@ var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19690);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19442);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -4194,8 +4504,9 @@ var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19692);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19444);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist5;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -4211,8 +4522,9 @@ var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19694);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19446);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist9;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -4228,8 +4540,9 @@ var23 = var_pannotationsnode11->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19696);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19448);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist8;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -4245,8 +4558,9 @@ var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19698);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19450);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var30 = NULL;
@@ -4254,7 +4568,6 @@ var31 = NULL;
 var32 = NULL;
 var33 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var31, var32, var_pvisibilitynode6, var_tkwvarnode7, var33, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction439> */
@@ -4368,8 +4681,9 @@ var11 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19732);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19484);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -4385,8 +4699,9 @@ var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19734);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19486);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -4402,8 +4717,9 @@ var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19736);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19488);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -4419,8 +4735,9 @@ var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19738);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19490);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -4436,8 +4753,9 @@ var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19740);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19492);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -4453,8 +4771,9 @@ var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19742);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19494);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist10;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -4470,8 +4789,9 @@ var27 = var_pannotationsnode11->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19744);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19496);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist9;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -4487,15 +4807,15 @@ var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19746);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19498);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var34 = NULL;
 var35 = NULL;
 var36 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var34, var35, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var36, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction440> */
@@ -4602,8 +4922,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19779);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19531);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist5;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -4619,8 +4940,9 @@ var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19781);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19533);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -4636,8 +4958,9 @@ var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19783);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19535);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -4653,8 +4976,9 @@ var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19785);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19537);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -4670,8 +4994,9 @@ var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19787);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19539);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist9;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -4687,8 +5012,9 @@ var23 = var_pannotationsnode11->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19789);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19541);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist8;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -4704,8 +5030,9 @@ var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19791);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19543);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var30 = NULL;
@@ -4713,7 +5040,6 @@ var31 = NULL;
 var32 = NULL;
 var33 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var_pablenode4, var31, var_pvisibilitynode6, var_tkwvarnode7, var32, var_tidnode9, var33, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction441> */
@@ -4827,8 +5153,9 @@ var11 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19825);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19577);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist6;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -4844,8 +5171,9 @@ var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19827);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19579);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -4861,8 +5189,9 @@ var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19829);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19581);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -4878,8 +5207,9 @@ var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19831);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19583);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -4895,8 +5225,9 @@ var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19833);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19585);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -4912,8 +5243,9 @@ var24 = var_tidnode9->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19835);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19587);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist10;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -4929,8 +5261,9 @@ var27 = var_pannotationsnode11->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19837);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19589);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist9;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -4946,15 +5279,15 @@ var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19839);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19591);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var34 = NULL;
 var35 = NULL;
 var36 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var34, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var35, var_tidnode9, var36, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction442> */
@@ -5068,8 +5401,9 @@ var11 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19873);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19625);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist6;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -5085,8 +5419,9 @@ var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19875);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19627);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist2;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -5102,8 +5437,9 @@ var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19877);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19629);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist3;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -5119,8 +5455,9 @@ var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19879);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19631);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist4;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -5136,8 +5473,9 @@ var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19881);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19633);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist5;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -5153,8 +5491,9 @@ var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19883);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19635);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist10;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -5170,8 +5509,9 @@ var27 = var_pannotationsnode11->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19885);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19637);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist9;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -5187,15 +5527,15 @@ var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19887);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19639);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var34 = NULL;
 var35 = NULL;
 var36 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var34, var_pablenode4, var35, var_pvisibilitynode6, var_tkwvarnode7, var36, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction443> */
@@ -5316,8 +5656,9 @@ var12 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19922);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19674);
+show_backtrace(1);
 }
 var_pablenode4 = var_nodearraylist7;
 /* <var_pablenode4:nullable Object> isa nullable AAble */
@@ -5333,8 +5674,9 @@ var13 = var_pablenode4->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19924);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19676);
+show_backtrace(1);
 }
 var_tkwredefnode5 = var_nodearraylist2;
 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
@@ -5350,8 +5692,9 @@ var16 = var_tkwredefnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19926);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19678);
+show_backtrace(1);
 }
 var_pvisibilitynode6 = var_nodearraylist3;
 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
@@ -5367,8 +5710,9 @@ var19 = var_pvisibilitynode6->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19928);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19680);
+show_backtrace(1);
 }
 var_tkwvarnode7 = var_nodearraylist4;
 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
@@ -5384,8 +5728,9 @@ var22 = var_tkwvarnode7->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19930);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19682);
+show_backtrace(1);
 }
 var_tidnode9 = var_nodearraylist5;
 /* <var_tidnode9:nullable Object> isa nullable TId */
@@ -5401,8 +5746,9 @@ var25 = var_tidnode9->type->type_table[cltype26] == idtype27;
 }
 }
 if (!var25) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19932);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19684);
+show_backtrace(1);
 }
 var_ptypenode10 = var_nodearraylist6;
 /* <var_ptypenode10:nullable Object> isa nullable AType */
@@ -5418,8 +5764,9 @@ var28 = var_ptypenode10->type->type_table[cltype29] == idtype30;
 }
 }
 if (!var28) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19934);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19686);
+show_backtrace(1);
 }
 var_pannotationsnode11 = var_nodearraylist11;
 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
@@ -5435,8 +5782,9 @@ var31 = var_pannotationsnode11->type->type_table[cltype32] == idtype33;
 }
 }
 if (!var31) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19936);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19688);
+show_backtrace(1);
 }
 var_pexprnode12 = var_nodearraylist10;
 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
@@ -5452,14 +5800,14 @@ var34 = var_pexprnode12->type->type_table[cltype35] == idtype36;
 }
 }
 if (!var34) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19938);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19690);
+show_backtrace(1);
 }
 var37 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
 var38 = NULL;
 var39 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var37, var_pdocnode2, var38, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var39, var_tidnode9, var_ptypenode10, var_pannotationsnode11, var_pexprnode12) /* init_aattrpropdef on <var37:AAttrPropdef>*/;
-CHECK_NEW_parser_nodes__AAttrPropdef(var37);
 var_ppropdefnode1 = var37;
 var_node_list = var_ppropdefnode1;
 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction444> */
@@ -5545,8 +5893,9 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19968);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19720);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -5562,8 +5911,9 @@ var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19970);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19722);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist3;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -5579,8 +5929,9 @@ var11 = var_tkwinitnode5->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19972);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19724);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -5596,8 +5947,9 @@ var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19974);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19726);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist6;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -5613,15 +5965,15 @@ var17 = var_pexprnode9->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19976);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19728);
+show_backtrace(1);
 }
 var20 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var21 = NULL;
 var22 = NULL;
 var23 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var20->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var20, var_pdocnode2, var21, var_pvisibilitynode4, var_tkwinitnode5, var22, var_psignaturenode7, var23, var_pexprnode9) /* init_aconcreteinitpropdef on <var20:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var20);
 var_ppropdefnode1 = var20;
 var_node_list = var_ppropdefnode1;
 var24 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction445> */
@@ -5714,8 +6066,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20004);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19756);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -5731,8 +6084,9 @@ var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20006);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19758);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -5748,8 +6102,9 @@ var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20008);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19760);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist4;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -5765,8 +6120,9 @@ var15 = var_tkwinitnode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20010);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19762);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -5782,8 +6138,9 @@ var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20012);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19764);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist7;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -5799,14 +6156,14 @@ var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20014);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19766);
+show_backtrace(1);
 }
 var24 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var25 = NULL;
 var26 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var24, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var25, var_psignaturenode7, var26, var_pexprnode9) /* init_aconcreteinitpropdef on <var24:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var24);
 var_ppropdefnode1 = var24;
 var_node_list = var_ppropdefnode1;
 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction446> */
@@ -5899,8 +6256,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20042);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19794);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -5916,8 +6274,9 @@ var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20044);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19796);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist3;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -5933,8 +6292,9 @@ var12 = var_tkwinitnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20046);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19798);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -5950,8 +6310,9 @@ var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20048);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19800);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -5967,8 +6328,9 @@ var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20050);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19802);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist7;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -5984,14 +6346,14 @@ var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20052);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19804);
+show_backtrace(1);
 }
 var24 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var25 = NULL;
 var26 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var24, var_pdocnode2, var25, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var26, var_pexprnode9) /* init_aconcreteinitpropdef on <var24:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var24);
 var_ppropdefnode1 = var24;
 var_node_list = var_ppropdefnode1;
 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction447> */
@@ -6091,8 +6453,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20081);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19833);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -6108,8 +6471,9 @@ var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20083);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19835);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -6125,8 +6489,9 @@ var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20085);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19837);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist4;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -6142,8 +6507,9 @@ var16 = var_tkwinitnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20087);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19839);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -6159,8 +6525,9 @@ var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20089);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19841);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -6176,8 +6543,9 @@ var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20091);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19843);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist8;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -6193,13 +6561,13 @@ var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
 }
 }
 if (!var25) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20093);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19845);
+show_backtrace(1);
 }
 var28 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var29 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var29, var_pexprnode9) /* init_aconcreteinitpropdef on <var28:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var28);
 var_ppropdefnode1 = var28;
 var_node_list = var_ppropdefnode1;
 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction448> */
@@ -6292,8 +6660,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20121);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19873);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -6309,8 +6678,9 @@ var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20123);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19875);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist3;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -6326,8 +6696,9 @@ var12 = var_tkwinitnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20125);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19877);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -6343,8 +6714,9 @@ var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20127);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19879);
+show_backtrace(1);
 }
 var_pannotationsnode8 = var_nodearraylist5;
 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
@@ -6360,8 +6732,9 @@ var18 = var_pannotationsnode8->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20129);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19881);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist7;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -6377,14 +6750,14 @@ var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20131);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19883);
+show_backtrace(1);
 }
 var24 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var25 = NULL;
 var26 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var24, var_pdocnode2, var25, var_pvisibilitynode4, var_tkwinitnode5, var26, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var24:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var24);
 var_ppropdefnode1 = var24;
 var_node_list = var_ppropdefnode1;
 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction449> */
@@ -6484,8 +6857,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20160);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19912);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -6501,8 +6875,9 @@ var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20162);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19914);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -6518,8 +6893,9 @@ var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20164);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19916);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist4;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -6535,8 +6911,9 @@ var16 = var_tkwinitnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20166);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19918);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -6552,8 +6929,9 @@ var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20168);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19920);
+show_backtrace(1);
 }
 var_pannotationsnode8 = var_nodearraylist6;
 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
@@ -6569,8 +6947,9 @@ var22 = var_pannotationsnode8->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20170);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19922);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist8;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -6586,13 +6965,13 @@ var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
 }
 }
 if (!var25) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20172);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19924);
+show_backtrace(1);
 }
 var28 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var29 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var29, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var28:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var28);
 var_ppropdefnode1 = var28;
 var_node_list = var_ppropdefnode1;
 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction450> */
@@ -6692,8 +7071,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20201);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19953);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -6709,8 +7089,9 @@ var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20203);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19955);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist3;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -6726,8 +7107,9 @@ var13 = var_tkwinitnode5->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20205);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19957);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -6743,8 +7125,9 @@ var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20207);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19959);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -6760,8 +7143,9 @@ var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20209);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19961);
+show_backtrace(1);
 }
 var_pannotationsnode8 = var_nodearraylist6;
 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
@@ -6777,8 +7161,9 @@ var22 = var_pannotationsnode8->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20211);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19963);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist8;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -6794,13 +7179,13 @@ var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
 }
 }
 if (!var25) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20213);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19965);
+show_backtrace(1);
 }
 var28 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var29 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var28, var_pdocnode2, var29, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var28:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var28);
 var_ppropdefnode1 = var28;
 var_node_list = var_ppropdefnode1;
 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction451> */
@@ -6907,8 +7292,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20243);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19995);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -6924,8 +7310,9 @@ var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20245);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19997);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -6941,8 +7328,9 @@ var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20247);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19999);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist4;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -6958,8 +7346,9 @@ var17 = var_tkwinitnode5->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20249);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20001);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -6975,8 +7364,9 @@ var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20251);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20003);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -6992,8 +7382,9 @@ var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20253);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20005);
+show_backtrace(1);
 }
 var_pannotationsnode8 = var_nodearraylist7;
 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
@@ -7009,8 +7400,9 @@ var26 = var_pannotationsnode8->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20255);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20007);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist9;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -7026,12 +7418,12 @@ var29 = var_pexprnode9->type->type_table[cltype30] == idtype31;
 }
 }
 if (!var29) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20257);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20009);
+show_backtrace(1);
 }
 var32 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var32, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var32:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var32);
 var_ppropdefnode1 = var32;
 var_node_list = var_ppropdefnode1;
 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction452> */
@@ -7121,8 +7513,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20285);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20037);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -7138,8 +7531,9 @@ var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20287);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20039);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist3;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -7155,8 +7549,9 @@ var12 = var_tkwinitnode5->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20289);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20041);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -7172,8 +7567,9 @@ var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20291);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20043);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist6;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -7189,15 +7585,15 @@ var18 = var_pexprnode9->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20293);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20045);
+show_backtrace(1);
 }
 var21 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var22 = NULL;
 var23 = NULL;
 var24 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwinitnode5, var23, var_psignaturenode7, var24, var_pexprnode9) /* init_aconcreteinitpropdef on <var21:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var21);
 var_ppropdefnode1 = var21;
 var_node_list = var_ppropdefnode1;
 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction453> */
@@ -7294,8 +7690,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20322);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20074);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -7311,8 +7708,9 @@ var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20324);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20076);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -7328,8 +7726,9 @@ var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20326);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20078);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist4;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -7345,8 +7744,9 @@ var16 = var_tkwinitnode5->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20328);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20080);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -7362,8 +7762,9 @@ var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20330);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20082);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist7;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -7379,14 +7780,14 @@ var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20332);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20084);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var26 = NULL;
 var27 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var26, var_psignaturenode7, var27, var_pexprnode9) /* init_aconcreteinitpropdef on <var25:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction454> */
@@ -7483,8 +7884,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20361);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20113);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -7500,8 +7902,9 @@ var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20363);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20115);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist3;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -7517,8 +7920,9 @@ var13 = var_tkwinitnode5->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20365);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20117);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -7534,8 +7938,9 @@ var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20367);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20119);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -7551,8 +7956,9 @@ var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20369);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20121);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist7;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -7568,14 +7974,14 @@ var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20371);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20123);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var26 = NULL;
 var27 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexprnode9) /* init_aconcreteinitpropdef on <var25:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction455> */
@@ -7679,8 +8085,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20401);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20153);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -7696,8 +8103,9 @@ var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20403);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20155);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -7713,8 +8121,9 @@ var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20405);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20157);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist4;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -7730,8 +8139,9 @@ var17 = var_tkwinitnode5->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20407);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20159);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -7747,8 +8157,9 @@ var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20409);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20161);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -7764,8 +8175,9 @@ var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20411);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20163);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist8;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -7781,13 +8193,13 @@ var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20413);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20165);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var30 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexprnode9) /* init_aconcreteinitpropdef on <var29:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction456> */
@@ -7884,8 +8296,9 @@ var9 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20442);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20194);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -7901,8 +8314,9 @@ var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20444);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20196);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist3;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -7918,8 +8332,9 @@ var13 = var_tkwinitnode5->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20446);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20198);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -7935,8 +8350,9 @@ var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20448);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20200);
+show_backtrace(1);
 }
 var_pannotationsnode8 = var_nodearraylist5;
 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
@@ -7952,8 +8368,9 @@ var19 = var_pannotationsnode8->type->type_table[cltype20] == idtype21;
 }
 }
 if (!var19) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20450);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20202);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist7;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -7969,14 +8386,14 @@ var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
 }
 }
 if (!var22) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20452);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20204);
+show_backtrace(1);
 }
 var25 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var26 = NULL;
 var27 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwinitnode5, var27, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var25:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var25);
 var_ppropdefnode1 = var25;
 var_node_list = var_ppropdefnode1;
 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction457> */
@@ -8080,8 +8497,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20482);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20234);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -8097,8 +8515,9 @@ var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20484);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20236);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -8114,8 +8533,9 @@ var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20486);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20238);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist4;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -8131,8 +8551,9 @@ var17 = var_tkwinitnode5->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20488);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20240);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -8148,8 +8569,9 @@ var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20490);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20242);
+show_backtrace(1);
 }
 var_pannotationsnode8 = var_nodearraylist6;
 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
@@ -8165,8 +8587,9 @@ var23 = var_pannotationsnode8->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20492);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20244);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist8;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -8182,13 +8605,13 @@ var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20494);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20246);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var30 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var30, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var29:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction458> */
@@ -8292,8 +8715,9 @@ var10 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20524);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20276);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -8309,8 +8733,9 @@ var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20526);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20278);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist3;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -8326,8 +8751,9 @@ var14 = var_tkwinitnode5->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20528);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20280);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist4;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -8343,8 +8769,9 @@ var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20530);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20282);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist5;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -8360,8 +8787,9 @@ var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20532);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20284);
+show_backtrace(1);
 }
 var_pannotationsnode8 = var_nodearraylist6;
 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
@@ -8377,8 +8805,9 @@ var23 = var_pannotationsnode8->type->type_table[cltype24] == idtype25;
 }
 }
 if (!var23) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20534);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20286);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist8;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -8394,13 +8823,13 @@ var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
 }
 }
 if (!var26) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20536);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20288);
+show_backtrace(1);
 }
 var29 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 var30 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var29:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var29);
 var_ppropdefnode1 = var29;
 var_node_list = var_ppropdefnode1;
 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction459> */
@@ -8511,8 +8940,9 @@ var11 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20567);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20319);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -8528,8 +8958,9 @@ var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20569);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20321);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -8545,8 +8976,9 @@ var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20571);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20323);
+show_backtrace(1);
 }
 var_tkwinitnode5 = var_nodearraylist4;
 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
@@ -8562,8 +8994,9 @@ var18 = var_tkwinitnode5->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20573);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20325);
+show_backtrace(1);
 }
 var_pmethidnode6 = var_nodearraylist5;
 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
@@ -8579,8 +9012,9 @@ var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20575);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20327);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist6;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -8596,8 +9030,9 @@ var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20577);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20329);
+show_backtrace(1);
 }
 var_pannotationsnode8 = var_nodearraylist7;
 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
@@ -8613,8 +9048,9 @@ var27 = var_pannotationsnode8->type->type_table[cltype28] == idtype29;
 }
 }
 if (!var27) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20579);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20331);
+show_backtrace(1);
 }
 var_pexprnode9 = var_nodearraylist9;
 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
@@ -8630,12 +9066,12 @@ var30 = var_pexprnode9->type->type_table[cltype31] == idtype32;
 }
 }
 if (!var30) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20581);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20333);
+show_backtrace(1);
 }
 var33 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var33:AConcreteInitPropdef>*/;
-CHECK_NEW_parser_nodes__AConcreteInitPropdef(var33);
 var_ppropdefnode1 = var33;
 var_node_list = var_ppropdefnode1;
 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction460> */
@@ -8716,8 +9152,9 @@ var6 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var6) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20607);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20359);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -8733,8 +9170,9 @@ var7 = var_pvisibilitynode4->type->type_table[cltype8] == idtype9;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20609);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20361);
+show_backtrace(1);
 }
 var_tkwtypenode5 = var_nodearraylist3;
 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
@@ -8750,8 +9188,9 @@ var10 = var_tkwtypenode5->type->type_table[cltype11] == idtype12;
 }
 }
 if (!var10) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20611);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20363);
+show_backtrace(1);
 }
 var_tclassidnode6 = var_nodearraylist4;
 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
@@ -8767,8 +9206,9 @@ var13 = var_tclassidnode6->type->type_table[cltype14] == idtype15;
 }
 }
 if (!var13) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20613);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20365);
+show_backtrace(1);
 }
 var_ptypenode7 = var_nodearraylist5;
 /* <var_ptypenode7:nullable Object> isa nullable AType */
@@ -8784,14 +9224,14 @@ var16 = var_ptypenode7->type->type_table[cltype17] == idtype18;
 }
 }
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20615);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20367);
+show_backtrace(1);
 }
 var19 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
 var20 = NULL;
 var21 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__ATypePropdef__init_atypepropdef]))(var19, var_pdocnode2, var20, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var21) /* init_atypepropdef on <var19:ATypePropdef>*/;
-CHECK_NEW_parser_nodes__ATypePropdef(var19);
 var_ppropdefnode1 = var19;
 var_node_list = var_ppropdefnode1;
 var22 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction461> */
@@ -8879,8 +9319,9 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20641);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20393);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -8896,8 +9337,9 @@ var8 = var_tkwredefnode3->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20643);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20395);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -8913,8 +9355,9 @@ var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20645);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20397);
+show_backtrace(1);
 }
 var_tkwtypenode5 = var_nodearraylist4;
 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
@@ -8930,8 +9373,9 @@ var14 = var_tkwtypenode5->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20647);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20399);
+show_backtrace(1);
 }
 var_tclassidnode6 = var_nodearraylist5;
 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
@@ -8947,8 +9391,9 @@ var17 = var_tclassidnode6->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20649);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20401);
+show_backtrace(1);
 }
 var_ptypenode7 = var_nodearraylist6;
 /* <var_ptypenode7:nullable Object> isa nullable AType */
@@ -8964,13 +9409,13 @@ var20 = var_ptypenode7->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20651);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20403);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
 var24 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__ATypePropdef__init_atypepropdef]))(var23, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var24) /* init_atypepropdef on <var23:ATypePropdef>*/;
-CHECK_NEW_parser_nodes__ATypePropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction462> */
@@ -9058,8 +9503,9 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20677);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20429);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -9075,8 +9521,9 @@ var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20679);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20431);
+show_backtrace(1);
 }
 var_tkwtypenode5 = var_nodearraylist3;
 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
@@ -9092,8 +9539,9 @@ var11 = var_tkwtypenode5->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20681);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20433);
+show_backtrace(1);
 }
 var_tclassidnode6 = var_nodearraylist4;
 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
@@ -9109,8 +9557,9 @@ var14 = var_tclassidnode6->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20683);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20435);
+show_backtrace(1);
 }
 var_ptypenode7 = var_nodearraylist5;
 /* <var_ptypenode7:nullable Object> isa nullable AType */
@@ -9126,8 +9575,9 @@ var17 = var_ptypenode7->type->type_table[cltype18] == idtype19;
 }
 }
 if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20685);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20437);
+show_backtrace(1);
 }
 var_pannotationsnode8 = var_nodearraylist6;
 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
@@ -9143,13 +9593,13 @@ var20 = var_pannotationsnode8->type->type_table[cltype21] == idtype22;
 }
 }
 if (!var20) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20687);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20439);
+show_backtrace(1);
 }
 var23 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
 var24 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__ATypePropdef__init_atypepropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var_pannotationsnode8) /* init_atypepropdef on <var23:ATypePropdef>*/;
-CHECK_NEW_parser_nodes__ATypePropdef(var23);
 var_ppropdefnode1 = var23;
 var_node_list = var_ppropdefnode1;
 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction463> */
@@ -9244,8 +9694,9 @@ var8 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20714);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20466);
+show_backtrace(1);
 }
 var_tkwredefnode3 = var_nodearraylist2;
 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
@@ -9261,8 +9712,9 @@ var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
 }
 }
 if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20716);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20468);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist3;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -9278,8 +9730,9 @@ var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
 }
 }
 if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20718);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20470);
+show_backtrace(1);
 }
 var_tkwtypenode5 = var_nodearraylist4;
 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
@@ -9295,8 +9748,9 @@ var15 = var_tkwtypenode5->type->type_table[cltype16] == idtype17;
 }
 }
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20720);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20472);
+show_backtrace(1);
 }
 var_tclassidnode6 = var_nodearraylist5;
 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
@@ -9312,8 +9766,9 @@ var18 = var_tclassidnode6->type->type_table[cltype19] == idtype20;
 }
 }
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20722);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20474);
+show_backtrace(1);
 }
 var_ptypenode7 = var_nodearraylist6;
 /* <var_ptypenode7:nullable Object> isa nullable AType */
@@ -9329,8 +9784,9 @@ var21 = var_ptypenode7->type->type_table[cltype22] == idtype23;
 }
 }
 if (!var21) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20724);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20476);
+show_backtrace(1);
 }
 var_pannotationsnode8 = var_nodearraylist7;
 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
@@ -9346,12 +9802,12 @@ var24 = var_pannotationsnode8->type->type_table[cltype25] == idtype26;
 }
 }
 if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20726);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20478);
+show_backtrace(1);
 }
 var27 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__ATypePropdef__init_atypepropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var_pannotationsnode8) /* init_atypepropdef on <var27:ATypePropdef>*/;
-CHECK_NEW_parser_nodes__ATypePropdef(var27);
 var_ppropdefnode1 = var27;
 var_node_list = var_ppropdefnode1;
 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction464> */
@@ -9435,8 +9891,9 @@ var7 = var_pdocnode2->type->type_table[cltype] == idtype;
 }
 }
 if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20752);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20504);
+show_backtrace(1);
 }
 var_pvisibilitynode4 = var_nodearraylist2;
 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
@@ -9452,8 +9909,9 @@ var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
 }
 }
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20754);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20506);
+show_backtrace(1);
 }
 var_tkwnewnode5 = var_nodearraylist3;
 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
@@ -9469,8 +9927,9 @@ var11 = var_tkwnewnode5->type->type_table[cltype12] == idtype13;
 }
 }
 if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20756);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20508);
+show_backtrace(1);
 }
 var_psignaturenode7 = var_nodearraylist4;
 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
@@ -9486,8 +9945,9 @@ var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
 }
 }
 if (!var14) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20758);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20510);
+show_backtrace(1);
 }
 var17 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
 var18 = NULL;
@@ -9496,7 +9956,6 @@ var20 = NULL;
 var21 = NULL;
 var22 = NULL;
 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var17->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var17, var_pdocnode2, var18, var_pvisibilitynode4, var_tkwnewnode5, var19, var_psignaturenode7, var20, var21, var22) /* init_aexterninitpropdef on <var17:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var17);
 var_ppropdefnode1 = var17;
 var_node_list = var_ppropdefnode1;
 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction465> */
@@ -9509,339 +9968,3 @@ void VIRTUAL_parser__ReduceAction465__action(val* self, val* p0) {
 parser__ReduceAction465__action(self, p0);
 RET_LABEL:;
 }
-/* method parser#ReduceAction466#action for (self: ReduceAction466, Parser) */
-void parser__ReduceAction466__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var /* : null */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var5 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var6 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var7 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_pdocnode2 /* var pdocnode2: nullable Object */;
-short int var8 /* : Bool */;
-int cltype;
-int idtype;
-val* var_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 /* : AExternInitPropdef */;
-val* var22 /* : null */;
-val* var23 /* : null */;
-val* var24 /* : null */;
-val* var25 /* : null */;
-val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
-long var26 /* : Int */;
-long var27 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist7 = var1;
-var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist6 = var2;
-var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist5 = var3;
-var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist4 = var4;
-var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist3 = var5;
-var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist2 = var6;
-var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist1 = var7;
-var_pdocnode2 = var_nodearraylist1;
-/* <var_pdocnode2:nullable Object> 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 (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20787);
-exit(1);
-}
-var_tkwredefnode3 = var_nodearraylist2;
-/* <var_tkwredefnode3:nullable Object> 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 (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20789);
-exit(1);
-}
-var_pvisibilitynode4 = var_nodearraylist3;
-/* <var_pvisibilitynode4:nullable Object> 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;
-}
-}
-if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20791);
-exit(1);
-}
-var_tkwnewnode5 = var_nodearraylist4;
-/* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
-cltype16 = type_nullable_parser_nodes__TKwnew.color;
-idtype17 = type_nullable_parser_nodes__TKwnew.id;
-if(var_tkwnewnode5 == NULL) {
-var15 = 1;
-} else {
-if(cltype16 >= var_tkwnewnode5->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
-}
-}
-if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20793);
-exit(1);
-}
-var_psignaturenode7 = var_nodearraylist5;
-/* <var_psignaturenode7:nullable Object> isa nullable ASignature */
-cltype19 = type_nullable_parser_nodes__ASignature.color;
-idtype20 = type_nullable_parser_nodes__ASignature.id;
-if(var_psignaturenode7 == NULL) {
-var18 = 1;
-} else {
-if(cltype19 >= var_psignaturenode7->type->table_size) {
-var18 = 0;
-} else {
-var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
-}
-}
-if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20795);
-exit(1);
-}
-var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
-var22 = NULL;
-var23 = NULL;
-var24 = NULL;
-var25 = NULL;
-((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var21, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var22, var_psignaturenode7, var23, var24, var25) /* init_aexterninitpropdef on <var21:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var21);
-var_ppropdefnode1 = var21;
-var_node_list = var_ppropdefnode1;
-var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction466> */
-var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
-((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
-RET_LABEL:;
-}
-/* method parser#ReduceAction466#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction466__action(val* self, val* p0) {
-parser__ReduceAction466__action(self, p0);
-RET_LABEL:;
-}
-/* method parser#ReduceAction467#action for (self: ReduceAction467, Parser) */
-void parser__ReduceAction467__action(val* self, val* p0) {
-val* var_p /* var p: Parser */;
-val* var /* : null */;
-val* var_node_list /* var node_list: nullable Object */;
-val* var1 /* : nullable Object */;
-val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var5 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var6 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var7 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_pdocnode2 /* var pdocnode2: nullable Object */;
-short int var8 /* : Bool */;
-int cltype;
-int idtype;
-val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
-short int var9 /* : Bool */;
-int cltype10;
-int idtype11;
-val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
-short int var12 /* : Bool */;
-int cltype13;
-int idtype14;
-val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
-short int var18 /* : Bool */;
-int cltype19;
-int idtype20;
-val* var21 /* : AExternInitPropdef */;
-val* var22 /* : null */;
-val* var23 /* : null */;
-val* var24 /* : null */;
-val* var25 /* : null */;
-val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
-long var26 /* : Int */;
-long var27 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist7 = var1;
-var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist6 = var2;
-var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist5 = var3;
-var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist4 = var4;
-var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist3 = var5;
-var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist2 = var6;
-var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
-var_nodearraylist1 = var7;
-var_pdocnode2 = var_nodearraylist1;
-/* <var_pdocnode2:nullable Object> 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 (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20824);
-exit(1);
-}
-var_pvisibilitynode4 = var_nodearraylist2;
-/* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
-cltype10 = type_nullable_parser_nodes__AVisibility.color;
-idtype11 = type_nullable_parser_nodes__AVisibility.id;
-if(var_pvisibilitynode4 == NULL) {
-var9 = 1;
-} else {
-if(cltype10 >= var_pvisibilitynode4->type->table_size) {
-var9 = 0;
-} else {
-var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
-}
-}
-if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20826);
-exit(1);
-}
-var_tkwnewnode5 = var_nodearraylist3;
-/* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
-cltype13 = type_nullable_parser_nodes__TKwnew.color;
-idtype14 = type_nullable_parser_nodes__TKwnew.id;
-if(var_tkwnewnode5 == NULL) {
-var12 = 1;
-} else {
-if(cltype13 >= var_tkwnewnode5->type->table_size) {
-var12 = 0;
-} else {
-var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
-}
-}
-if (!var12) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20828);
-exit(1);
-}
-var_pmethidnode6 = var_nodearraylist4;
-/* <var_pmethidnode6:nullable Object> isa nullable AMethid */
-cltype16 = type_nullable_parser_nodes__AMethid.color;
-idtype17 = type_nullable_parser_nodes__AMethid.id;
-if(var_pmethidnode6 == NULL) {
-var15 = 1;
-} else {
-if(cltype16 >= var_pmethidnode6->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
-}
-}
-if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20830);
-exit(1);
-}
-var_psignaturenode7 = var_nodearraylist5;
-/* <var_psignaturenode7:nullable Object> isa nullable ASignature */
-cltype19 = type_nullable_parser_nodes__ASignature.color;
-idtype20 = type_nullable_parser_nodes__ASignature.id;
-if(var_psignaturenode7 == NULL) {
-var18 = 1;
-} else {
-if(cltype19 >= var_psignaturenode7->type->table_size) {
-var18 = 0;
-} else {
-var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
-}
-}
-if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20832);
-exit(1);
-}
-var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
-var22 = NULL;
-var23 = NULL;
-var24 = NULL;
-var25 = NULL;
-((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var23, var24, var25) /* init_aexterninitpropdef on <var21:AExternInitPropdef>*/;
-CHECK_NEW_parser_nodes__AExternInitPropdef(var21);
-var_ppropdefnode1 = var21;
-var_node_list = var_ppropdefnode1;
-var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction467> */
-var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
-((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
-RET_LABEL:;
-}
-/* method parser#ReduceAction467#action for (self: Object, Parser) */
-void VIRTUAL_parser__ReduceAction467__action(val* self, val* p0) {
-parser__ReduceAction467__action(self, p0);
-RET_LABEL:;
-}