-goto RET_LABEL;
-} else {
-}
-var47 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
-if (var47 == NULL) {
-var48 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-var48 = ((short int (*)(val*, val*))(var47->class->vft[COLOR_kernel__Object___61d_61d]))(var47, var_old_child) /* == on <var47:nullable ALabel>*/;
-}
-if (var48){
-var49 = NULL;
-if (var_new_child == NULL) {
-var50 = 0; /* is null */
-} else {
-var50 = 1; /* arg is null and recv is not */
-}
-if (var50){
-((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
-/* <var_new_child:nullable ANode(ANode)> isa ALabel */
-cltype52 = type_parser_nodes__ALabel.color;
-idtype53 = type_parser_nodes__ALabel.id;
-if(cltype52 >= var_new_child->type->table_size) {
-var51 = 0;
-} else {
-var51 = var_new_child->type->type_table[cltype52] == idtype53;
-}
-if (!var51) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5680);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on <self:AForExpr> */
-} else {
-var54 = NULL;
-self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var54; /* _n_label on <self:AForExpr> */
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AForExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AForExpr__replace_child(self, p0, p1);
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_kwfor= for (self: AForExpr, TKwfor) */
-void parser_prod__AForExpr__n_kwfor_61d(val* self, val* p0) {
-val* var_node /* var node: TKwfor */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_node; /* _n_kwfor on <self:AForExpr> */
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwfor>*/;
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_kwfor= for (self: Object, TKwfor) */
-void VIRTUAL_parser_prod__AForExpr__n_kwfor_61d(val* self, val* p0) {
-parser_prod__AForExpr__n_kwfor_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_expr= for (self: AForExpr, AExpr) */
-void parser_prod__AForExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_node; /* _n_expr on <self:AForExpr> */
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AForExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AForExpr__n_expr_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_kwdo= for (self: AForExpr, TKwdo) */
-void parser_prod__AForExpr__n_kwdo_61d(val* self, val* p0) {
-val* var_node /* var node: TKwdo */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AForExpr> */
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwdo>*/;
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_kwdo= for (self: Object, TKwdo) */
-void VIRTUAL_parser_prod__AForExpr__n_kwdo_61d(val* self, val* p0) {
-parser_prod__AForExpr__n_kwdo_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_block= for (self: AForExpr, nullable AExpr) */
-void parser_prod__AForExpr__n_block_61d(val* self, val* p0) {
-val* var_node /* var node: nullable AExpr */;
-val* var /* : null */;
-short int var1 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_node; /* _n_block on <self:AForExpr> */
-var = NULL;
-if (var_node == NULL) {
-var1 = 0; /* is null */
-} else {
-var1 = 1; /* arg is null and recv is not */
-}
-if (var1){
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_block= for (self: Object, nullable AExpr) */
-void VIRTUAL_parser_prod__AForExpr__n_block_61d(val* self, val* p0) {
-parser_prod__AForExpr__n_block_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_label= for (self: AForExpr, nullable ALabel) */
-void parser_prod__AForExpr__n_label_61d(val* self, val* p0) {
-val* var_node /* var node: nullable ALabel */;
-val* var /* : null */;
-short int var1 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AForExpr> */
-var = NULL;
-if (var_node == NULL) {
-var1 = 0; /* is null */
-} else {
-var1 = 1; /* arg is null and recv is not */
-}
-if (var1){
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ALabel(ALabel)>*/;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_label= for (self: Object, nullable ALabel) */
-void VIRTUAL_parser_prod__AForExpr__n_label_61d(val* self, val* p0) {
-parser_prod__AForExpr__n_label_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#visit_all for (self: AForExpr, Visitor) */
-void parser_prod__AForExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : TKwfor */;
-val* var1 /* : ANodes[TId] */;
-val* var2 /* : Iterator[nullable Object] */;
-short int var3 /* : Bool */;
-val* var4 /* : nullable Object */;
-val* var_n /* var n: TId */;
-val* var5 /* : AExpr */;
-val* var6 /* : TKwdo */;
-val* var7 /* : nullable AExpr */;
-val* var8 /* : null */;
-short int var9 /* : Bool */;
-val* var10 /* : nullable AExpr */;
-val* var11 /* : nullable ALabel */;
-val* var12 /* : null */;
-short int var13 /* : Bool */;
-val* var14 /* : nullable ALabel */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwfor", "src/parser/parser_prod.nit", 5722);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
-var1 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 5723);
-exit(1);
-}
-var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:ANodes[TId]>*/;
-for(;;) {
-var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
-if(!var3) break;
-var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
-var_n = var4;
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
-CONTINUE_label: (void)0;
-((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
-}
-BREAK_label: (void)0;
-var5 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
-if (var5 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5726);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
-var6 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
-if (var6 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwdo", "src/parser/parser_prod.nit", 5727);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
-var7 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
-var8 = NULL;
-if (var7 == NULL) {
-var9 = 0; /* is null */
-} else {
-var9 = 1; /* arg is null and recv is not */
-}
-if (var9){
-var10 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
-if (var10 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5729);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
-} else {
-}
-var11 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
-var12 = NULL;
-if (var11 == NULL) {
-var13 = 0; /* is null */
-} else {
-var13 = 1; /* arg is null and recv is not */
-}
-if (var13){
-var14 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
-if (var14 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5732);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var14) /* enter_visit on <var_v:Visitor>*/;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AForExpr__visit_all(val* self, val* p0) {
-parser_prod__AForExpr__visit_all(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#empty_init for (self: AAssertExpr) */
-void parser_prod__AAssertExpr__empty_init(val* self) {
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#empty_init for (self: Object) */
-void VIRTUAL_parser_prod__AAssertExpr__empty_init(val* self) {
-parser_prod__AAssertExpr__empty_init(self);
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#init_aassertexpr for (self: AAssertExpr, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */
-void parser_prod__AAssertExpr__init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
-val* var_n_kwassert /* var n_kwassert: nullable TKwassert */;
-val* var_n_id /* var n_id: nullable TId */;
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_else /* var n_else: nullable AExpr */;
-val* var /* : null */;
-short int var1 /* : Bool */;
-val* var2 /* : null */;
-short int var3 /* : Bool */;
-var_n_kwassert = p0;
-var_n_id = p1;
-var_n_expr = p2;
-var_n_else = p3;
-((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAssertExpr__empty_init]))(self) /* empty_init on <self:AAssertExpr>*/;
-if (var_n_kwassert == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5747);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_n_kwassert; /* _n_kwassert on <self:AAssertExpr> */
-if (var_n_kwassert == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5748);
-exit(1);
-} else {
-((void (*)(val*, val*))(var_n_kwassert->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwassert, self) /* parent= on <var_n_kwassert:nullable TKwassert>*/;
-}
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_n_id; /* _n_id on <self:AAssertExpr> */
-var = NULL;
-if (var_n_id == NULL) {
-var1 = 0; /* is null */
-} else {
-var1 = 1; /* arg is null and recv is not */
-}
-if (var1){
-((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TId(TId)>*/;
-} else {
-}
-if (var_n_expr == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5753);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAssertExpr> */
-if (var_n_expr == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5754);
-exit(1);
-} else {
-((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
-}
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_n_else; /* _n_else on <self:AAssertExpr> */
-var2 = NULL;
-if (var_n_else == NULL) {
-var3 = 0; /* is null */
-} else {
-var3 = 1; /* arg is null and recv is not */
-}
-if (var3){
-((void (*)(val*, val*))(var_n_else->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_else, self) /* parent= on <var_n_else:nullable AExpr(AExpr)>*/;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#init_aassertexpr for (self: Object, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AAssertExpr__init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
-parser_prod__AAssertExpr__init_aassertexpr(self, p0, p1, p2, p3);
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#replace_child for (self: AAssertExpr, ANode, nullable ANode) */
-void parser_prod__AAssertExpr__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : TKwassert */;
-short int var1 /* : Bool */;
-val* var2 /* : null */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-int cltype;
-int idtype;
-val* var5 /* : nullable TId */;
-short int var6 /* : Bool */;
-val* var7 /* : null */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
-int cltype10;
-int idtype11;
-val* var12 /* : null */;
-val* var13 /* : AExpr */;
-short int var14 /* : Bool */;
-val* var15 /* : null */;
-short int var16 /* : Bool */;
-short int var17 /* : Bool */;
-int cltype18;
-int idtype19;
-val* var20 /* : nullable AExpr */;
-short int var21 /* : Bool */;
-val* var22 /* : null */;
-short int var23 /* : Bool */;
-short int var24 /* : Bool */;
-int cltype25;
-int idtype26;
-val* var27 /* : null */;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwassert", "src/parser/parser_prod.nit", 5763);
-exit(1);
-}
-var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwassert>*/;
-if (var1){
-var2 = NULL;
-if (var_new_child == NULL) {
-var3 = 0; /* is null */
-} else {
-var3 = 1; /* arg is null and recv is not */
-}
-if (var3){
-((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
-/* <var_new_child:nullable ANode(ANode)> isa TKwassert */
-cltype = type_parser_nodes__TKwassert.color;
-idtype = type_parser_nodes__TKwassert.id;
-if(cltype >= var_new_child->type->table_size) {
-var4 = 0;
-} else {
-var4 = var_new_child->type->type_table[cltype] == idtype;
-}
-if (!var4) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5766);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_new_child; /* _n_kwassert on <self:AAssertExpr> */
-} else {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5769);
-exit(1);
-}
-goto RET_LABEL;
-} else {
-}
-var5 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
-if (var5 == NULL) {
-var6 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable TId>*/;
-}
-if (var6){
-var7 = NULL;
-if (var_new_child == NULL) {
-var8 = 0; /* is null */
-} else {
-var8 = 1; /* arg is null and recv is not */
-}
-if (var8){
-((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
-/* <var_new_child:nullable ANode(ANode)> isa TId */
-cltype10 = type_parser_nodes__TId.color;
-idtype11 = type_parser_nodes__TId.id;
-if(cltype10 >= var_new_child->type->table_size) {
-var9 = 0;
-} else {
-var9 = var_new_child->type->type_table[cltype10] == idtype11;
-}
-if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5776);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_new_child; /* _n_id on <self:AAssertExpr> */
-} else {
-var12 = NULL;
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var12; /* _n_id on <self:AAssertExpr> */
-}
-goto RET_LABEL;
-} else {
-}
-var13 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
-if (var13 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5783);
-exit(1);
-}
-var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:AExpr>*/;
-if (var14){
-var15 = NULL;
-if (var_new_child == NULL) {
-var16 = 0; /* is null */
-} else {
-var16 = 1; /* arg is null and recv is not */
-}
-if (var16){
-((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
-/* <var_new_child:nullable ANode(ANode)> isa AExpr */
-cltype18 = type_parser_nodes__AExpr.color;
-idtype19 = type_parser_nodes__AExpr.id;
-if(cltype18 >= var_new_child->type->table_size) {
-var17 = 0;
-} else {
-var17 = var_new_child->type->type_table[cltype18] == idtype19;
-}
-if (!var17) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5786);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAssertExpr> */
-} else {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5789);
-exit(1);
-}
-goto RET_LABEL;
-} else {
-}
-var20 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
-if (var20 == NULL) {
-var21 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on <var20:nullable AExpr>*/;
-}
-if (var21){
-var22 = NULL;
-if (var_new_child == NULL) {
-var23 = 0; /* is null */
-} else {
-var23 = 1; /* arg is null and recv is not */
-}
-if (var23){
-((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
-/* <var_new_child:nullable ANode(ANode)> isa AExpr */
-cltype25 = type_parser_nodes__AExpr.color;
-idtype26 = type_parser_nodes__AExpr.id;
-if(cltype25 >= var_new_child->type->table_size) {
-var24 = 0;
-} else {
-var24 = var_new_child->type->type_table[cltype25] == idtype26;
-}
-if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5796);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_new_child; /* _n_else on <self:AAssertExpr> */
-} else {
-var27 = NULL;
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var27; /* _n_else on <self:AAssertExpr> */
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AAssertExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AAssertExpr__replace_child(self, p0, p1);
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#n_kwassert= for (self: AAssertExpr, TKwassert) */
-void parser_prod__AAssertExpr__n_kwassert_61d(val* self, val* p0) {
-val* var_node /* var node: TKwassert */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_node; /* _n_kwassert on <self:AAssertExpr> */
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwassert>*/;
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#n_kwassert= for (self: Object, TKwassert) */
-void VIRTUAL_parser_prod__AAssertExpr__n_kwassert_61d(val* self, val* p0) {
-parser_prod__AAssertExpr__n_kwassert_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#n_id= for (self: AAssertExpr, nullable TId) */
-void parser_prod__AAssertExpr__n_id_61d(val* self, val* p0) {
-val* var_node /* var node: nullable TId */;
-val* var /* : null */;
-short int var1 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_node; /* _n_id on <self:AAssertExpr> */
-var = NULL;
-if (var_node == NULL) {
-var1 = 0; /* is null */
-} else {
-var1 = 1; /* arg is null and recv is not */
-}
-if (var1){
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TId(TId)>*/;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#n_id= for (self: Object, nullable TId) */
-void VIRTUAL_parser_prod__AAssertExpr__n_id_61d(val* self, val* p0) {
-parser_prod__AAssertExpr__n_id_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#n_expr= for (self: AAssertExpr, AExpr) */
-void parser_prod__AAssertExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_node; /* _n_expr on <self:AAssertExpr> */
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AAssertExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AAssertExpr__n_expr_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#n_else= for (self: AAssertExpr, nullable AExpr) */
-void parser_prod__AAssertExpr__n_else_61d(val* self, val* p0) {
-val* var_node /* var node: nullable AExpr */;
-val* var /* : null */;
-short int var1 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_node; /* _n_else on <self:AAssertExpr> */
-var = NULL;
-if (var_node == NULL) {
-var1 = 0; /* is null */
-} else {
-var1 = 1; /* arg is null and recv is not */
-}
-if (var1){
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#n_else= for (self: Object, nullable AExpr) */
-void VIRTUAL_parser_prod__AAssertExpr__n_else_61d(val* self, val* p0) {
-parser_prod__AAssertExpr__n_else_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#visit_all for (self: AAssertExpr, Visitor) */
-void parser_prod__AAssertExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : TKwassert */;
-val* var1 /* : nullable TId */;
-val* var2 /* : null */;
-short int var3 /* : Bool */;
-val* var4 /* : nullable TId */;
-val* var5 /* : AExpr */;
-val* var6 /* : nullable AExpr */;
-val* var7 /* : null */;
-short int var8 /* : Bool */;
-val* var9 /* : nullable AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwassert", "src/parser/parser_prod.nit", 5833);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
-var1 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
-var2 = NULL;
-if (var1 == NULL) {
-var3 = 0; /* is null */
-} else {
-var3 = 1; /* arg is null and recv is not */
-}
-if (var3){
-var4 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
-if (var4 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5835);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
-} else {
-}
-var5 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
-if (var5 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5837);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
-var6 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
-var7 = NULL;
-if (var6 == NULL) {
-var8 = 0; /* is null */
-} else {
-var8 = 1; /* arg is null and recv is not */
-}
-if (var8){
-var9 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
-if (var9 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5839);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AAssertExpr__visit_all(val* self, val* p0) {
-parser_prod__AAssertExpr__visit_all(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#empty_init for (self: AOnceExpr) */
-void parser_prod__AOnceExpr__empty_init(val* self) {
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#empty_init for (self: Object) */
-void VIRTUAL_parser_prod__AOnceExpr__empty_init(val* self) {
-parser_prod__AOnceExpr__empty_init(self);
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#init_aonceexpr for (self: AOnceExpr, nullable TKwonce, nullable AExpr) */
-void parser_prod__AOnceExpr__init_aonceexpr(val* self, val* p0, val* p1) {
-val* var_n_kwonce /* var n_kwonce: nullable TKwonce */;
-val* var_n_expr /* var n_expr: nullable AExpr */;
-var_n_kwonce = p0;
-var_n_expr = p1;
-((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOnceExpr__empty_init]))(self) /* empty_init on <self:AOnceExpr>*/;
-if (var_n_kwonce == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5852);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_n_kwonce; /* _n_kwonce on <self:AOnceExpr> */
-if (var_n_kwonce == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5853);
-exit(1);
-} else {
-((void (*)(val*, val*))(var_n_kwonce->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwonce, self) /* parent= on <var_n_kwonce:nullable TKwonce>*/;
-}
-if (var_n_expr == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5854);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOnceExpr> */
-if (var_n_expr == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5855);
-exit(1);
-} else {
-((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#init_aonceexpr for (self: Object, nullable TKwonce, nullable AExpr) */
-void VIRTUAL_parser_prod__AOnceExpr__init_aonceexpr(val* self, val* p0, val* p1) {
-parser_prod__AOnceExpr__init_aonceexpr(self, p0, p1);
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#replace_child for (self: AOnceExpr, ANode, nullable ANode) */
-void parser_prod__AOnceExpr__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : TKwonce */;
-short int var1 /* : Bool */;
-val* var2 /* : null */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-int cltype;
-int idtype;
-val* var5 /* : AExpr */;
-short int var6 /* : Bool */;
-val* var7 /* : null */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
-int cltype10;
-int idtype11;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwonce", "src/parser/parser_prod.nit", 5860);
-exit(1);
-}
-var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwonce>*/;
-if (var1){
-var2 = NULL;
-if (var_new_child == NULL) {
-var3 = 0; /* is null */
-} else {
-var3 = 1; /* arg is null and recv is not */
-}
-if (var3){
-((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
-/* <var_new_child:nullable ANode(ANode)> isa TKwonce */
-cltype = type_parser_nodes__TKwonce.color;
-idtype = type_parser_nodes__TKwonce.id;
-if(cltype >= var_new_child->type->table_size) {
-var4 = 0;
-} else {
-var4 = var_new_child->type->type_table[cltype] == idtype;
-}
-if (!var4) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5863);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_new_child; /* _n_kwonce on <self:AOnceExpr> */
-} else {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5866);
-exit(1);
-}
-goto RET_LABEL;
-} else {
-}
-var5 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
-if (var5 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5870);
-exit(1);
-}
-var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
-if (var6){
-var7 = NULL;
-if (var_new_child == NULL) {
-var8 = 0; /* is null */
-} else {
-var8 = 1; /* arg is null and recv is not */
-}
-if (var8){
-((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
-/* <var_new_child:nullable ANode(ANode)> isa AExpr */
-cltype10 = type_parser_nodes__AExpr.color;
-idtype11 = type_parser_nodes__AExpr.id;
-if(cltype10 >= var_new_child->type->table_size) {
-var9 = 0;
-} else {
-var9 = var_new_child->type->type_table[cltype10] == idtype11;
-}
-if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5873);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOnceExpr> */
-} else {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5876);
-exit(1);
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AOnceExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AOnceExpr__replace_child(self, p0, p1);
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#n_kwonce= for (self: AOnceExpr, TKwonce) */
-void parser_prod__AOnceExpr__n_kwonce_61d(val* self, val* p0) {
-val* var_node /* var node: TKwonce */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_node; /* _n_kwonce on <self:AOnceExpr> */
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwonce>*/;
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#n_kwonce= for (self: Object, TKwonce) */
-void VIRTUAL_parser_prod__AOnceExpr__n_kwonce_61d(val* self, val* p0) {
-parser_prod__AOnceExpr__n_kwonce_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#n_expr= for (self: AOnceExpr, AExpr) */
-void parser_prod__AOnceExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_node; /* _n_expr on <self:AOnceExpr> */
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AOnceExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AOnceExpr__n_expr_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#visit_all for (self: AOnceExpr, Visitor) */
-void parser_prod__AOnceExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : TKwonce */;
-val* var1 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwonce", "src/parser/parser_prod.nit", 5896);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
-var1 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5897);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AOnceExpr__visit_all(val* self, val* p0) {
-parser_prod__AOnceExpr__visit_all(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#ASendExpr#empty_init for (self: ASendExpr) */
-void parser_prod__ASendExpr__empty_init(val* self) {
-RET_LABEL:;
-}
-/* method parser_prod#ASendExpr#empty_init for (self: Object) */
-void VIRTUAL_parser_prod__ASendExpr__empty_init(val* self) {
-parser_prod__ASendExpr__empty_init(self);
-RET_LABEL:;
-}
-/* method parser_prod#ASendExpr#init_asendexpr for (self: ASendExpr, nullable AExpr) */
-void parser_prod__ASendExpr__init_asendexpr(val* self, val* p0) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-var_n_expr = p0;
-((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASendExpr__empty_init]))(self) /* empty_init on <self:ASendExpr>*/;
-if (var_n_expr == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5908);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ASendExpr> */
-if (var_n_expr == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5909);
-exit(1);
-} else {
-((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
-}
-RET_LABEL:;
-}
-/* method parser_prod#ASendExpr#init_asendexpr for (self: Object, nullable AExpr) */
-void VIRTUAL_parser_prod__ASendExpr__init_asendexpr(val* self, val* p0) {
-parser_prod__ASendExpr__init_asendexpr(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#ASendExpr#replace_child for (self: ASendExpr, ANode, nullable ANode) */
-void parser_prod__ASendExpr__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var2 /* : null */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-int cltype;
-int idtype;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendExpr> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5914);
-exit(1);
-}
-var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
-if (var1){
-var2 = NULL;
-if (var_new_child == NULL) {
-var3 = 0; /* is null */
-} else {
-var3 = 1; /* arg is null and recv is not */
-}
-if (var3){
-((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
-/* <var_new_child:nullable ANode(ANode)> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(cltype >= var_new_child->type->table_size) {
-var4 = 0;
-} else {
-var4 = var_new_child->type->type_table[cltype] == idtype;
-}
-if (!var4) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5917);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ASendExpr> */
-} else {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5920);
-exit(1);
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ASendExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__ASendExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__ASendExpr__replace_child(self, p0, p1);
-RET_LABEL:;
-}
-/* method parser_prod#ASendExpr#n_expr= for (self: ASendExpr, AExpr) */
-void parser_prod__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ASendExpr> */
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
-RET_LABEL:;
-}
-/* method parser_prod#ASendExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ASendExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__ASendExpr__n_expr_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#ASendExpr#visit_all for (self: ASendExpr, Visitor) */
-void parser_prod__ASendExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendExpr> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5935);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
-RET_LABEL:;
-}
-/* method parser_prod#ASendExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__ASendExpr__visit_all(val* self, val* p0) {
-parser_prod__ASendExpr__visit_all(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#ABinopExpr#empty_init for (self: ABinopExpr) */
-void parser_prod__ABinopExpr__empty_init(val* self) {
-RET_LABEL:;
-}
-/* method parser_prod#ABinopExpr#empty_init for (self: Object) */
-void VIRTUAL_parser_prod__ABinopExpr__empty_init(val* self) {
-parser_prod__ABinopExpr__empty_init(self);
-RET_LABEL:;
-}
-/* method parser_prod#ABinopExpr#init_abinopexpr for (self: ABinopExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__ABinopExpr__init_abinopexpr(val* self, val* p0, val* p1) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-var_n_expr = p0;
-var_n_expr2 = p1;
-((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABinopExpr__empty_init]))(self) /* empty_init on <self:ABinopExpr>*/;
-if (var_n_expr == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5947);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABinopExpr> */
-if (var_n_expr == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5948);
-exit(1);
-} else {
-((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
-}
-if (var_n_expr2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 5949);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ABinopExpr> */
-if (var_n_expr2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 5950);
-exit(1);
-} else {
-((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
-}
-RET_LABEL:;
-}
-/* method parser_prod#ABinopExpr#init_abinopexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__ABinopExpr__init_abinopexpr(val* self, val* p0, val* p1) {
-parser_prod__ABinopExpr__init_abinopexpr(self, p0, p1);
-RET_LABEL:;
-}
-/* method parser_prod#ABinopExpr#replace_child for (self: ABinopExpr, ANode, nullable ANode) */
-void parser_prod__ABinopExpr__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var2 /* : null */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-int cltype;
-int idtype;
-val* var5 /* : AExpr */;
-short int var6 /* : Bool */;
-val* var7 /* : null */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
-int cltype10;
-int idtype11;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABinopExpr> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5955);
-exit(1);
-}
-var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
-if (var1){
-var2 = NULL;
-if (var_new_child == NULL) {
-var3 = 0; /* is null */
-} else {
-var3 = 1; /* arg is null and recv is not */
-}
-if (var3){
-((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
-/* <var_new_child:nullable ANode(ANode)> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(cltype >= var_new_child->type->table_size) {
-var4 = 0;
-} else {
-var4 = var_new_child->type->type_table[cltype] == idtype;
-}
-if (!var4) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5958);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABinopExpr> */
-} else {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5961);
-exit(1);
-}
-goto RET_LABEL;
-} else {
-}
-var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ABinopExpr> */
-if (var5 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 5965);
-exit(1);
-}
-var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
-if (var6){
-var7 = NULL;
-if (var_new_child == NULL) {
-var8 = 0; /* is null */
-} else {
-var8 = 1; /* arg is null and recv is not */
-}
-if (var8){
-((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
-/* <var_new_child:nullable ANode(ANode)> isa AExpr */
-cltype10 = type_parser_nodes__AExpr.color;
-idtype11 = type_parser_nodes__AExpr.id;
-if(cltype10 >= var_new_child->type->table_size) {
-var9 = 0;
-} else {
-var9 = var_new_child->type->type_table[cltype10] == idtype11;
-}
-if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 5968);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ABinopExpr> */
-} else {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 5971);
-exit(1);
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ABinopExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__ABinopExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__ABinopExpr__replace_child(self, p0, p1);
-RET_LABEL:;
-}
-/* method parser_prod#ABinopExpr#n_expr= for (self: ABinopExpr, AExpr) */
-void parser_prod__ABinopExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABinopExpr> */
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
-RET_LABEL:;
-}
-/* method parser_prod#ABinopExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ABinopExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__ABinopExpr__n_expr_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#ABinopExpr#n_expr2= for (self: ABinopExpr, AExpr) */
-void parser_prod__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ABinopExpr> */
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
-RET_LABEL:;
-}
-/* method parser_prod#ABinopExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__ABinopExpr__n_expr2_61d(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#ABinopExpr#visit_all for (self: ABinopExpr, Visitor) */
-void parser_prod__ABinopExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABinopExpr> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 5991);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ABinopExpr> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 5992);
-exit(1);
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
-RET_LABEL:;
-}
-/* method parser_prod#ABinopExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__ABinopExpr__visit_all(val* self, val* p0) {
-parser_prod__ABinopExpr__visit_all(self, p0);
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#empty_init for (self: AOrExpr) */
-void parser_prod__AOrExpr__empty_init(val* self) {
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#empty_init for (self: Object) */
-void VIRTUAL_parser_prod__AOrExpr__empty_init(val* self) {
-parser_prod__AOrExpr__empty_init(self);
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#init_aorexpr for (self: AOrExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__AOrExpr__init_aorexpr(val* self, val* p0, val* p1) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-var_n_expr = p0;
-var_n_expr2 = p1;
-((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOrExpr__empty_init]))(self) /* empty_init on <self:AOrExpr>*/;
-if (var_n_expr == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6004);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrExpr> */
-if (var_n_expr == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6005);
-exit(1);
-} else {
-((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
-}
-if (var_n_expr2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 6006);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrExpr> */
-if (var_n_expr2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 6007);
-exit(1);
-} else {
-((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#init_aorexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AOrExpr__init_aorexpr(val* self, val* p0, val* p1) {
-parser_prod__AOrExpr__init_aorexpr(self, p0, p1);
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#replace_child for (self: AOrExpr, ANode, nullable ANode) */
-void parser_prod__AOrExpr__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var2 /* : null */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-int cltype;
-int idtype;
-val* var5 /* : AExpr */;
-short int var6 /* : Bool */;
-val* var7 /* : null */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
-int cltype10;
-int idtype11;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 6012);
-exit(1);
-}
-var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
-if (var1){
-var2 = NULL;
-if (var_new_child == NULL) {
-var3 = 0; /* is null */
-} else {
-var3 = 1; /* arg is null and recv is not */
-}
-if (var3){
-((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
-/* <var_new_child:nullable ANode(ANode)> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(cltype >= var_new_child->type->table_size) {
-var4 = 0;
-} else {
-var4 = var_new_child->type->type_table[cltype] == idtype;
-}
-if (!var4) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6015);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOrExpr> */
-} else {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6018);
-exit(1);
-}
-goto RET_LABEL;
-} else {
-}
-var5 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
-if (var5 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 6022);
-exit(1);
-}
-var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
-if (var6){
-var7 = NULL;
-if (var_new_child == NULL) {
-var8 = 0; /* is null */
-} else {
-var8 = 1; /* arg is null and recv is not */
-}
-if (var8){
-((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
-/* <var_new_child:nullable ANode(ANode)> isa AExpr */
-cltype10 = type_parser_nodes__AExpr.color;
-idtype11 = type_parser_nodes__AExpr.id;
-if(cltype10 >= var_new_child->type->table_size) {
-var9 = 0;
-} else {
-var9 = var_new_child->type->type_table[cltype10] == idtype11;
-}
-if (!var9) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 6025);
-exit(1);
-}
-self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AOrExpr> */
-} else {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 6028);
-exit(1);
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AOrExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AOrExpr__replace_child(self, p0, p1);
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#n_expr= for (self: AOrExpr, AExpr) */
-void parser_prod__AOrExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_node; /* _n_expr on <self:AOrExpr> */
-((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
-RET_LABEL:;