c_src: regenerate
[nit.git] / c_src / parser_prod.sep.3.c
diff --git a/c_src/parser_prod.sep.3.c b/c_src/parser_prod.sep.3.c
deleted file mode 100644 (file)
index cb90f0a..0000000
+++ /dev/null
@@ -1,9741 +0,0 @@
-#include "parser_prod.sep.0.h"
-/* method parser_prod#AForExpr#init_aforexpr for (self: AForExpr, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
-void parser_prod__AForExpr__init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
-val* var_n_kwfor /* var n_kwfor: nullable TKwfor */;
-val* var_n_ids /* var n_ids: Collection[Object] */;
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_kwdo /* var n_kwdo: nullable TKwdo */;
-val* var_n_block /* var n_block: nullable AExpr */;
-val* var_n_label /* var n_label: nullable ALabel */;
-val* var /* : ANodes[TId] */;
-val* var3 /* : ANodes[TId] */;
-val* var6 /* : null */;
-short int var7 /* : Bool */;
-short int var8 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var10 /* : Bool */;
-short int var11 /* : Bool */;
-short int var12 /* : Bool */;
-val* var14 /* : null */;
-short int var15 /* : Bool */;
-short int var16 /* : Bool */;
-short int var18 /* : Bool */;
-short int var19 /* : Bool */;
-short int var20 /* : Bool */;
-var_n_kwfor = p0;
-var_n_ids = p1;
-var_n_expr = p2;
-var_n_kwdo = p3;
-var_n_block = p4;
-var_n_label = p5;
-if (unlikely(var_n_kwfor == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2766);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_n_kwfor; /* _n_kwfor on <self:AForExpr> */
-if (var_n_kwfor == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2767);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwfor,self) on <var_n_kwfor:nullable TKwfor> */
-if (unlikely(var_n_kwfor == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_kwfor->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwfor:nullable TKwfor> */
-RET_LABEL1:(void)0;
-}
-}
-{
-{ /* Inline parser_nodes#AForExpr#n_ids (self) on <self:AForExpr> */
-var3 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
-if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1426);
-show_backtrace(1);
-}
-var = var3;
-RET_LABEL2:(void)0;
-}
-}
-{
-parser_nodes__ANodes__unsafe_add_all(var, var_n_ids); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var:ANodes[TId]>*/
-}
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2769);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AForExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2770);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-if (unlikely(var_n_kwdo == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2771);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AForExpr> */
-if (var_n_kwdo == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2772);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on <var_n_kwdo:nullable TKwdo> */
-if (unlikely(var_n_kwdo == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_kwdo->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwdo:nullable TKwdo> */
-RET_LABEL5:(void)0;
-}
-}
-self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_n_block; /* _n_block on <self:AForExpr> */
-var6 = NULL;
-if (var_n_block == NULL) {
-var7 = 0; /* is null */
-} else {
-var7 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_block,var6) on <var_n_block:nullable AExpr> */
-var_other = var6;
-{
-var11 = ((short int (*)(val*, val*))(var_n_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_block, var_other) /* == on <var_n_block:nullable AExpr(AExpr)>*/;
-var10 = var11;
-}
-var12 = !var10;
-var8 = var12;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-var7 = var8;
-}
-if (var7){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
-var_n_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
-RET_LABEL13:(void)0;
-}
-}
-} else {
-}
-self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AForExpr> */
-var14 = NULL;
-if (var_n_label == NULL) {
-var15 = 0; /* is null */
-} else {
-var15 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_label,var14) on <var_n_label:nullable ALabel> */
-var_other = var14;
-{
-var19 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on <var_n_label:nullable ALabel(ALabel)>*/;
-var18 = var19;
-}
-var20 = !var18;
-var16 = var20;
-goto RET_LABEL17;
-RET_LABEL17:(void)0;
-}
-var15 = var16;
-}
-if (var15){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
-var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
-RET_LABEL21:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#init_aforexpr for (self: Object, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
-void VIRTUAL_parser_prod__AForExpr__init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
-parser_prod__AForExpr__init_aforexpr(self, p0, p1, p2, p3, p4, p5); /* Direct call parser_prod#AForExpr#init_aforexpr on <self:Object(AForExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#replace_child for (self: AForExpr, ANode, nullable ANode) */
-void parser_prod__AForExpr__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 /* : TKwfor */;
-short int var1 /* : Bool */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : ANodes[TId] */;
-val* var10 /* : ANodes[TId] */;
-short int var11 /* : Bool */;
-val* var12 /* : AExpr */;
-short int var13 /* : Bool */;
-short int var14 /* : Bool */;
-short int var16 /* : Bool */;
-short int var18 /* : Bool */;
-short int var19 /* : Bool */;
-int cltype20;
-int idtype21;
-const char* var_class_name22;
-val* var23 /* : TKwdo */;
-short int var24 /* : Bool */;
-short int var25 /* : Bool */;
-short int var27 /* : Bool */;
-short int var29 /* : Bool */;
-short int var30 /* : Bool */;
-int cltype31;
-int idtype32;
-const char* var_class_name33;
-val* var34 /* : nullable AExpr */;
-short int var35 /* : Bool */;
-short int var36 /* : Bool */;
-short int var38 /* : Bool */;
-short int var40 /* : Bool */;
-short int var41 /* : Bool */;
-int cltype42;
-int idtype43;
-const char* var_class_name44;
-val* var45 /* : nullable ALabel */;
-short int var46 /* : Bool */;
-short int var47 /* : Bool */;
-short int var49 /* : Bool */;
-short int var51 /* : Bool */;
-short int var52 /* : Bool */;
-int cltype53;
-int idtype54;
-const char* var_class_name55;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwfor");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2781);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:TKwfor> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwfor> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwfor */
-cltype = type_parser_nodes__TKwfor.color;
-idtype = type_parser_nodes__TKwfor.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwfor", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2782);
-show_backtrace(1);
-}
-{
-parser_prod__AForExpr__n_kwfor_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwfor= on <self:AForExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-{
-{ /* Inline parser_nodes#AForExpr#n_ids (self) on <self:AForExpr> */
-var10 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
-if (unlikely(var10 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1426);
-show_backtrace(1);
-}
-var8 = var10;
-RET_LABEL9:(void)0;
-}
-}
-{
-var11 = parser_nodes__ANodes__replace_child(var8, var_old_child, var_new_child);
-}
-if (var11){
-goto RET_LABEL;
-} else {
-}
-var12 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
-if (unlikely(var12 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2786);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var12,var_old_child) on <var12:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var12,var_other) on <var12:AExpr> */
-var18 = var12 == var_other;
-var16 = var18;
-goto RET_LABEL17;
-RET_LABEL17:(void)0;
-}
-}
-var14 = var16;
-goto RET_LABEL15;
-RET_LABEL15:(void)0;
-}
-var13 = var14;
-}
-if (var13){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype20 = type_parser_nodes__AExpr.color;
-idtype21 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var19 = 0;
-} else {
-if(cltype20 >= var_new_child->type->table_size) {
-var19 = 0;
-} else {
-var19 = var_new_child->type->type_table[cltype20] == idtype21;
-}
-}
-if (unlikely(!var19)) {
-var_class_name22 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name22);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2787);
-show_backtrace(1);
-}
-{
-parser_prod__AForExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_expr= on <self:AForExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var23 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
-if (unlikely(var23 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2790);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var23,var_old_child) on <var23:TKwdo> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var23,var_other) on <var23:TKwdo> */
-var29 = var23 == var_other;
-var27 = var29;
-goto RET_LABEL28;
-RET_LABEL28:(void)0;
-}
-}
-var25 = var27;
-goto RET_LABEL26;
-RET_LABEL26:(void)0;
-}
-var24 = var25;
-}
-if (var24){
-/* <var_new_child:nullable ANode> isa TKwdo */
-cltype31 = type_parser_nodes__TKwdo.color;
-idtype32 = type_parser_nodes__TKwdo.id;
-if(var_new_child == NULL) {
-var30 = 0;
-} else {
-if(cltype31 >= var_new_child->type->table_size) {
-var30 = 0;
-} else {
-var30 = var_new_child->type->type_table[cltype31] == idtype32;
-}
-}
-if (unlikely(!var30)) {
-var_class_name33 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name33);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2791);
-show_backtrace(1);
-}
-{
-parser_prod__AForExpr__n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwdo= on <self:AForExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var34 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
-if (var34 == NULL) {
-var35 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var34,var_old_child) on <var34:nullable AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var34,var_other) on <var34:nullable AExpr(AExpr)> */
-var40 = var34 == var_other;
-var38 = var40;
-goto RET_LABEL39;
-RET_LABEL39:(void)0;
-}
-}
-var36 = var38;
-goto RET_LABEL37;
-RET_LABEL37:(void)0;
-}
-var35 = var36;
-}
-if (var35){
-/* <var_new_child:nullable ANode> isa nullable AExpr */
-cltype42 = type_nullable_parser_nodes__AExpr.color;
-idtype43 = type_nullable_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var41 = 1;
-} else {
-if(cltype42 >= var_new_child->type->table_size) {
-var41 = 0;
-} else {
-var41 = var_new_child->type->type_table[cltype42] == idtype43;
-}
-}
-if (unlikely(!var41)) {
-var_class_name44 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name44);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2795);
-show_backtrace(1);
-}
-{
-parser_prod__AForExpr__n_block_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_block= on <self:AForExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var45 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
-if (var45 == NULL) {
-var46 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var45,var_old_child) on <var45:nullable ALabel> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var45,var_other) on <var45:nullable ALabel(ALabel)> */
-var51 = var45 == var_other;
-var49 = var51;
-goto RET_LABEL50;
-RET_LABEL50:(void)0;
-}
-}
-var47 = var49;
-goto RET_LABEL48;
-RET_LABEL48:(void)0;
-}
-var46 = var47;
-}
-if (var46){
-/* <var_new_child:nullable ANode> isa nullable ALabel */
-cltype53 = type_nullable_parser_nodes__ALabel.color;
-idtype54 = type_nullable_parser_nodes__ALabel.id;
-if(var_new_child == NULL) {
-var52 = 1;
-} else {
-if(cltype53 >= var_new_child->type->table_size) {
-var52 = 0;
-} else {
-var52 = var_new_child->type->type_table[cltype53] == idtype54;
-}
-}
-if (unlikely(!var52)) {
-var_class_name55 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name55);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2799);
-show_backtrace(1);
-}
-{
-parser_prod__AForExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#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); /* Direct call parser_prod#AForExpr#replace_child on <self:Object(AForExpr)>*/
-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> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwfor> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwfor> */
-RET_LABEL1:(void)0;
-}
-}
-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); /* Direct call parser_prod#AForExpr#n_kwfor= on <self:Object(AForExpr)>*/
-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> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-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); /* Direct call parser_prod#AForExpr#n_expr= on <self:Object(AForExpr)>*/
-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> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwdo> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwdo> */
-RET_LABEL1:(void)0;
-}
-}
-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); /* Direct call parser_prod#AForExpr#n_kwdo= on <self:Object(AForExpr)>*/
-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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : 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 (0) {
-{ /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AExpr> */
-var_other = var;
-{
-var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable AExpr(AExpr)>*/;
-var4 = var5;
-}
-var6 = !var4;
-var2 = var6;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
-RET_LABEL7:(void)0;
-}
-}
-} 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); /* Direct call parser_prod#AForExpr#n_block= on <self:Object(AForExpr)>*/
-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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : 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 (0) {
-{ /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable ALabel> */
-var_other = var;
-{
-var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable ALabel(ALabel)>*/;
-var4 = var5;
-}
-var6 = !var4;
-var2 = var6;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
-RET_LABEL7:(void)0;
-}
-}
-} 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); /* Direct call parser_prod#AForExpr#n_label= on <self:Object(AForExpr)>*/
-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* var3 /* : ANodes[TId] */;
-val* var4 /* : AExpr */;
-val* var5 /* : TKwdo */;
-val* var6 /* : nullable AExpr */;
-val* var7 /* : nullable ALabel */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwfor");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2833);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-{
-{ /* Inline parser_nodes#AForExpr#n_ids (self) on <self:AForExpr> */
-var3 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
-if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1426);
-show_backtrace(1);
-}
-var1 = var3;
-RET_LABEL2:(void)0;
-}
-}
-{
-parser_nodes__ANodes__visit_all(var1, var_v); /* Direct call parser_nodes#ANodes#visit_all on <var1:ANodes[TId]>*/
-}
-var4 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
-if (unlikely(var4 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2835);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var5 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
-if (unlikely(var5 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2836);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var6 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
-{
-parser_nodes__Visitor__enter_visit(var_v, var6); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var7 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
-{
-parser_nodes__Visitor__enter_visit(var_v, var7); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-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); /* Direct call parser_prod#AForExpr#visit_all on <self:Object(AForExpr)>*/
-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 var2 /* : Bool */;
-short int var3 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-val* var10 /* : null */;
-short int var11 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-short int var16 /* : Bool */;
-var_n_kwassert = p0;
-var_n_id = p1;
-var_n_expr = p2;
-var_n_else = p3;
-if (unlikely(var_n_kwassert == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2849);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_n_kwassert; /* _n_kwassert on <self:AAssertExpr> */
-if (var_n_kwassert == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2850);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwassert,self) on <var_n_kwassert:nullable TKwassert> */
-if (unlikely(var_n_kwassert == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_kwassert->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwassert:nullable TKwassert> */
-RET_LABEL1:(void)0;
-}
-}
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_n_id; /* _n_id on <self:AAssertExpr> */
-var = NULL;
-if (var_n_id == NULL) {
-var2 = 0; /* is null */
-} else {
-var2 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_id,var) on <var_n_id:nullable TId> */
-var_other = var;
-{
-var6 = ((short int (*)(val*, val*))(var_n_id->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_id, var_other) /* == on <var_n_id:nullable TId(TId)>*/;
-var5 = var6;
-}
-var7 = !var5;
-var3 = var7;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-var2 = var3;
-}
-if (var2){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId(TId)> */
-var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId(TId)> */
-RET_LABEL8:(void)0;
-}
-}
-} else {
-}
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2853);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAssertExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2854);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL9:(void)0;
-}
-}
-self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_n_else; /* _n_else on <self:AAssertExpr> */
-var10 = NULL;
-if (var_n_else == NULL) {
-var11 = 0; /* is null */
-} else {
-var11 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_else,var10) on <var_n_else:nullable AExpr> */
-var_other = var10;
-{
-var15 = ((short int (*)(val*, val*))(var_n_else->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_else, var_other) /* == on <var_n_else:nullable AExpr(AExpr)>*/;
-var14 = var15;
-}
-var16 = !var14;
-var12 = var16;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-var11 = var12;
-}
-if (var11){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_else,self) on <var_n_else:nullable AExpr(AExpr)> */
-var_n_else->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_else:nullable AExpr(AExpr)> */
-RET_LABEL17:(void)0;
-}
-}
-} 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); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <self:Object(AAssertExpr)>*/
-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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : nullable TId */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-val* var19 /* : AExpr */;
-short int var20 /* : Bool */;
-short int var21 /* : Bool */;
-short int var23 /* : Bool */;
-short int var25 /* : Bool */;
-short int var26 /* : Bool */;
-int cltype27;
-int idtype28;
-const char* var_class_name29;
-val* var30 /* : nullable AExpr */;
-short int var31 /* : Bool */;
-short int var32 /* : Bool */;
-short int var34 /* : Bool */;
-short int var36 /* : Bool */;
-short int var37 /* : Bool */;
-int cltype38;
-int idtype39;
-const char* var_class_name40;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwassert");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2861);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:TKwassert> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwassert> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwassert */
-cltype = type_parser_nodes__TKwassert.color;
-idtype = type_parser_nodes__TKwassert.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwassert", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2862);
-show_backtrace(1);
-}
-{
-parser_prod__AAssertExpr__n_kwassert_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_kwassert= on <self:AAssertExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
-if (var8 == NULL) {
-var9 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:nullable TId> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:nullable TId(TId)> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa nullable TId */
-cltype16 = type_nullable_parser_nodes__TId.color;
-idtype17 = type_nullable_parser_nodes__TId.id;
-if(var_new_child == NULL) {
-var15 = 1;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2866);
-show_backtrace(1);
-}
-{
-parser_prod__AAssertExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_id= on <self:AAssertExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var19 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
-if (unlikely(var19 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2869);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var19,var_old_child) on <var19:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:AExpr> */
-var25 = var19 == var_other;
-var23 = var25;
-goto RET_LABEL24;
-RET_LABEL24:(void)0;
-}
-}
-var21 = var23;
-goto RET_LABEL22;
-RET_LABEL22:(void)0;
-}
-var20 = var21;
-}
-if (var20){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype27 = type_parser_nodes__AExpr.color;
-idtype28 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var26 = 0;
-} else {
-if(cltype27 >= var_new_child->type->table_size) {
-var26 = 0;
-} else {
-var26 = var_new_child->type->type_table[cltype27] == idtype28;
-}
-}
-if (unlikely(!var26)) {
-var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name29);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2870);
-show_backtrace(1);
-}
-{
-parser_prod__AAssertExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_expr= on <self:AAssertExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var30 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
-if (var30 == NULL) {
-var31 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var30,var_old_child) on <var30:nullable AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var30,var_other) on <var30:nullable AExpr(AExpr)> */
-var36 = var30 == var_other;
-var34 = var36;
-goto RET_LABEL35;
-RET_LABEL35:(void)0;
-}
-}
-var32 = var34;
-goto RET_LABEL33;
-RET_LABEL33:(void)0;
-}
-var31 = var32;
-}
-if (var31){
-/* <var_new_child:nullable ANode> isa nullable AExpr */
-cltype38 = type_nullable_parser_nodes__AExpr.color;
-idtype39 = type_nullable_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var37 = 1;
-} else {
-if(cltype38 >= var_new_child->type->table_size) {
-var37 = 0;
-} else {
-var37 = var_new_child->type->type_table[cltype38] == idtype39;
-}
-}
-if (unlikely(!var37)) {
-var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name40);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2874);
-show_backtrace(1);
-}
-{
-parser_prod__AAssertExpr__n_else_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#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); /* Direct call parser_prod#AAssertExpr#replace_child on <self:Object(AAssertExpr)>*/
-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> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwassert> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwassert> */
-RET_LABEL1:(void)0;
-}
-}
-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); /* Direct call parser_prod#AAssertExpr#n_kwassert= on <self:Object(AAssertExpr)>*/
-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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : 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 (0) {
-{ /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TId> */
-var_other = var;
-{
-var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable TId(TId)>*/;
-var4 = var5;
-}
-var6 = !var4;
-var2 = var6;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TId(TId)> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TId(TId)> */
-RET_LABEL7:(void)0;
-}
-}
-} 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); /* Direct call parser_prod#AAssertExpr#n_id= on <self:Object(AAssertExpr)>*/
-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> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-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); /* Direct call parser_prod#AAssertExpr#n_expr= on <self:Object(AAssertExpr)>*/
-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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : 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 (0) {
-{ /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable AExpr> */
-var_other = var;
-{
-var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable AExpr(AExpr)>*/;
-var4 = var5;
-}
-var6 = !var4;
-var2 = var6;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
-RET_LABEL7:(void)0;
-}
-}
-} 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); /* Direct call parser_prod#AAssertExpr#n_else= on <self:Object(AAssertExpr)>*/
-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 /* : AExpr */;
-val* var3 /* : nullable AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwassert");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2903);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2905);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var3 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
-{
-parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-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); /* Direct call parser_prod#AAssertExpr#visit_all on <self:Object(AAssertExpr)>*/
-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;
-if (unlikely(var_n_kwonce == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2915);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_n_kwonce; /* _n_kwonce on <self:AOnceExpr> */
-if (var_n_kwonce == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2916);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwonce,self) on <var_n_kwonce:nullable TKwonce> */
-if (unlikely(var_n_kwonce == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_kwonce->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwonce:nullable TKwonce> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2917);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AOnceExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOnceExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2918);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-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); /* Direct call parser_prod#AOnceExpr#init_aonceexpr on <self:Object(AOnceExpr)>*/
-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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwonce");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2923);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:TKwonce> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwonce> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwonce */
-cltype = type_parser_nodes__TKwonce.color;
-idtype = type_parser_nodes__TKwonce.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwonce", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2924);
-show_backtrace(1);
-}
-{
-parser_prod__AOnceExpr__n_kwonce_61d(self, var_new_child); /* Direct call parser_prod#AOnceExpr#n_kwonce= on <self:AOnceExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__AOnceExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2927);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2928);
-show_backtrace(1);
-}
-{
-parser_prod__AOnceExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOnceExpr#n_expr= on <self:AOnceExpr>*/
-}
-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); /* Direct call parser_prod#AOnceExpr#replace_child on <self:Object(AOnceExpr)>*/
-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> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwonce> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwonce> */
-RET_LABEL1:(void)0;
-}
-}
-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); /* Direct call parser_prod#AOnceExpr#n_kwonce= on <self:Object(AOnceExpr)>*/
-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__AOnceExpr___n_expr].val = var_node; /* _n_expr on <self:AOnceExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-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); /* Direct call parser_prod#AOnceExpr#n_expr= on <self:Object(AOnceExpr)>*/
-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 (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwonce");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2947);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__AOnceExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2948);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#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); /* Direct call parser_prod#AOnceExpr#visit_all on <self:Object(AOnceExpr)>*/
-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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3028);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3029);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3030);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3031);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-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); /* Direct call parser_prod#AOrExpr#init_aorexpr on <self:Object(AOrExpr)>*/
-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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3036);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3037);
-show_backtrace(1);
-}
-{
-parser_prod__AOrExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_expr= on <self:AOrExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3040);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3041);
-show_backtrace(1);
-}
-{
-parser_prod__AOrExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_expr2= on <self:AOrExpr>*/
-}
-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); /* Direct call parser_prod#AOrExpr#replace_child on <self:Object(AOrExpr)>*/
-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> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AOrExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AOrExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AOrExpr#n_expr= on <self:Object(AOrExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#n_expr2= for (self: AOrExpr, AExpr) */
-void parser_prod__AOrExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AOrExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__AOrExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AOrExpr#n_expr2= on <self:Object(AOrExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#visit_all for (self: AOrExpr, Visitor) */
-void parser_prod__AOrExpr__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__AOrExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3060);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3061);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AOrExpr__visit_all(val* self, val* p0) {
-parser_prod__AOrExpr__visit_all(self, p0); /* Direct call parser_prod#AOrExpr#visit_all on <self:Object(AOrExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#init_aandexpr for (self: AAndExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__AAndExpr__init_aandexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3070);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAndExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3071);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3072);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AAndExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3073);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#init_aandexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AAndExpr__init_aandexpr(val* self, val* p0, val* p1) {
-parser_prod__AAndExpr__init_aandexpr(self, p0, p1); /* Direct call parser_prod#AAndExpr#init_aandexpr on <self:Object(AAndExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#replace_child for (self: AAndExpr, ANode, nullable ANode) */
-void parser_prod__AAndExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3078);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3079);
-show_backtrace(1);
-}
-{
-parser_prod__AAndExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_expr= on <self:AAndExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3082);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3083);
-show_backtrace(1);
-}
-{
-parser_prod__AAndExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_expr2= on <self:AAndExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AAndExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AAndExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAndExpr#replace_child on <self:Object(AAndExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#n_expr= for (self: AAndExpr, AExpr) */
-void parser_prod__AAndExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_node; /* _n_expr on <self:AAndExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AAndExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AAndExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AAndExpr#n_expr= on <self:Object(AAndExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#n_expr2= for (self: AAndExpr, AExpr) */
-void parser_prod__AAndExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AAndExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AAndExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__AAndExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AAndExpr#n_expr2= on <self:Object(AAndExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#visit_all for (self: AAndExpr, Visitor) */
-void parser_prod__AAndExpr__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__AAndExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3102);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3103);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AAndExpr__visit_all(val* self, val* p0) {
-parser_prod__AAndExpr__visit_all(self, p0); /* Direct call parser_prod#AAndExpr#visit_all on <self:Object(AAndExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: AOrElseExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__AOrElseExpr__init_aorelseexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3112);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrElseExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3113);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3114);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrElseExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3115);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AOrElseExpr__init_aorelseexpr(val* self, val* p0, val* p1) {
-parser_prod__AOrElseExpr__init_aorelseexpr(self, p0, p1); /* Direct call parser_prod#AOrElseExpr#init_aorelseexpr on <self:Object(AOrElseExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#replace_child for (self: AOrElseExpr, ANode, nullable ANode) */
-void parser_prod__AOrElseExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3120);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3121);
-show_backtrace(1);
-}
-{
-parser_prod__AOrElseExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_expr= on <self:AOrElseExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3124);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3125);
-show_backtrace(1);
-}
-{
-parser_prod__AOrElseExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_expr2= on <self:AOrElseExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AOrElseExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AOrElseExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AOrElseExpr#replace_child on <self:Object(AOrElseExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#n_expr= for (self: AOrElseExpr, AExpr) */
-void parser_prod__AOrElseExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_node; /* _n_expr on <self:AOrElseExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AOrElseExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AOrElseExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AOrElseExpr#n_expr= on <self:Object(AOrElseExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#n_expr2= for (self: AOrElseExpr, AExpr) */
-void parser_prod__AOrElseExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrElseExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AOrElseExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__AOrElseExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AOrElseExpr#n_expr2= on <self:Object(AOrElseExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#visit_all for (self: AOrElseExpr, Visitor) */
-void parser_prod__AOrElseExpr__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__AOrElseExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3144);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3145);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AOrElseExpr__visit_all(val* self, val* p0) {
-parser_prod__AOrElseExpr__visit_all(self, p0); /* Direct call parser_prod#AOrElseExpr#visit_all on <self:Object(AOrElseExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: AImpliesExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__AImpliesExpr__init_aimpliesexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3154);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AImpliesExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3155);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3156);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AImpliesExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3157);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AImpliesExpr__init_aimpliesexpr(val* self, val* p0, val* p1) {
-parser_prod__AImpliesExpr__init_aimpliesexpr(self, p0, p1); /* Direct call parser_prod#AImpliesExpr#init_aimpliesexpr on <self:Object(AImpliesExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#replace_child for (self: AImpliesExpr, ANode, nullable ANode) */
-void parser_prod__AImpliesExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3162);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3163);
-show_backtrace(1);
-}
-{
-parser_prod__AImpliesExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr= on <self:AImpliesExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3166);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3167);
-show_backtrace(1);
-}
-{
-parser_prod__AImpliesExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr2= on <self:AImpliesExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AImpliesExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AImpliesExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AImpliesExpr#replace_child on <self:Object(AImpliesExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#n_expr= for (self: AImpliesExpr, AExpr) */
-void parser_prod__AImpliesExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_node; /* _n_expr on <self:AImpliesExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AImpliesExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AImpliesExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AImpliesExpr#n_expr= on <self:Object(AImpliesExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#n_expr2= for (self: AImpliesExpr, AExpr) */
-void parser_prod__AImpliesExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AImpliesExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AImpliesExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__AImpliesExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AImpliesExpr#n_expr2= on <self:Object(AImpliesExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#visit_all for (self: AImpliesExpr, Visitor) */
-void parser_prod__AImpliesExpr__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__AImpliesExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3186);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3187);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AImpliesExpr__visit_all(val* self, val* p0) {
-parser_prod__AImpliesExpr__visit_all(self, p0); /* Direct call parser_prod#AImpliesExpr#visit_all on <self:Object(AImpliesExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#init_anotexpr for (self: ANotExpr, nullable TKwnot, nullable AExpr) */
-void parser_prod__ANotExpr__init_anotexpr(val* self, val* p0, val* p1) {
-val* var_n_kwnot /* var n_kwnot: nullable TKwnot */;
-val* var_n_expr /* var n_expr: nullable AExpr */;
-var_n_kwnot = p0;
-var_n_expr = p1;
-if (unlikely(var_n_kwnot == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3196);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on <self:ANotExpr> */
-if (var_n_kwnot == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3197);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwnot,self) on <var_n_kwnot:nullable TKwnot> */
-if (unlikely(var_n_kwnot == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_kwnot->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwnot:nullable TKwnot> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3198);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANotExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3199);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#init_anotexpr for (self: Object, nullable TKwnot, nullable AExpr) */
-void VIRTUAL_parser_prod__ANotExpr__init_anotexpr(val* self, val* p0, val* p1) {
-parser_prod__ANotExpr__init_anotexpr(self, p0, p1); /* Direct call parser_prod#ANotExpr#init_anotexpr on <self:Object(ANotExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#replace_child for (self: ANotExpr, ANode, nullable ANode) */
-void parser_prod__ANotExpr__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 /* : TKwnot */;
-short int var1 /* : Bool */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3204);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:TKwnot> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwnot> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwnot */
-cltype = type_parser_nodes__TKwnot.color;
-idtype = type_parser_nodes__TKwnot.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnot", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3205);
-show_backtrace(1);
-}
-{
-parser_prod__ANotExpr__n_kwnot_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_kwnot= on <self:ANotExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3208);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3209);
-show_backtrace(1);
-}
-{
-parser_prod__ANotExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_expr= on <self:ANotExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__ANotExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__ANotExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ANotExpr#replace_child on <self:Object(ANotExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#n_kwnot= for (self: ANotExpr, TKwnot) */
-void parser_prod__ANotExpr__n_kwnot_61d(val* self, val* p0) {
-val* var_node /* var node: TKwnot */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_node; /* _n_kwnot on <self:ANotExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwnot> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwnot> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#n_kwnot= for (self: Object, TKwnot) */
-void VIRTUAL_parser_prod__ANotExpr__n_kwnot_61d(val* self, val* p0) {
-parser_prod__ANotExpr__n_kwnot_61d(self, p0); /* Direct call parser_prod#ANotExpr#n_kwnot= on <self:Object(ANotExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#n_expr= for (self: ANotExpr, AExpr) */
-void parser_prod__ANotExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_node; /* _n_expr on <self:ANotExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ANotExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__ANotExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ANotExpr#n_expr= on <self:Object(ANotExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#visit_all for (self: ANotExpr, Visitor) */
-void parser_prod__ANotExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : TKwnot */;
-val* var1 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3228);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3229);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__ANotExpr__visit_all(val* self, val* p0) {
-parser_prod__ANotExpr__visit_all(self, p0); /* Direct call parser_prod#ANotExpr#visit_all on <self:Object(ANotExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#init_aeqexpr for (self: AEqExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__AEqExpr__init_aeqexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3238);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AEqExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3239);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3240);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AEqExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3241);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#init_aeqexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AEqExpr__init_aeqexpr(val* self, val* p0, val* p1) {
-parser_prod__AEqExpr__init_aeqexpr(self, p0, p1); /* Direct call parser_prod#AEqExpr#init_aeqexpr on <self:Object(AEqExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#replace_child for (self: AEqExpr, ANode, nullable ANode) */
-void parser_prod__AEqExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3246);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3247);
-show_backtrace(1);
-}
-{
-parser_prod__AEqExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr= on <self:AEqExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3250);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3251);
-show_backtrace(1);
-}
-{
-parser_prod__AEqExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr2= on <self:AEqExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AEqExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AEqExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AEqExpr#replace_child on <self:Object(AEqExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#n_expr= for (self: AEqExpr, AExpr) */
-void parser_prod__AEqExpr__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:AEqExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AEqExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AEqExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AEqExpr#n_expr= on <self:Object(AEqExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#n_expr2= for (self: AEqExpr, AExpr) */
-void parser_prod__AEqExpr__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:AEqExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AEqExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__AEqExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AEqExpr#n_expr2= on <self:Object(AEqExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#visit_all for (self: AEqExpr, Visitor) */
-void parser_prod__AEqExpr__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:AEqExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3270);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3271);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AEqExpr__visit_all(val* self, val* p0) {
-parser_prod__AEqExpr__visit_all(self, p0); /* Direct call parser_prod#AEqExpr#visit_all on <self:Object(AEqExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#init_aneexpr for (self: ANeExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__ANeExpr__init_aneexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3280);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANeExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3281);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3282);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ANeExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3283);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#init_aneexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__ANeExpr__init_aneexpr(val* self, val* p0, val* p1) {
-parser_prod__ANeExpr__init_aneexpr(self, p0, p1); /* Direct call parser_prod#ANeExpr#init_aneexpr on <self:Object(ANeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#replace_child for (self: ANeExpr, ANode, nullable ANode) */
-void parser_prod__ANeExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3288);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3289);
-show_backtrace(1);
-}
-{
-parser_prod__ANeExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr= on <self:ANeExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3292);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3293);
-show_backtrace(1);
-}
-{
-parser_prod__ANeExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr2= on <self:ANeExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__ANeExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__ANeExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ANeExpr#replace_child on <self:Object(ANeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#n_expr= for (self: ANeExpr, AExpr) */
-void parser_prod__ANeExpr__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:ANeExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ANeExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__ANeExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ANeExpr#n_expr= on <self:Object(ANeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#n_expr2= for (self: ANeExpr, AExpr) */
-void parser_prod__ANeExpr__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:ANeExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ANeExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__ANeExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#ANeExpr#n_expr2= on <self:Object(ANeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#visit_all for (self: ANeExpr, Visitor) */
-void parser_prod__ANeExpr__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:ANeExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3312);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3313);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__ANeExpr__visit_all(val* self, val* p0) {
-parser_prod__ANeExpr__visit_all(self, p0); /* Direct call parser_prod#ANeExpr#visit_all on <self:Object(ANeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#init_altexpr for (self: ALtExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__ALtExpr__init_altexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3322);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALtExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3323);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3324);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALtExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3325);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#init_altexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__ALtExpr__init_altexpr(val* self, val* p0, val* p1) {
-parser_prod__ALtExpr__init_altexpr(self, p0, p1); /* Direct call parser_prod#ALtExpr#init_altexpr on <self:Object(ALtExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#replace_child for (self: ALtExpr, ANode, nullable ANode) */
-void parser_prod__ALtExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3330);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3331);
-show_backtrace(1);
-}
-{
-parser_prod__ALtExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_expr= on <self:ALtExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3334);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3335);
-show_backtrace(1);
-}
-{
-parser_prod__ALtExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_expr2= on <self:ALtExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__ALtExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__ALtExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ALtExpr#replace_child on <self:Object(ALtExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#n_expr= for (self: ALtExpr, AExpr) */
-void parser_prod__ALtExpr__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:ALtExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ALtExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__ALtExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ALtExpr#n_expr= on <self:Object(ALtExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#n_expr2= for (self: ALtExpr, AExpr) */
-void parser_prod__ALtExpr__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:ALtExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ALtExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__ALtExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#ALtExpr#n_expr2= on <self:Object(ALtExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#visit_all for (self: ALtExpr, Visitor) */
-void parser_prod__ALtExpr__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:ALtExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3354);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3355);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__ALtExpr__visit_all(val* self, val* p0) {
-parser_prod__ALtExpr__visit_all(self, p0); /* Direct call parser_prod#ALtExpr#visit_all on <self:Object(ALtExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#init_aleexpr for (self: ALeExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__ALeExpr__init_aleexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3364);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALeExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3365);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3366);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALeExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3367);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#init_aleexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__ALeExpr__init_aleexpr(val* self, val* p0, val* p1) {
-parser_prod__ALeExpr__init_aleexpr(self, p0, p1); /* Direct call parser_prod#ALeExpr#init_aleexpr on <self:Object(ALeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#replace_child for (self: ALeExpr, ANode, nullable ANode) */
-void parser_prod__ALeExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3372);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3373);
-show_backtrace(1);
-}
-{
-parser_prod__ALeExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_expr= on <self:ALeExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3376);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3377);
-show_backtrace(1);
-}
-{
-parser_prod__ALeExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_expr2= on <self:ALeExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__ALeExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__ALeExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ALeExpr#replace_child on <self:Object(ALeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#n_expr= for (self: ALeExpr, AExpr) */
-void parser_prod__ALeExpr__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:ALeExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ALeExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__ALeExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ALeExpr#n_expr= on <self:Object(ALeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#n_expr2= for (self: ALeExpr, AExpr) */
-void parser_prod__ALeExpr__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:ALeExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ALeExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__ALeExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#ALeExpr#n_expr2= on <self:Object(ALeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#visit_all for (self: ALeExpr, Visitor) */
-void parser_prod__ALeExpr__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:ALeExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3396);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3397);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__ALeExpr__visit_all(val* self, val* p0) {
-parser_prod__ALeExpr__visit_all(self, p0); /* Direct call parser_prod#ALeExpr#visit_all on <self:Object(ALeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#init_allexpr for (self: ALlExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__ALlExpr__init_allexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3406);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALlExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3407);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3408);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALlExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3409);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#init_allexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__ALlExpr__init_allexpr(val* self, val* p0, val* p1) {
-parser_prod__ALlExpr__init_allexpr(self, p0, p1); /* Direct call parser_prod#ALlExpr#init_allexpr on <self:Object(ALlExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#replace_child for (self: ALlExpr, ANode, nullable ANode) */
-void parser_prod__ALlExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3414);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3415);
-show_backtrace(1);
-}
-{
-parser_prod__ALlExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_expr= on <self:ALlExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3418);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3419);
-show_backtrace(1);
-}
-{
-parser_prod__ALlExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_expr2= on <self:ALlExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__ALlExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__ALlExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ALlExpr#replace_child on <self:Object(ALlExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#n_expr= for (self: ALlExpr, AExpr) */
-void parser_prod__ALlExpr__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:ALlExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ALlExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__ALlExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ALlExpr#n_expr= on <self:Object(ALlExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#n_expr2= for (self: ALlExpr, AExpr) */
-void parser_prod__ALlExpr__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:ALlExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ALlExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__ALlExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#ALlExpr#n_expr2= on <self:Object(ALlExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#visit_all for (self: ALlExpr, Visitor) */
-void parser_prod__ALlExpr__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:ALlExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3438);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3439);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__ALlExpr__visit_all(val* self, val* p0) {
-parser_prod__ALlExpr__visit_all(self, p0); /* Direct call parser_prod#ALlExpr#visit_all on <self:Object(ALlExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#init_agtexpr for (self: AGtExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__AGtExpr__init_agtexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3448);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGtExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3449);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3450);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGtExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3451);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#init_agtexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AGtExpr__init_agtexpr(val* self, val* p0, val* p1) {
-parser_prod__AGtExpr__init_agtexpr(self, p0, p1); /* Direct call parser_prod#AGtExpr#init_agtexpr on <self:Object(AGtExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#replace_child for (self: AGtExpr, ANode, nullable ANode) */
-void parser_prod__AGtExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3456);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3457);
-show_backtrace(1);
-}
-{
-parser_prod__AGtExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_expr= on <self:AGtExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3460);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3461);
-show_backtrace(1);
-}
-{
-parser_prod__AGtExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_expr2= on <self:AGtExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AGtExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AGtExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AGtExpr#replace_child on <self:Object(AGtExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#n_expr= for (self: AGtExpr, AExpr) */
-void parser_prod__AGtExpr__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:AGtExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AGtExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AGtExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AGtExpr#n_expr= on <self:Object(AGtExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#n_expr2= for (self: AGtExpr, AExpr) */
-void parser_prod__AGtExpr__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:AGtExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AGtExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__AGtExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AGtExpr#n_expr2= on <self:Object(AGtExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#visit_all for (self: AGtExpr, Visitor) */
-void parser_prod__AGtExpr__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:AGtExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3480);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3481);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AGtExpr__visit_all(val* self, val* p0) {
-parser_prod__AGtExpr__visit_all(self, p0); /* Direct call parser_prod#AGtExpr#visit_all on <self:Object(AGtExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#init_ageexpr for (self: AGeExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__AGeExpr__init_ageexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3490);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGeExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3491);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3492);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGeExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3493);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#init_ageexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AGeExpr__init_ageexpr(val* self, val* p0, val* p1) {
-parser_prod__AGeExpr__init_ageexpr(self, p0, p1); /* Direct call parser_prod#AGeExpr#init_ageexpr on <self:Object(AGeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#replace_child for (self: AGeExpr, ANode, nullable ANode) */
-void parser_prod__AGeExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3498);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3499);
-show_backtrace(1);
-}
-{
-parser_prod__AGeExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_expr= on <self:AGeExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3502);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3503);
-show_backtrace(1);
-}
-{
-parser_prod__AGeExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_expr2= on <self:AGeExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AGeExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AGeExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AGeExpr#replace_child on <self:Object(AGeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#n_expr= for (self: AGeExpr, AExpr) */
-void parser_prod__AGeExpr__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:AGeExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AGeExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AGeExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AGeExpr#n_expr= on <self:Object(AGeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#n_expr2= for (self: AGeExpr, AExpr) */
-void parser_prod__AGeExpr__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:AGeExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AGeExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__AGeExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AGeExpr#n_expr2= on <self:Object(AGeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#visit_all for (self: AGeExpr, Visitor) */
-void parser_prod__AGeExpr__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:AGeExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3522);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3523);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AGeExpr__visit_all(val* self, val* p0) {
-parser_prod__AGeExpr__visit_all(self, p0); /* Direct call parser_prod#AGeExpr#visit_all on <self:Object(AGeExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#init_aggexpr for (self: AGgExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__AGgExpr__init_aggexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3532);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGgExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3533);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3534);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGgExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3535);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#init_aggexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AGgExpr__init_aggexpr(val* self, val* p0, val* p1) {
-parser_prod__AGgExpr__init_aggexpr(self, p0, p1); /* Direct call parser_prod#AGgExpr#init_aggexpr on <self:Object(AGgExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#replace_child for (self: AGgExpr, ANode, nullable ANode) */
-void parser_prod__AGgExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3540);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3541);
-show_backtrace(1);
-}
-{
-parser_prod__AGgExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_expr= on <self:AGgExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3544);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3545);
-show_backtrace(1);
-}
-{
-parser_prod__AGgExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_expr2= on <self:AGgExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AGgExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AGgExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AGgExpr#replace_child on <self:Object(AGgExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#n_expr= for (self: AGgExpr, AExpr) */
-void parser_prod__AGgExpr__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:AGgExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AGgExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AGgExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AGgExpr#n_expr= on <self:Object(AGgExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#n_expr2= for (self: AGgExpr, AExpr) */
-void parser_prod__AGgExpr__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:AGgExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AGgExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__AGgExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AGgExpr#n_expr2= on <self:Object(AGgExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#visit_all for (self: AGgExpr, Visitor) */
-void parser_prod__AGgExpr__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:AGgExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3564);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3565);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AGgExpr__visit_all(val* self, val* p0) {
-parser_prod__AGgExpr__visit_all(self, p0); /* Direct call parser_prod#AGgExpr#visit_all on <self:Object(AGgExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#init_aisaexpr for (self: AIsaExpr, nullable AExpr, nullable AType) */
-void parser_prod__AIsaExpr__init_aisaexpr(val* self, val* p0, val* p1) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_type /* var n_type: nullable AType */;
-var_n_expr = p0;
-var_n_type = p1;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3574);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIsaExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3575);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_type == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3576);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_n_type; /* _n_type on <self:AIsaExpr> */
-if (var_n_type == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3577);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType> */
-if (unlikely(var_n_type == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_type->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_type:nullable AType> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#init_aisaexpr for (self: Object, nullable AExpr, nullable AType) */
-void VIRTUAL_parser_prod__AIsaExpr__init_aisaexpr(val* self, val* p0, val* p1) {
-parser_prod__AIsaExpr__init_aisaexpr(self, p0, p1); /* Direct call parser_prod#AIsaExpr#init_aisaexpr on <self:Object(AIsaExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#replace_child for (self: AIsaExpr, ANode, nullable ANode) */
-void parser_prod__AIsaExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AType */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3582);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3583);
-show_backtrace(1);
-}
-{
-parser_prod__AIsaExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_expr= on <self:AIsaExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3586);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AType> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AType> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AType */
-cltype16 = type_parser_nodes__AType.color;
-idtype17 = type_parser_nodes__AType.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3587);
-show_backtrace(1);
-}
-{
-parser_prod__AIsaExpr__n_type_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_type= on <self:AIsaExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AIsaExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AIsaExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AIsaExpr#replace_child on <self:Object(AIsaExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#n_expr= for (self: AIsaExpr, AExpr) */
-void parser_prod__AIsaExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_node; /* _n_expr on <self:AIsaExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AIsaExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AIsaExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AIsaExpr#n_expr= on <self:Object(AIsaExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#n_type= for (self: AIsaExpr, AType) */
-void parser_prod__AIsaExpr__n_type_61d(val* self, val* p0) {
-val* var_node /* var node: AType */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_node; /* _n_type on <self:AIsaExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AType> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AType> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#n_type= for (self: Object, AType) */
-void VIRTUAL_parser_prod__AIsaExpr__n_type_61d(val* self, val* p0) {
-parser_prod__AIsaExpr__n_type_61d(self, p0); /* Direct call parser_prod#AIsaExpr#n_type= on <self:Object(AIsaExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#visit_all for (self: AIsaExpr, Visitor) */
-void parser_prod__AIsaExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : AType */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3606);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3607);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AIsaExpr__visit_all(val* self, val* p0) {
-parser_prod__AIsaExpr__visit_all(self, p0); /* Direct call parser_prod#AIsaExpr#visit_all on <self:Object(AIsaExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#init_aplusexpr for (self: APlusExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__APlusExpr__init_aplusexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3616);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APlusExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3617);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3618);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APlusExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3619);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#init_aplusexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__APlusExpr__init_aplusexpr(val* self, val* p0, val* p1) {
-parser_prod__APlusExpr__init_aplusexpr(self, p0, p1); /* Direct call parser_prod#APlusExpr#init_aplusexpr on <self:Object(APlusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#replace_child for (self: APlusExpr, ANode, nullable ANode) */
-void parser_prod__APlusExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3624);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3625);
-show_backtrace(1);
-}
-{
-parser_prod__APlusExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_expr= on <self:APlusExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3628);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3629);
-show_backtrace(1);
-}
-{
-parser_prod__APlusExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_expr2= on <self:APlusExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__APlusExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__APlusExpr__replace_child(self, p0, p1); /* Direct call parser_prod#APlusExpr#replace_child on <self:Object(APlusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#n_expr= for (self: APlusExpr, AExpr) */
-void parser_prod__APlusExpr__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:APlusExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__APlusExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__APlusExpr__n_expr_61d(self, p0); /* Direct call parser_prod#APlusExpr#n_expr= on <self:Object(APlusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#n_expr2= for (self: APlusExpr, AExpr) */
-void parser_prod__APlusExpr__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:APlusExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__APlusExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__APlusExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#APlusExpr#n_expr2= on <self:Object(APlusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#visit_all for (self: APlusExpr, Visitor) */
-void parser_prod__APlusExpr__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:APlusExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3648);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3649);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__APlusExpr__visit_all(val* self, val* p0) {
-parser_prod__APlusExpr__visit_all(self, p0); /* Direct call parser_prod#APlusExpr#visit_all on <self:Object(APlusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#init_aminusexpr for (self: AMinusExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__AMinusExpr__init_aminusexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3658);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AMinusExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3659);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3660);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AMinusExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3661);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#init_aminusexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AMinusExpr__init_aminusexpr(val* self, val* p0, val* p1) {
-parser_prod__AMinusExpr__init_aminusexpr(self, p0, p1); /* Direct call parser_prod#AMinusExpr#init_aminusexpr on <self:Object(AMinusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#replace_child for (self: AMinusExpr, ANode, nullable ANode) */
-void parser_prod__AMinusExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3666);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3667);
-show_backtrace(1);
-}
-{
-parser_prod__AMinusExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_expr= on <self:AMinusExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3670);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3671);
-show_backtrace(1);
-}
-{
-parser_prod__AMinusExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_expr2= on <self:AMinusExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AMinusExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AMinusExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AMinusExpr#replace_child on <self:Object(AMinusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#n_expr= for (self: AMinusExpr, AExpr) */
-void parser_prod__AMinusExpr__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:AMinusExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AMinusExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AMinusExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AMinusExpr#n_expr= on <self:Object(AMinusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#n_expr2= for (self: AMinusExpr, AExpr) */
-void parser_prod__AMinusExpr__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:AMinusExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AMinusExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__AMinusExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AMinusExpr#n_expr2= on <self:Object(AMinusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#visit_all for (self: AMinusExpr, Visitor) */
-void parser_prod__AMinusExpr__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:AMinusExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3690);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3691);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AMinusExpr__visit_all(val* self, val* p0) {
-parser_prod__AMinusExpr__visit_all(self, p0); /* Direct call parser_prod#AMinusExpr#visit_all on <self:Object(AMinusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: AStarshipExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__AStarshipExpr__init_astarshipexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3700);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarshipExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3701);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3702);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarshipExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3703);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AStarshipExpr__init_astarshipexpr(val* self, val* p0, val* p1) {
-parser_prod__AStarshipExpr__init_astarshipexpr(self, p0, p1); /* Direct call parser_prod#AStarshipExpr#init_astarshipexpr on <self:Object(AStarshipExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#replace_child for (self: AStarshipExpr, ANode, nullable ANode) */
-void parser_prod__AStarshipExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3708);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3709);
-show_backtrace(1);
-}
-{
-parser_prod__AStarshipExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_expr= on <self:AStarshipExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3712);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3713);
-show_backtrace(1);
-}
-{
-parser_prod__AStarshipExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_expr2= on <self:AStarshipExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AStarshipExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AStarshipExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AStarshipExpr#replace_child on <self:Object(AStarshipExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#n_expr= for (self: AStarshipExpr, AExpr) */
-void parser_prod__AStarshipExpr__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:AStarshipExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AStarshipExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AStarshipExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AStarshipExpr#n_expr= on <self:Object(AStarshipExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#n_expr2= for (self: AStarshipExpr, AExpr) */
-void parser_prod__AStarshipExpr__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:AStarshipExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AStarshipExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__AStarshipExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AStarshipExpr#n_expr2= on <self:Object(AStarshipExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#visit_all for (self: AStarshipExpr, Visitor) */
-void parser_prod__AStarshipExpr__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:AStarshipExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3732);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3733);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AStarshipExpr__visit_all(val* self, val* p0) {
-parser_prod__AStarshipExpr__visit_all(self, p0); /* Direct call parser_prod#AStarshipExpr#visit_all on <self:Object(AStarshipExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#init_astarexpr for (self: AStarExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__AStarExpr__init_astarexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3742);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3743);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3744);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3745);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#init_astarexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AStarExpr__init_astarexpr(val* self, val* p0, val* p1) {
-parser_prod__AStarExpr__init_astarexpr(self, p0, p1); /* Direct call parser_prod#AStarExpr#init_astarexpr on <self:Object(AStarExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#replace_child for (self: AStarExpr, ANode, nullable ANode) */
-void parser_prod__AStarExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3750);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3751);
-show_backtrace(1);
-}
-{
-parser_prod__AStarExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_expr= on <self:AStarExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3754);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3755);
-show_backtrace(1);
-}
-{
-parser_prod__AStarExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_expr2= on <self:AStarExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AStarExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AStarExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AStarExpr#replace_child on <self:Object(AStarExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#n_expr= for (self: AStarExpr, AExpr) */
-void parser_prod__AStarExpr__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:AStarExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AStarExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AStarExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AStarExpr#n_expr= on <self:Object(AStarExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#n_expr2= for (self: AStarExpr, AExpr) */
-void parser_prod__AStarExpr__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:AStarExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AStarExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__AStarExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AStarExpr#n_expr2= on <self:Object(AStarExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#visit_all for (self: AStarExpr, Visitor) */
-void parser_prod__AStarExpr__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:AStarExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3774);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3775);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AStarExpr__visit_all(val* self, val* p0) {
-parser_prod__AStarExpr__visit_all(self, p0); /* Direct call parser_prod#AStarExpr#visit_all on <self:Object(AStarExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#init_astarstarexpr for (self: AStarstarExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__AStarstarExpr__init_astarstarexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3784);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarstarExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3785);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3786);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarstarExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3787);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#init_astarstarexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__AStarstarExpr__init_astarstarexpr(val* self, val* p0, val* p1) {
-parser_prod__AStarstarExpr__init_astarstarexpr(self, p0, p1); /* Direct call parser_prod#AStarstarExpr#init_astarstarexpr on <self:Object(AStarstarExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#replace_child for (self: AStarstarExpr, ANode, nullable ANode) */
-void parser_prod__AStarstarExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarstarExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3792);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3793);
-show_backtrace(1);
-}
-{
-parser_prod__AStarstarExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_expr= on <self:AStarstarExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarstarExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3796);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3797);
-show_backtrace(1);
-}
-{
-parser_prod__AStarstarExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_expr2= on <self:AStarstarExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AStarstarExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AStarstarExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AStarstarExpr#replace_child on <self:Object(AStarstarExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#n_expr= for (self: AStarstarExpr, AExpr) */
-void parser_prod__AStarstarExpr__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:AStarstarExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AStarstarExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AStarstarExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AStarstarExpr#n_expr= on <self:Object(AStarstarExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#n_expr2= for (self: AStarstarExpr, AExpr) */
-void parser_prod__AStarstarExpr__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:AStarstarExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AStarstarExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__AStarstarExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AStarstarExpr#n_expr2= on <self:Object(AStarstarExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#visit_all for (self: AStarstarExpr, Visitor) */
-void parser_prod__AStarstarExpr__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:AStarstarExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3816);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarstarExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3817);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AStarstarExpr__visit_all(val* self, val* p0) {
-parser_prod__AStarstarExpr__visit_all(self, p0); /* Direct call parser_prod#AStarstarExpr#visit_all on <self:Object(AStarstarExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#init_aslashexpr for (self: ASlashExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__ASlashExpr__init_aslashexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3826);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ASlashExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3827);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3828);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ASlashExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3829);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#init_aslashexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__ASlashExpr__init_aslashexpr(val* self, val* p0, val* p1) {
-parser_prod__ASlashExpr__init_aslashexpr(self, p0, p1); /* Direct call parser_prod#ASlashExpr#init_aslashexpr on <self:Object(ASlashExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#replace_child for (self: ASlashExpr, ANode, nullable ANode) */
-void parser_prod__ASlashExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASlashExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3834);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3835);
-show_backtrace(1);
-}
-{
-parser_prod__ASlashExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ASlashExpr#n_expr= on <self:ASlashExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3838);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3839);
-show_backtrace(1);
-}
-{
-parser_prod__ASlashExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ASlashExpr#n_expr2= on <self:ASlashExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__ASlashExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__ASlashExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ASlashExpr#replace_child on <self:Object(ASlashExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#n_expr= for (self: ASlashExpr, AExpr) */
-void parser_prod__ASlashExpr__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:ASlashExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ASlashExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__ASlashExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ASlashExpr#n_expr= on <self:Object(ASlashExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#n_expr2= for (self: ASlashExpr, AExpr) */
-void parser_prod__ASlashExpr__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:ASlashExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ASlashExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__ASlashExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#ASlashExpr#n_expr2= on <self:Object(ASlashExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#visit_all for (self: ASlashExpr, Visitor) */
-void parser_prod__ASlashExpr__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:ASlashExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3858);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3859);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__ASlashExpr__visit_all(val* self, val* p0) {
-parser_prod__ASlashExpr__visit_all(self, p0); /* Direct call parser_prod#ASlashExpr#visit_all on <self:Object(ASlashExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#APercentExpr#init_apercentexpr for (self: APercentExpr, nullable AExpr, nullable AExpr) */
-void parser_prod__APercentExpr__init_apercentexpr(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;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3868);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APercentExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3869);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3870);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APercentExpr> */
-if (var_n_expr2 == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3871);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on <var_n_expr2:nullable AExpr> */
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#APercentExpr#init_apercentexpr for (self: Object, nullable AExpr, nullable AExpr) */
-void VIRTUAL_parser_prod__APercentExpr__init_apercentexpr(val* self, val* p0, val* p1) {
-parser_prod__APercentExpr__init_apercentexpr(self, p0, p1); /* Direct call parser_prod#APercentExpr#init_apercentexpr on <self:Object(APercentExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#APercentExpr#replace_child for (self: APercentExpr, ANode, nullable ANode) */
-void parser_prod__APercentExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APercentExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3876);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3877);
-show_backtrace(1);
-}
-{
-parser_prod__APercentExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#APercentExpr#n_expr= on <self:APercentExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APercentExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3880);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3881);
-show_backtrace(1);
-}
-{
-parser_prod__APercentExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#APercentExpr#n_expr2= on <self:APercentExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#APercentExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__APercentExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__APercentExpr__replace_child(self, p0, p1); /* Direct call parser_prod#APercentExpr#replace_child on <self:Object(APercentExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#APercentExpr#n_expr= for (self: APercentExpr, AExpr) */
-void parser_prod__APercentExpr__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:APercentExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#APercentExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__APercentExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__APercentExpr__n_expr_61d(self, p0); /* Direct call parser_prod#APercentExpr#n_expr= on <self:Object(APercentExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#APercentExpr#n_expr2= for (self: APercentExpr, AExpr) */
-void parser_prod__APercentExpr__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:APercentExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#APercentExpr#n_expr2= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__APercentExpr__n_expr2_61d(val* self, val* p0) {
-parser_prod__APercentExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#APercentExpr#n_expr2= on <self:Object(APercentExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#APercentExpr#visit_all for (self: APercentExpr, Visitor) */
-void parser_prod__APercentExpr__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:APercentExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3900);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APercentExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3901);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#APercentExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__APercentExpr__visit_all(val* self, val* p0) {
-parser_prod__APercentExpr__visit_all(self, p0); /* Direct call parser_prod#APercentExpr#visit_all on <self:Object(APercentExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AUminusExpr#init_auminusexpr for (self: AUminusExpr, nullable TMinus, nullable AExpr) */
-void parser_prod__AUminusExpr__init_auminusexpr(val* self, val* p0, val* p1) {
-val* var_n_minus /* var n_minus: nullable TMinus */;
-val* var_n_expr /* var n_expr: nullable AExpr */;
-var_n_minus = p0;
-var_n_expr = p1;
-if (unlikely(var_n_minus == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3910);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_n_minus; /* _n_minus on <self:AUminusExpr> */
-if (var_n_minus == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3911);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_minus,self) on <var_n_minus:nullable TMinus> */
-if (unlikely(var_n_minus == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_minus->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_minus:nullable TMinus> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3912);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AUminusExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3913);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AUminusExpr#init_auminusexpr for (self: Object, nullable TMinus, nullable AExpr) */
-void VIRTUAL_parser_prod__AUminusExpr__init_auminusexpr(val* self, val* p0, val* p1) {
-parser_prod__AUminusExpr__init_auminusexpr(self, p0, p1); /* Direct call parser_prod#AUminusExpr#init_auminusexpr on <self:Object(AUminusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AUminusExpr#replace_child for (self: AUminusExpr, ANode, nullable ANode) */
-void parser_prod__AUminusExpr__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 /* : TMinus */;
-short int var1 /* : Bool */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AExpr */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val; /* _n_minus on <self:AUminusExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_minus");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3918);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:TMinus> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TMinus> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TMinus */
-cltype = type_parser_nodes__TMinus.color;
-idtype = type_parser_nodes__TMinus.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TMinus", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3919);
-show_backtrace(1);
-}
-{
-parser_prod__AUminusExpr__n_minus_61d(self, var_new_child); /* Direct call parser_prod#AUminusExpr#n_minus= on <self:AUminusExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AUminusExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3922);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AExpr> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype16 = type_parser_nodes__AExpr.color;
-idtype17 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3923);
-show_backtrace(1);
-}
-{
-parser_prod__AUminusExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AUminusExpr#n_expr= on <self:AUminusExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AUminusExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AUminusExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AUminusExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AUminusExpr#replace_child on <self:Object(AUminusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AUminusExpr#n_minus= for (self: AUminusExpr, TMinus) */
-void parser_prod__AUminusExpr__n_minus_61d(val* self, val* p0) {
-val* var_node /* var node: TMinus */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_node; /* _n_minus on <self:AUminusExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TMinus> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TMinus> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AUminusExpr#n_minus= for (self: Object, TMinus) */
-void VIRTUAL_parser_prod__AUminusExpr__n_minus_61d(val* self, val* p0) {
-parser_prod__AUminusExpr__n_minus_61d(self, p0); /* Direct call parser_prod#AUminusExpr#n_minus= on <self:Object(AUminusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AUminusExpr#n_expr= for (self: AUminusExpr, AExpr) */
-void parser_prod__AUminusExpr__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:AUminusExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AUminusExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AUminusExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AUminusExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AUminusExpr#n_expr= on <self:Object(AUminusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AUminusExpr#visit_all for (self: AUminusExpr, Visitor) */
-void parser_prod__AUminusExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : TMinus */;
-val* var1 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val; /* _n_minus on <self:AUminusExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_minus");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3942);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AUminusExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3943);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AUminusExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AUminusExpr__visit_all(val* self, val* p0) {
-parser_prod__AUminusExpr__visit_all(self, p0); /* Direct call parser_prod#AUminusExpr#visit_all on <self:Object(AUminusExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#init_anewexpr for (self: ANewExpr, nullable TKwnew, nullable AType, nullable TId, nullable AExprs) */
-void parser_prod__ANewExpr__init_anewexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
-val* var_n_kwnew /* var n_kwnew: nullable TKwnew */;
-val* var_n_type /* var n_type: nullable AType */;
-val* var_n_id /* var n_id: nullable TId */;
-val* var_n_args /* var n_args: nullable AExprs */;
-val* var /* : null */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-short int var8 /* : Bool */;
-var_n_kwnew = p0;
-var_n_type = p1;
-var_n_id = p2;
-var_n_args = p3;
-if (unlikely(var_n_kwnew == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3954);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_n_kwnew; /* _n_kwnew on <self:ANewExpr> */
-if (var_n_kwnew == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3955);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwnew,self) on <var_n_kwnew:nullable TKwnew> */
-if (unlikely(var_n_kwnew == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_kwnew->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwnew:nullable TKwnew> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_type == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3956);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_n_type; /* _n_type on <self:ANewExpr> */
-if (var_n_type == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3957);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_type,self) on <var_n_type:nullable AType> */
-if (unlikely(var_n_type == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_type->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_type:nullable AType> */
-RET_LABEL2:(void)0;
-}
-}
-self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_n_id; /* _n_id on <self:ANewExpr> */
-var = NULL;
-if (var_n_id == NULL) {
-var3 = 0; /* is null */
-} else {
-var3 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_id,var) on <var_n_id:nullable TId> */
-var_other = var;
-{
-var7 = ((short int (*)(val*, val*))(var_n_id->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_id, var_other) /* == on <var_n_id:nullable TId(TId)>*/;
-var6 = var7;
-}
-var8 = !var6;
-var4 = var8;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-var3 = var4;
-}
-if (var3){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId(TId)> */
-var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId(TId)> */
-RET_LABEL9:(void)0;
-}
-}
-} else {
-}
-if (unlikely(var_n_args == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3960);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_n_args; /* _n_args on <self:ANewExpr> */
-if (var_n_args == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3961);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
-if (unlikely(var_n_args == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_args->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
-RET_LABEL10:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#init_anewexpr for (self: Object, nullable TKwnew, nullable AType, nullable TId, nullable AExprs) */
-void VIRTUAL_parser_prod__ANewExpr__init_anewexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
-parser_prod__ANewExpr__init_anewexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#ANewExpr#init_anewexpr on <self:Object(ANewExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#replace_child for (self: ANewExpr, ANode, nullable ANode) */
-void parser_prod__ANewExpr__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 /* : TKwnew */;
-short int var1 /* : Bool */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : AType */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-val* var19 /* : nullable TId */;
-short int var20 /* : Bool */;
-short int var21 /* : Bool */;
-short int var23 /* : Bool */;
-short int var25 /* : Bool */;
-short int var26 /* : Bool */;
-int cltype27;
-int idtype28;
-const char* var_class_name29;
-val* var30 /* : AExprs */;
-short int var31 /* : Bool */;
-short int var32 /* : Bool */;
-short int var34 /* : Bool */;
-short int var36 /* : Bool */;
-short int var37 /* : Bool */;
-int cltype38;
-int idtype39;
-const char* var_class_name40;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on <self:ANewExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnew");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3966);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:TKwnew> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwnew> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwnew */
-cltype = type_parser_nodes__TKwnew.color;
-idtype = type_parser_nodes__TKwnew.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnew", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3967);
-show_backtrace(1);
-}
-{
-parser_prod__ANewExpr__n_kwnew_61d(self, var_new_child); /* Direct call parser_prod#ANewExpr#n_kwnew= on <self:ANewExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val; /* _n_type on <self:ANewExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3970);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:AType> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:AType> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa AType */
-cltype16 = type_parser_nodes__AType.color;
-idtype17 = type_parser_nodes__AType.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3971);
-show_backtrace(1);
-}
-{
-parser_prod__ANewExpr__n_type_61d(self, var_new_child); /* Direct call parser_prod#ANewExpr#n_type= on <self:ANewExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var19 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
-if (var19 == NULL) {
-var20 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var19,var_old_child) on <var19:nullable TId> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:nullable TId(TId)> */
-var25 = var19 == var_other;
-var23 = var25;
-goto RET_LABEL24;
-RET_LABEL24:(void)0;
-}
-}
-var21 = var23;
-goto RET_LABEL22;
-RET_LABEL22:(void)0;
-}
-var20 = var21;
-}
-if (var20){
-/* <var_new_child:nullable ANode> isa nullable TId */
-cltype27 = type_nullable_parser_nodes__TId.color;
-idtype28 = type_nullable_parser_nodes__TId.id;
-if(var_new_child == NULL) {
-var26 = 1;
-} else {
-if(cltype27 >= var_new_child->type->table_size) {
-var26 = 0;
-} else {
-var26 = var_new_child->type->type_table[cltype27] == idtype28;
-}
-}
-if (unlikely(!var26)) {
-var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name29);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3975);
-show_backtrace(1);
-}
-{
-parser_prod__ANewExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#ANewExpr#n_id= on <self:ANewExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var30 = self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
-if (unlikely(var30 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3978);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var30,var_old_child) on <var30:AExprs> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var30,var_other) on <var30:AExprs> */
-var36 = var30 == var_other;
-var34 = var36;
-goto RET_LABEL35;
-RET_LABEL35:(void)0;
-}
-}
-var32 = var34;
-goto RET_LABEL33;
-RET_LABEL33:(void)0;
-}
-var31 = var32;
-}
-if (var31){
-/* <var_new_child:nullable ANode> isa AExprs */
-cltype38 = type_parser_nodes__AExprs.color;
-idtype39 = type_parser_nodes__AExprs.id;
-if(var_new_child == NULL) {
-var37 = 0;
-} else {
-if(cltype38 >= var_new_child->type->table_size) {
-var37 = 0;
-} else {
-var37 = var_new_child->type->type_table[cltype38] == idtype39;
-}
-}
-if (unlikely(!var37)) {
-var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name40);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3979);
-show_backtrace(1);
-}
-{
-parser_prod__ANewExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ANewExpr#n_args= on <self:ANewExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__ANewExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__ANewExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ANewExpr#replace_child on <self:Object(ANewExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#n_kwnew= for (self: ANewExpr, TKwnew) */
-void parser_prod__ANewExpr__n_kwnew_61d(val* self, val* p0) {
-val* var_node /* var node: TKwnew */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_node; /* _n_kwnew on <self:ANewExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwnew> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwnew> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#n_kwnew= for (self: Object, TKwnew) */
-void VIRTUAL_parser_prod__ANewExpr__n_kwnew_61d(val* self, val* p0) {
-parser_prod__ANewExpr__n_kwnew_61d(self, p0); /* Direct call parser_prod#ANewExpr#n_kwnew= on <self:Object(ANewExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#n_type= for (self: ANewExpr, AType) */
-void parser_prod__ANewExpr__n_type_61d(val* self, val* p0) {
-val* var_node /* var node: AType */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_node; /* _n_type on <self:ANewExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AType> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AType> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#n_type= for (self: Object, AType) */
-void VIRTUAL_parser_prod__ANewExpr__n_type_61d(val* self, val* p0) {
-parser_prod__ANewExpr__n_type_61d(self, p0); /* Direct call parser_prod#ANewExpr#n_type= on <self:Object(ANewExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#n_id= for (self: ANewExpr, nullable TId) */
-void parser_prod__ANewExpr__n_id_61d(val* self, val* p0) {
-val* var_node /* var node: nullable TId */;
-val* var /* : null */;
-short int var1 /* : Bool */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_node; /* _n_id on <self:ANewExpr> */
-var = NULL;
-if (var_node == NULL) {
-var1 = 0; /* is null */
-} else {
-var1 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_node,var) on <var_node:nullable TId> */
-var_other = var;
-{
-var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on <var_node:nullable TId(TId)>*/;
-var4 = var5;
-}
-var6 = !var4;
-var2 = var6;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TId(TId)> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TId(TId)> */
-RET_LABEL7:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#n_id= for (self: Object, nullable TId) */
-void VIRTUAL_parser_prod__ANewExpr__n_id_61d(val* self, val* p0) {
-parser_prod__ANewExpr__n_id_61d(self, p0); /* Direct call parser_prod#ANewExpr#n_id= on <self:Object(ANewExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#n_args= for (self: ANewExpr, AExprs) */
-void parser_prod__ANewExpr__n_args_61d(val* self, val* p0) {
-val* var_node /* var node: AExprs */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_node; /* _n_args on <self:ANewExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExprs> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExprs> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#n_args= for (self: Object, AExprs) */
-void VIRTUAL_parser_prod__ANewExpr__n_args_61d(val* self, val* p0) {
-parser_prod__ANewExpr__n_args_61d(self, p0); /* Direct call parser_prod#ANewExpr#n_args= on <self:Object(ANewExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#visit_all for (self: ANewExpr, Visitor) */
-void parser_prod__ANewExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : TKwnew */;
-val* var1 /* : AType */;
-val* var2 /* : nullable TId */;
-val* var3 /* : AExprs */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on <self:ANewExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnew");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4008);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val; /* _n_type on <self:ANewExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4009);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
-{
-parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var3 = self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
-if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4011);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANewExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__ANewExpr__visit_all(val* self, val* p0) {
-parser_prod__ANewExpr__visit_all(self, p0); /* Direct call parser_prod#ANewExpr#visit_all on <self:Object(ANewExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrExpr#init_aattrexpr for (self: AAttrExpr, nullable AExpr, nullable TAttrid) */
-void parser_prod__AAttrExpr__init_aattrexpr(val* self, val* p0, val* p1) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_id /* var n_id: nullable TAttrid */;
-var_n_expr = p0;
-var_n_id = p1;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4020);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4021);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_id == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4022);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrExpr> */
-if (var_n_id == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4023);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TAttrid> */
-if (unlikely(var_n_id == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TAttrid> */
-RET_LABEL2:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrExpr#init_aattrexpr for (self: Object, nullable AExpr, nullable TAttrid) */
-void VIRTUAL_parser_prod__AAttrExpr__init_aattrexpr(val* self, val* p0, val* p1) {
-parser_prod__AAttrExpr__init_aattrexpr(self, p0, p1); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on <self:Object(AAttrExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrExpr#replace_child for (self: AAttrExpr, ANode, nullable ANode) */
-void parser_prod__AAttrExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : TAttrid */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4028);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4029);
-show_backtrace(1);
-}
-{
-parser_prod__AAttrExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAttrExpr#n_expr= on <self:AAttrExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4032);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:TAttrid> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:TAttrid> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa TAttrid */
-cltype16 = type_parser_nodes__TAttrid.color;
-idtype17 = type_parser_nodes__TAttrid.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAttrid", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4033);
-show_backtrace(1);
-}
-{
-parser_prod__AAttrExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAttrExpr#n_id= on <self:AAttrExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AAttrExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AAttrExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAttrExpr#replace_child on <self:Object(AAttrExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrExpr#n_expr= for (self: AAttrExpr, AExpr) */
-void parser_prod__AAttrExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AAttrExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AAttrExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AAttrExpr#n_expr= on <self:Object(AAttrExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrExpr#n_id= for (self: AAttrExpr, TAttrid) */
-void parser_prod__AAttrExpr__n_id_61d(val* self, val* p0) {
-val* var_node /* var node: TAttrid */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TAttrid> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TAttrid> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrExpr#n_id= for (self: Object, TAttrid) */
-void VIRTUAL_parser_prod__AAttrExpr__n_id_61d(val* self, val* p0) {
-parser_prod__AAttrExpr__n_id_61d(self, p0); /* Direct call parser_prod#AAttrExpr#n_id= on <self:Object(AAttrExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrExpr#visit_all for (self: AAttrExpr, Visitor) */
-void parser_prod__AAttrExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : TAttrid */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4052);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4053);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AAttrExpr__visit_all(val* self, val* p0) {
-parser_prod__AAttrExpr__visit_all(self, p0); /* Direct call parser_prod#AAttrExpr#visit_all on <self:Object(AAttrExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#init_aattrassignexpr for (self: AAttrAssignExpr, nullable AExpr, nullable TAttrid, nullable TAssign, nullable AExpr) */
-void parser_prod__AAttrAssignExpr__init_aattrassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_id /* var n_id: nullable TAttrid */;
-val* var_n_assign /* var n_assign: nullable TAssign */;
-val* var_n_value /* var n_value: nullable AExpr */;
-var_n_expr = p0;
-var_n_id = p1;
-var_n_assign = p2;
-var_n_value = p3;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4064);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrAssignExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4065);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_id == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4066);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrAssignExpr> */
-if (var_n_id == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4067);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TAttrid> */
-if (unlikely(var_n_id == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TAttrid> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_assign == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4068);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:AAttrAssignExpr> */
-if (var_n_assign == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4069);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_assign,self) on <var_n_assign:nullable TAssign> */
-if (unlikely(var_n_assign == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_assign->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign:nullable TAssign> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_value == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4070);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AAttrAssignExpr> */
-if (var_n_value == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4071);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_value,self) on <var_n_value:nullable AExpr> */
-if (unlikely(var_n_value == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_value:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#init_aattrassignexpr for (self: Object, nullable AExpr, nullable TAttrid, nullable TAssign, nullable AExpr) */
-void VIRTUAL_parser_prod__AAttrAssignExpr__init_aattrassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
-parser_prod__AAttrAssignExpr__init_aattrassignexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#AAttrAssignExpr#init_aattrassignexpr on <self:Object(AAttrAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#replace_child for (self: AAttrAssignExpr, ANode, nullable ANode) */
-void parser_prod__AAttrAssignExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : TAttrid */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-val* var19 /* : TAssign */;
-short int var20 /* : Bool */;
-short int var21 /* : Bool */;
-short int var23 /* : Bool */;
-short int var25 /* : Bool */;
-short int var26 /* : Bool */;
-int cltype27;
-int idtype28;
-const char* var_class_name29;
-val* var30 /* : AExpr */;
-short int var31 /* : Bool */;
-short int var32 /* : Bool */;
-short int var34 /* : Bool */;
-short int var36 /* : Bool */;
-short int var37 /* : Bool */;
-int cltype38;
-int idtype39;
-const char* var_class_name40;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrAssignExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4076);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4077);
-show_backtrace(1);
-}
-{
-parser_prod__AAttrAssignExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAttrAssignExpr#n_expr= on <self:AAttrAssignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrAssignExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4080);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:TAttrid> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:TAttrid> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa TAttrid */
-cltype16 = type_parser_nodes__TAttrid.color;
-idtype17 = type_parser_nodes__TAttrid.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAttrid", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4081);
-show_backtrace(1);
-}
-{
-parser_prod__AAttrAssignExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAttrAssignExpr#n_id= on <self:AAttrAssignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AAttrAssignExpr> */
-if (unlikely(var19 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4084);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var19,var_old_child) on <var19:TAssign> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:TAssign> */
-var25 = var19 == var_other;
-var23 = var25;
-goto RET_LABEL24;
-RET_LABEL24:(void)0;
-}
-}
-var21 = var23;
-goto RET_LABEL22;
-RET_LABEL22:(void)0;
-}
-var20 = var21;
-}
-if (var20){
-/* <var_new_child:nullable ANode> isa TAssign */
-cltype27 = type_parser_nodes__TAssign.color;
-idtype28 = type_parser_nodes__TAssign.id;
-if(var_new_child == NULL) {
-var26 = 0;
-} else {
-if(cltype27 >= var_new_child->type->table_size) {
-var26 = 0;
-} else {
-var26 = var_new_child->type->type_table[cltype27] == idtype28;
-}
-}
-if (unlikely(!var26)) {
-var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAssign", var_class_name29);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4085);
-show_backtrace(1);
-}
-{
-parser_prod__AAttrAssignExpr__n_assign_61d(self, var_new_child); /* Direct call parser_prod#AAttrAssignExpr#n_assign= on <self:AAttrAssignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var30 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AAttrAssignExpr> */
-if (unlikely(var30 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4088);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var30,var_old_child) on <var30:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var30,var_other) on <var30:AExpr> */
-var36 = var30 == var_other;
-var34 = var36;
-goto RET_LABEL35;
-RET_LABEL35:(void)0;
-}
-}
-var32 = var34;
-goto RET_LABEL33;
-RET_LABEL33:(void)0;
-}
-var31 = var32;
-}
-if (var31){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype38 = type_parser_nodes__AExpr.color;
-idtype39 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var37 = 0;
-} else {
-if(cltype38 >= var_new_child->type->table_size) {
-var37 = 0;
-} else {
-var37 = var_new_child->type->type_table[cltype38] == idtype39;
-}
-}
-if (unlikely(!var37)) {
-var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name40);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4089);
-show_backtrace(1);
-}
-{
-parser_prod__AAttrAssignExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#AAttrAssignExpr#n_value= on <self:AAttrAssignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AAttrAssignExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AAttrAssignExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAttrAssignExpr#replace_child on <self:Object(AAttrAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#n_expr= for (self: AAttrAssignExpr, AExpr) */
-void parser_prod__AAttrAssignExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrAssignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AAttrAssignExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AAttrAssignExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AAttrAssignExpr#n_expr= on <self:Object(AAttrAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#n_id= for (self: AAttrAssignExpr, TAttrid) */
-void parser_prod__AAttrAssignExpr__n_id_61d(val* self, val* p0) {
-val* var_node /* var node: TAttrid */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrAssignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TAttrid> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TAttrid> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#n_id= for (self: Object, TAttrid) */
-void VIRTUAL_parser_prod__AAttrAssignExpr__n_id_61d(val* self, val* p0) {
-parser_prod__AAttrAssignExpr__n_id_61d(self, p0); /* Direct call parser_prod#AAttrAssignExpr#n_id= on <self:Object(AAttrAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#n_assign= for (self: AAttrAssignExpr, TAssign) */
-void parser_prod__AAttrAssignExpr__n_assign_61d(val* self, val* p0) {
-val* var_node /* var node: TAssign */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:AAttrAssignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TAssign> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TAssign> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#n_assign= for (self: Object, TAssign) */
-void VIRTUAL_parser_prod__AAttrAssignExpr__n_assign_61d(val* self, val* p0) {
-parser_prod__AAttrAssignExpr__n_assign_61d(self, p0); /* Direct call parser_prod#AAttrAssignExpr#n_assign= on <self:Object(AAttrAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#n_value= for (self: AAttrAssignExpr, AExpr) */
-void parser_prod__AAttrAssignExpr__n_value_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:AAttrAssignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#n_value= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AAttrAssignExpr__n_value_61d(val* self, val* p0) {
-parser_prod__AAttrAssignExpr__n_value_61d(self, p0); /* Direct call parser_prod#AAttrAssignExpr#n_value= on <self:Object(AAttrAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#visit_all for (self: AAttrAssignExpr, Visitor) */
-void parser_prod__AAttrAssignExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : TAttrid */;
-val* var2 /* : TAssign */;
-val* var3 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrAssignExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4118);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrAssignExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4119);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AAttrAssignExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4120);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AAttrAssignExpr> */
-if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4121);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrAssignExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AAttrAssignExpr__visit_all(val* self, val* p0) {
-parser_prod__AAttrAssignExpr__visit_all(self, p0); /* Direct call parser_prod#AAttrAssignExpr#visit_all on <self:Object(AAttrAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#init_aattrreassignexpr for (self: AAttrReassignExpr, nullable AExpr, nullable TAttrid, nullable AAssignOp, nullable AExpr) */
-void parser_prod__AAttrReassignExpr__init_aattrreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_id /* var n_id: nullable TAttrid */;
-val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
-val* var_n_value /* var n_value: nullable AExpr */;
-var_n_expr = p0;
-var_n_id = p1;
-var_n_assign_op = p2;
-var_n_value = p3;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4132);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrReassignExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4133);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_id == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4134);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrReassignExpr> */
-if (var_n_id == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4135);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TAttrid> */
-if (unlikely(var_n_id == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TAttrid> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_assign_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4136);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:AAttrReassignExpr> */
-if (var_n_assign_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4137);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_assign_op,self) on <var_n_assign_op:nullable AAssignOp> */
-if (unlikely(var_n_assign_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_assign_op->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign_op:nullable AAssignOp> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_value == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4138);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AAttrReassignExpr> */
-if (var_n_value == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4139);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_value,self) on <var_n_value:nullable AExpr> */
-if (unlikely(var_n_value == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_value:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#init_aattrreassignexpr for (self: Object, nullable AExpr, nullable TAttrid, nullable AAssignOp, nullable AExpr) */
-void VIRTUAL_parser_prod__AAttrReassignExpr__init_aattrreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
-parser_prod__AAttrReassignExpr__init_aattrreassignexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#AAttrReassignExpr#init_aattrreassignexpr on <self:Object(AAttrReassignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#replace_child for (self: AAttrReassignExpr, ANode, nullable ANode) */
-void parser_prod__AAttrReassignExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : TAttrid */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-val* var19 /* : AAssignOp */;
-short int var20 /* : Bool */;
-short int var21 /* : Bool */;
-short int var23 /* : Bool */;
-short int var25 /* : Bool */;
-short int var26 /* : Bool */;
-int cltype27;
-int idtype28;
-const char* var_class_name29;
-val* var30 /* : AExpr */;
-short int var31 /* : Bool */;
-short int var32 /* : Bool */;
-short int var34 /* : Bool */;
-short int var36 /* : Bool */;
-short int var37 /* : Bool */;
-int cltype38;
-int idtype39;
-const char* var_class_name40;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4144);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4145);
-show_backtrace(1);
-}
-{
-parser_prod__AAttrReassignExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAttrReassignExpr#n_expr= on <self:AAttrReassignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrReassignExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4148);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:TAttrid> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:TAttrid> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa TAttrid */
-cltype16 = type_parser_nodes__TAttrid.color;
-idtype17 = type_parser_nodes__TAttrid.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAttrid", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4149);
-show_backtrace(1);
-}
-{
-parser_prod__AAttrReassignExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAttrReassignExpr#n_id= on <self:AAttrReassignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AAttrReassignExpr> */
-if (unlikely(var19 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4152);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var19,var_old_child) on <var19:AAssignOp> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:AAssignOp> */
-var25 = var19 == var_other;
-var23 = var25;
-goto RET_LABEL24;
-RET_LABEL24:(void)0;
-}
-}
-var21 = var23;
-goto RET_LABEL22;
-RET_LABEL22:(void)0;
-}
-var20 = var21;
-}
-if (var20){
-/* <var_new_child:nullable ANode> isa AAssignOp */
-cltype27 = type_parser_nodes__AAssignOp.color;
-idtype28 = type_parser_nodes__AAssignOp.id;
-if(var_new_child == NULL) {
-var26 = 0;
-} else {
-if(cltype27 >= var_new_child->type->table_size) {
-var26 = 0;
-} else {
-var26 = var_new_child->type->type_table[cltype27] == idtype28;
-}
-}
-if (unlikely(!var26)) {
-var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AAssignOp", var_class_name29);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4153);
-show_backtrace(1);
-}
-{
-parser_prod__AAttrReassignExpr__n_assign_op_61d(self, var_new_child); /* Direct call parser_prod#AAttrReassignExpr#n_assign_op= on <self:AAttrReassignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var30 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AAttrReassignExpr> */
-if (unlikely(var30 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4156);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var30,var_old_child) on <var30:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var30,var_other) on <var30:AExpr> */
-var36 = var30 == var_other;
-var34 = var36;
-goto RET_LABEL35;
-RET_LABEL35:(void)0;
-}
-}
-var32 = var34;
-goto RET_LABEL33;
-RET_LABEL33:(void)0;
-}
-var31 = var32;
-}
-if (var31){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype38 = type_parser_nodes__AExpr.color;
-idtype39 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var37 = 0;
-} else {
-if(cltype38 >= var_new_child->type->table_size) {
-var37 = 0;
-} else {
-var37 = var_new_child->type->type_table[cltype38] == idtype39;
-}
-}
-if (unlikely(!var37)) {
-var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name40);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4157);
-show_backtrace(1);
-}
-{
-parser_prod__AAttrReassignExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#AAttrReassignExpr#n_value= on <self:AAttrReassignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__AAttrReassignExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__AAttrReassignExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAttrReassignExpr#replace_child on <self:Object(AAttrReassignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#n_expr= for (self: AAttrReassignExpr, AExpr) */
-void parser_prod__AAttrReassignExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrReassignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AAttrReassignExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__AAttrReassignExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AAttrReassignExpr#n_expr= on <self:Object(AAttrReassignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#n_id= for (self: AAttrReassignExpr, TAttrid) */
-void parser_prod__AAttrReassignExpr__n_id_61d(val* self, val* p0) {
-val* var_node /* var node: TAttrid */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrReassignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TAttrid> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TAttrid> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#n_id= for (self: Object, TAttrid) */
-void VIRTUAL_parser_prod__AAttrReassignExpr__n_id_61d(val* self, val* p0) {
-parser_prod__AAttrReassignExpr__n_id_61d(self, p0); /* Direct call parser_prod#AAttrReassignExpr#n_id= on <self:Object(AAttrReassignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#n_assign_op= for (self: AAttrReassignExpr, AAssignOp) */
-void parser_prod__AAttrReassignExpr__n_assign_op_61d(val* self, val* p0) {
-val* var_node /* var node: AAssignOp */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:AAttrReassignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AAssignOp> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AAssignOp> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
-void VIRTUAL_parser_prod__AAttrReassignExpr__n_assign_op_61d(val* self, val* p0) {
-parser_prod__AAttrReassignExpr__n_assign_op_61d(self, p0); /* Direct call parser_prod#AAttrReassignExpr#n_assign_op= on <self:Object(AAttrReassignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#n_value= for (self: AAttrReassignExpr, AExpr) */
-void parser_prod__AAttrReassignExpr__n_value_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:AAttrReassignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#n_value= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__AAttrReassignExpr__n_value_61d(val* self, val* p0) {
-parser_prod__AAttrReassignExpr__n_value_61d(self, p0); /* Direct call parser_prod#AAttrReassignExpr#n_value= on <self:Object(AAttrReassignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#visit_all for (self: AAttrReassignExpr, Visitor) */
-void parser_prod__AAttrReassignExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : TAttrid */;
-val* var2 /* : AAssignOp */;
-val* var3 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4186);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrReassignExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4187);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AAttrReassignExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4188);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AAttrReassignExpr> */
-if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4189);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAttrReassignExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__AAttrReassignExpr__visit_all(val* self, val* p0) {
-parser_prod__AAttrReassignExpr__visit_all(self, p0); /* Direct call parser_prod#AAttrReassignExpr#visit_all on <self:Object(AAttrReassignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallExpr#init_acallexpr for (self: ACallExpr, nullable AExpr, nullable TId, nullable AExprs) */
-void parser_prod__ACallExpr__init_acallexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_id /* var n_id: nullable TId */;
-val* var_n_args /* var n_args: nullable AExprs */;
-var_n_expr = p0;
-var_n_id = p1;
-var_n_args = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4199);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4200);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_id == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4201);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallExpr> */
-if (var_n_id == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4202);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
-if (unlikely(var_n_id == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_args == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4203);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallExpr> */
-if (var_n_args == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4204);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
-if (unlikely(var_n_args == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_args->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
-RET_LABEL3:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallExpr#init_acallexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs) */
-void VIRTUAL_parser_prod__ACallExpr__init_acallexpr(val* self, val* p0, val* p1, val* p2) {
-parser_prod__ACallExpr__init_acallexpr(self, p0, p1, p2); /* Direct call parser_prod#ACallExpr#init_acallexpr on <self:Object(ACallExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallExpr#replace_child for (self: ACallExpr, ANode, nullable ANode) */
-void parser_prod__ACallExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : TId */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-val* var19 /* : AExprs */;
-short int var20 /* : Bool */;
-short int var21 /* : Bool */;
-short int var23 /* : Bool */;
-short int var25 /* : Bool */;
-short int var26 /* : Bool */;
-int cltype27;
-int idtype28;
-const char* var_class_name29;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4209);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4210);
-show_backtrace(1);
-}
-{
-parser_prod__ACallExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ACallExpr#n_expr= on <self:ACallExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4213);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:TId> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:TId> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa TId */
-cltype16 = type_parser_nodes__TId.color;
-idtype17 = type_parser_nodes__TId.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4214);
-show_backtrace(1);
-}
-{
-parser_prod__ACallExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#ACallExpr#n_id= on <self:ACallExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var19 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
-if (unlikely(var19 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4217);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var19,var_old_child) on <var19:AExprs> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:AExprs> */
-var25 = var19 == var_other;
-var23 = var25;
-goto RET_LABEL24;
-RET_LABEL24:(void)0;
-}
-}
-var21 = var23;
-goto RET_LABEL22;
-RET_LABEL22:(void)0;
-}
-var20 = var21;
-}
-if (var20){
-/* <var_new_child:nullable ANode> isa AExprs */
-cltype27 = type_parser_nodes__AExprs.color;
-idtype28 = type_parser_nodes__AExprs.id;
-if(var_new_child == NULL) {
-var26 = 0;
-} else {
-if(cltype27 >= var_new_child->type->table_size) {
-var26 = 0;
-} else {
-var26 = var_new_child->type->type_table[cltype27] == idtype28;
-}
-}
-if (unlikely(!var26)) {
-var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name29);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4218);
-show_backtrace(1);
-}
-{
-parser_prod__ACallExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ACallExpr#n_args= on <self:ACallExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__ACallExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__ACallExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ACallExpr#replace_child on <self:Object(ACallExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallExpr#n_expr= for (self: ACallExpr, AExpr) */
-void parser_prod__ACallExpr__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:ACallExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ACallExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__ACallExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ACallExpr#n_expr= on <self:Object(ACallExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallExpr#n_id= for (self: ACallExpr, TId) */
-void parser_prod__ACallExpr__n_id_61d(val* self, val* p0) {
-val* var_node /* var node: TId */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TId> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallExpr#n_id= for (self: Object, TId) */
-void VIRTUAL_parser_prod__ACallExpr__n_id_61d(val* self, val* p0) {
-parser_prod__ACallExpr__n_id_61d(self, p0); /* Direct call parser_prod#ACallExpr#n_id= on <self:Object(ACallExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallExpr#n_args= for (self: ACallExpr, AExprs) */
-void parser_prod__ACallExpr__n_args_61d(val* self, val* p0) {
-val* var_node /* var node: AExprs */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExprs> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExprs> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallExpr#n_args= for (self: Object, AExprs) */
-void VIRTUAL_parser_prod__ACallExpr__n_args_61d(val* self, val* p0) {
-parser_prod__ACallExpr__n_args_61d(self, p0); /* Direct call parser_prod#ACallExpr#n_args= on <self:Object(ACallExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallExpr#visit_all for (self: ACallExpr, Visitor) */
-void parser_prod__ACallExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : TId */;
-val* var2 /* : AExprs */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4242);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4243);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4244);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__ACallExpr__visit_all(val* self, val* p0) {
-parser_prod__ACallExpr__visit_all(self, p0); /* Direct call parser_prod#ACallExpr#visit_all on <self:Object(ACallExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#init_acallassignexpr for (self: ACallAssignExpr, nullable AExpr, nullable TId, nullable AExprs, nullable TAssign, nullable AExpr) */
-void parser_prod__ACallAssignExpr__init_acallassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_id /* var n_id: nullable TId */;
-val* var_n_args /* var n_args: nullable AExprs */;
-val* var_n_assign /* var n_assign: nullable TAssign */;
-val* var_n_value /* var n_value: nullable AExpr */;
-var_n_expr = p0;
-var_n_id = p1;
-var_n_args = p2;
-var_n_assign = p3;
-var_n_value = p4;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4256);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallAssignExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4257);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_id == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4258);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallAssignExpr> */
-if (var_n_id == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4259);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
-if (unlikely(var_n_id == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_args == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4260);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallAssignExpr> */
-if (var_n_args == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4261);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
-if (unlikely(var_n_args == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_args->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_assign == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4262);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:ACallAssignExpr> */
-if (var_n_assign == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4263);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_assign,self) on <var_n_assign:nullable TAssign> */
-if (unlikely(var_n_assign == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_assign->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign:nullable TAssign> */
-RET_LABEL4:(void)0;
-}
-}
-if (unlikely(var_n_value == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4264);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ACallAssignExpr> */
-if (var_n_value == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4265);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_value,self) on <var_n_value:nullable AExpr> */
-if (unlikely(var_n_value == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_value:nullable AExpr> */
-RET_LABEL5:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#init_acallassignexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs, nullable TAssign, nullable AExpr) */
-void VIRTUAL_parser_prod__ACallAssignExpr__init_acallassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
-parser_prod__ACallAssignExpr__init_acallassignexpr(self, p0, p1, p2, p3, p4); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on <self:Object(ACallAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#replace_child for (self: ACallAssignExpr, ANode, nullable ANode) */
-void parser_prod__ACallAssignExpr__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 */;
-short int var2 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var4 /* : Bool */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var8 /* : TId */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-const char* var_class_name18;
-val* var19 /* : AExprs */;
-short int var20 /* : Bool */;
-short int var21 /* : Bool */;
-short int var23 /* : Bool */;
-short int var25 /* : Bool */;
-short int var26 /* : Bool */;
-int cltype27;
-int idtype28;
-const char* var_class_name29;
-val* var30 /* : TAssign */;
-short int var31 /* : Bool */;
-short int var32 /* : Bool */;
-short int var34 /* : Bool */;
-short int var36 /* : Bool */;
-short int var37 /* : Bool */;
-int cltype38;
-int idtype39;
-const char* var_class_name40;
-val* var41 /* : AExpr */;
-short int var42 /* : Bool */;
-short int var43 /* : Bool */;
-short int var45 /* : Bool */;
-short int var47 /* : Bool */;
-short int var48 /* : Bool */;
-int cltype49;
-int idtype50;
-const char* var_class_name51;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallAssignExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4270);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:AExpr> */
-var6 = var == var_other;
-var4 = var6;
-goto RET_LABEL5;
-RET_LABEL5:(void)0;
-}
-}
-var2 = var4;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-var1 = var2;
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_parser_nodes__AExpr.color;
-idtype = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var7 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4271);
-show_backtrace(1);
-}
-{
-parser_prod__ACallAssignExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_expr= on <self:ACallAssignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var8 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallAssignExpr> */
-if (unlikely(var8 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4274);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var8,var_old_child) on <var8:TId> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var8,var_other) on <var8:TId> */
-var14 = var8 == var_other;
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-/* <var_new_child:nullable ANode> isa TId */
-cltype16 = type_parser_nodes__TId.color;
-idtype17 = type_parser_nodes__TId.id;
-if(var_new_child == NULL) {
-var15 = 0;
-} else {
-if(cltype16 >= var_new_child->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_new_child->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name18);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4275);
-show_backtrace(1);
-}
-{
-parser_prod__ACallAssignExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_id= on <self:ACallAssignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var19 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallAssignExpr> */
-if (unlikely(var19 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4278);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var19,var_old_child) on <var19:AExprs> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var19,var_other) on <var19:AExprs> */
-var25 = var19 == var_other;
-var23 = var25;
-goto RET_LABEL24;
-RET_LABEL24:(void)0;
-}
-}
-var21 = var23;
-goto RET_LABEL22;
-RET_LABEL22:(void)0;
-}
-var20 = var21;
-}
-if (var20){
-/* <var_new_child:nullable ANode> isa AExprs */
-cltype27 = type_parser_nodes__AExprs.color;
-idtype28 = type_parser_nodes__AExprs.id;
-if(var_new_child == NULL) {
-var26 = 0;
-} else {
-if(cltype27 >= var_new_child->type->table_size) {
-var26 = 0;
-} else {
-var26 = var_new_child->type->type_table[cltype27] == idtype28;
-}
-}
-if (unlikely(!var26)) {
-var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name29);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4279);
-show_backtrace(1);
-}
-{
-parser_prod__ACallAssignExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_args= on <self:ACallAssignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var30 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ACallAssignExpr> */
-if (unlikely(var30 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4282);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var30,var_old_child) on <var30:TAssign> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var30,var_other) on <var30:TAssign> */
-var36 = var30 == var_other;
-var34 = var36;
-goto RET_LABEL35;
-RET_LABEL35:(void)0;
-}
-}
-var32 = var34;
-goto RET_LABEL33;
-RET_LABEL33:(void)0;
-}
-var31 = var32;
-}
-if (var31){
-/* <var_new_child:nullable ANode> isa TAssign */
-cltype38 = type_parser_nodes__TAssign.color;
-idtype39 = type_parser_nodes__TAssign.id;
-if(var_new_child == NULL) {
-var37 = 0;
-} else {
-if(cltype38 >= var_new_child->type->table_size) {
-var37 = 0;
-} else {
-var37 = var_new_child->type->type_table[cltype38] == idtype39;
-}
-}
-if (unlikely(!var37)) {
-var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAssign", var_class_name40);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4283);
-show_backtrace(1);
-}
-{
-parser_prod__ACallAssignExpr__n_assign_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_assign= on <self:ACallAssignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var41 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ACallAssignExpr> */
-if (unlikely(var41 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4286);
-show_backtrace(1);
-}
-{
-{ /* Inline kernel#Object#== (var41,var_old_child) on <var41:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var41,var_other) on <var41:AExpr> */
-var47 = var41 == var_other;
-var45 = var47;
-goto RET_LABEL46;
-RET_LABEL46:(void)0;
-}
-}
-var43 = var45;
-goto RET_LABEL44;
-RET_LABEL44:(void)0;
-}
-var42 = var43;
-}
-if (var42){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype49 = type_parser_nodes__AExpr.color;
-idtype50 = type_parser_nodes__AExpr.id;
-if(var_new_child == NULL) {
-var48 = 0;
-} else {
-if(cltype49 >= var_new_child->type->table_size) {
-var48 = 0;
-} else {
-var48 = var_new_child->type->type_table[cltype49] == idtype50;
-}
-}
-if (unlikely(!var48)) {
-var_class_name51 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name51);
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4287);
-show_backtrace(1);
-}
-{
-parser_prod__ACallAssignExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_value= on <self:ACallAssignExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
-void VIRTUAL_parser_prod__ACallAssignExpr__replace_child(val* self, val* p0, val* p1) {
-parser_prod__ACallAssignExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ACallAssignExpr#replace_child on <self:Object(ACallAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#n_expr= for (self: ACallAssignExpr, AExpr) */
-void parser_prod__ACallAssignExpr__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:ACallAssignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#n_expr= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ACallAssignExpr__n_expr_61d(val* self, val* p0) {
-parser_prod__ACallAssignExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ACallAssignExpr#n_expr= on <self:Object(ACallAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#n_id= for (self: ACallAssignExpr, TId) */
-void parser_prod__ACallAssignExpr__n_id_61d(val* self, val* p0) {
-val* var_node /* var node: TId */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallAssignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TId> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TId> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#n_id= for (self: Object, TId) */
-void VIRTUAL_parser_prod__ACallAssignExpr__n_id_61d(val* self, val* p0) {
-parser_prod__ACallAssignExpr__n_id_61d(self, p0); /* Direct call parser_prod#ACallAssignExpr#n_id= on <self:Object(ACallAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#n_args= for (self: ACallAssignExpr, AExprs) */
-void parser_prod__ACallAssignExpr__n_args_61d(val* self, val* p0) {
-val* var_node /* var node: AExprs */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallAssignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExprs> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExprs> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#n_args= for (self: Object, AExprs) */
-void VIRTUAL_parser_prod__ACallAssignExpr__n_args_61d(val* self, val* p0) {
-parser_prod__ACallAssignExpr__n_args_61d(self, p0); /* Direct call parser_prod#ACallAssignExpr#n_args= on <self:Object(ACallAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#n_assign= for (self: ACallAssignExpr, TAssign) */
-void parser_prod__ACallAssignExpr__n_assign_61d(val* self, val* p0) {
-val* var_node /* var node: TAssign */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:ACallAssignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TAssign> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TAssign> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#n_assign= for (self: Object, TAssign) */
-void VIRTUAL_parser_prod__ACallAssignExpr__n_assign_61d(val* self, val* p0) {
-parser_prod__ACallAssignExpr__n_assign_61d(self, p0); /* Direct call parser_prod#ACallAssignExpr#n_assign= on <self:Object(ACallAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#n_value= for (self: ACallAssignExpr, AExpr) */
-void parser_prod__ACallAssignExpr__n_value_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:ACallAssignExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#n_value= for (self: Object, AExpr) */
-void VIRTUAL_parser_prod__ACallAssignExpr__n_value_61d(val* self, val* p0) {
-parser_prod__ACallAssignExpr__n_value_61d(self, p0); /* Direct call parser_prod#ACallAssignExpr#n_value= on <self:Object(ACallAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#visit_all for (self: ACallAssignExpr, Visitor) */
-void parser_prod__ACallAssignExpr__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : TId */;
-val* var2 /* : AExprs */;
-val* var3 /* : TAssign */;
-val* var4 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallAssignExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4321);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallAssignExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4322);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallAssignExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4323);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ACallAssignExpr> */
-if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4324);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var4 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ACallAssignExpr> */
-if (unlikely(var4 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4325);
-show_backtrace(1);
-}
-{
-parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallAssignExpr#visit_all for (self: Object, Visitor) */
-void VIRTUAL_parser_prod__ACallAssignExpr__visit_all(val* self, val* p0) {
-parser_prod__ACallAssignExpr__visit_all(self, p0); /* Direct call parser_prod#ACallAssignExpr#visit_all on <self:Object(ACallAssignExpr)>*/
-RET_LABEL:;
-}
-/* method parser_prod#ACallReassignExpr#init_acallreassignexpr for (self: ACallReassignExpr, nullable AExpr, nullable TId, nullable AExprs, nullable AAssignOp, nullable AExpr) */
-void parser_prod__ACallReassignExpr__init_acallreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_id /* var n_id: nullable TId */;
-val* var_n_args /* var n_args: nullable AExprs */;
-val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
-val* var_n_value /* var n_value: nullable AExpr */;
-var_n_expr = p0;
-var_n_id = p1;
-var_n_args = p2;
-var_n_assign_op = p3;
-var_n_value = p4;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4337);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallReassignExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4338);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on <var_n_expr:nullable AExpr> */
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-if (unlikely(var_n_id == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4339);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallReassignExpr> */
-if (var_n_id == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4340);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId> */
-if (unlikely(var_n_id == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_args == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4341);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallReassignExpr> */
-if (var_n_args == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4342);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_args,self) on <var_n_args:nullable AExprs> */
-if (unlikely(var_n_args == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_args->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_args:nullable AExprs> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_assign_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4343);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:ACallReassignExpr> */
-if (var_n_assign_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4344);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_assign_op,self) on <var_n_assign_op:nullable AAssignOp> */
-if (unlikely(var_n_assign_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_assign_op->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_assign_op:nullable AAssignOp> */
-RET_LABEL4:(void)0;
-}
-}
-if (unlikely(var_n_value == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4345);
-show_backtrace(1);
-}
-self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ACallReassignExpr> */
-if (var_n_value == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4346);
-show_backtrace(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_value,self) on <var_n_value:nullable AExpr> */
-if (unlikely(var_n_value == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36);
-show_backtrace(1);
-}
-var_n_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on <var_n_value:nullable AExpr> */
-RET_LABEL5:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ACallReassignExpr#init_acallreassignexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs, nullable AAssignOp, nullable AExpr) */
-void VIRTUAL_parser_prod__ACallReassignExpr__init_acallreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
-parser_prod__ACallReassignExpr__init_acallreassignexpr(self, p0, p1, p2, p3, p4); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on <self:Object(ACallReassignExpr)>*/
-RET_LABEL:;
-}