c_src: regenerate
[nit.git] / c_src / nit__parser_prod.sep.3.c
diff --git a/c_src/nit__parser_prod.sep.3.c b/c_src/nit__parser_prod.sep.3.c
deleted file mode 100644 (file)
index c85fb3c..0000000
+++ /dev/null
@@ -1,9937 +0,0 @@
-#include "nit__parser_prod.sep.0.h"
-/* method parser_prod#AIfexprExpr#n_kwif= for (self: AIfexprExpr, TKwif) */
-void nit__parser_prod___AIfexprExpr___n_kwif_61d(val* self, val* p0) {
-val* var_node /* var node: TKwif */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_kwif].val = var_node; /* _n_kwif on <self:AIfexprExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwif> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwif> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIfexprExpr#n_expr= for (self: AIfexprExpr, AExpr) */
-void nit__parser_prod___AIfexprExpr___n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_expr].val = var_node; /* _n_expr on <self:AIfexprExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIfexprExpr#n_kwthen= for (self: AIfexprExpr, TKwthen) */
-void nit__parser_prod___AIfexprExpr___n_kwthen_61d(val* self, val* p0) {
-val* var_node /* var node: TKwthen */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_kwthen].val = var_node; /* _n_kwthen on <self:AIfexprExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwthen> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwthen> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIfexprExpr#n_then= for (self: AIfexprExpr, AExpr) */
-void nit__parser_prod___AIfexprExpr___n_then_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_then].val = var_node; /* _n_then on <self:AIfexprExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIfexprExpr#n_kwelse= for (self: AIfexprExpr, TKwelse) */
-void nit__parser_prod___AIfexprExpr___n_kwelse_61d(val* self, val* p0) {
-val* var_node /* var node: TKwelse */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AIfexprExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwelse> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwelse> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIfexprExpr#n_else= for (self: AIfexprExpr, AExpr) */
-void nit__parser_prod___AIfexprExpr___n_else_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_else].val = var_node; /* _n_else on <self:AIfexprExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIfexprExpr#visit_all for (self: AIfexprExpr, Visitor) */
-void nit__parser_prod___AIfexprExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : TKwif */;
-val* var1 /* : AExpr */;
-val* var2 /* : TKwthen */;
-val* var3 /* : AExpr */;
-val* var4 /* : TKwelse */;
-val* var5 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on <self:AIfexprExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3004);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on <self:AIfexprExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3005);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on <self:AIfexprExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwthen");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3006);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var3 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_then].val; /* _n_then on <self:AIfexprExpr> */
-if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3007);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var4 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on <self:AIfexprExpr> */
-if (unlikely(var4 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3008);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var5 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_else].val; /* _n_else on <self:AIfexprExpr> */
-if (unlikely(var5 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3009);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWhileExpr#init_awhileexpr for (self: AWhileExpr, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
-void nit__parser_prod___AWhileExpr___init_awhileexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
-val* var_n_kwwhile /* var n_kwwhile: nullable TKwwhile */;
-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 */;
-short int var /* : Bool */;
-short int var5 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var7 /* : Bool */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var11 /* : Bool */;
-short int var13 /* : Bool */;
-short int var14 /* : Bool */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AWhileExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_kwwhile = p0;
-var_n_expr = p1;
-var_n_kwdo = p2;
-var_n_block = p3;
-var_n_label = p4;
-if (unlikely(var_n_kwwhile == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3021);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwwhile].val = var_n_kwwhile; /* _n_kwwhile on <self:AWhileExpr> */
-if (var_n_kwwhile == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3022);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwwhile,self) on <var_n_kwwhile:nullable TKwwhile> */
-if (unlikely(var_n_kwwhile == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwwhile->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwwhile:nullable TKwwhile> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3023);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AWhileExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3024);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_kwdo == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3025);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AWhileExpr> */
-if (var_n_kwdo == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3026);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwdo->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwdo:nullable TKwdo> */
-RET_LABEL4:(void)0;
-}
-}
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_block].val = var_n_block; /* _n_block on <self:AWhileExpr> */
-if (var_n_block == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_block,((val*)NULL)) on <var_n_block:nullable AExpr> */
-var_other = ((val*)NULL);
-{
-var7 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
-}
-var8 = !var7;
-var5 = var8;
-goto RET_LABEL6;
-RET_LABEL6:(void)0;
-}
-var = var5;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
-var_n_block->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
-RET_LABEL9:(void)0;
-}
-}
-} else {
-}
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AWhileExpr> */
-if (var_n_label == NULL) {
-var10 = 0; /* is null */
-} else {
-var10 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_label,((val*)NULL)) on <var_n_label:nullable ALabel> */
-var_other = ((val*)NULL);
-{
-var13 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
-}
-var14 = !var13;
-var11 = var14;
-goto RET_LABEL12;
-RET_LABEL12:(void)0;
-}
-var10 = var11;
-}
-if (var10){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
-var_n_label->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
-RET_LABEL15:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWhileExpr#replace_child for (self: AWhileExpr, ANode, nullable ANode) */
-void nit__parser_prod___AWhileExpr___nit__parser_nodes__ANode__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 /* : TKwwhile */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : AExpr */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : TKwdo */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-val* var27 /* : nullable AExpr */;
-short int var28 /* : Bool */;
-short int var29 /* : Bool */;
-short int var31 /* : Bool */;
-short int var33 /* : Bool */;
-short int var34 /* : Bool */;
-int cltype35;
-int idtype36;
-const char* var_class_name37;
-val* var38 /* : nullable ALabel */;
-short int var39 /* : Bool */;
-short int var40 /* : Bool */;
-short int var42 /* : Bool */;
-short int var44 /* : Bool */;
-short int var45 /* : Bool */;
-int cltype46;
-int idtype47;
-const char* var_class_name48;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on <self:AWhileExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwhile");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3035);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:TKwwhile> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwwhile> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwwhile */
-cltype = type_nit__TKwwhile.color;
-idtype = type_nit__TKwwhile.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwwhile", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3036);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AWhileExpr___n_kwwhile_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_kwwhile= on <self:AWhileExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3039);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype14 = type_nit__AExpr.color;
-idtype15 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3040);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AWhileExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_expr= on <self:AWhileExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on <self:AWhileExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3043);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:TKwdo> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:TKwdo> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa TKwdo */
-cltype24 = type_nit__TKwdo.color;
-idtype25 = type_nit__TKwdo.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3044);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AWhileExpr___n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_kwdo= on <self:AWhileExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var27 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
-if (var27 == NULL) {
-var28 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var27,var_old_child) on <var27:nullable AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var27,var_other) on <var27:nullable AExpr(AExpr)> */
-var33 = var27 == var_other;
-var31 = var33;
-goto RET_LABEL32;
-RET_LABEL32:(void)0;
-}
-}
-var29 = var31;
-goto RET_LABEL30;
-RET_LABEL30:(void)0;
-}
-var28 = var29;
-}
-if (var28){
-/* <var_new_child:nullable ANode> isa nullable AExpr */
-cltype35 = type_nullable__nit__AExpr.color;
-idtype36 = type_nullable__nit__AExpr.id;
-if(var_new_child == NULL) {
-var34 = 1;
-} else {
-if(cltype35 >= var_new_child->type->table_size) {
-var34 = 0;
-} else {
-var34 = var_new_child->type->type_table[cltype35] == idtype36;
-}
-}
-if (unlikely(!var34)) {
-var_class_name37 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name37);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3048);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AWhileExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_block= on <self:AWhileExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var38 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
-if (var38 == NULL) {
-var39 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var38,var_old_child) on <var38:nullable ALabel> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var38,var_other) on <var38:nullable ALabel(ALabel)> */
-var44 = var38 == var_other;
-var42 = var44;
-goto RET_LABEL43;
-RET_LABEL43:(void)0;
-}
-}
-var40 = var42;
-goto RET_LABEL41;
-RET_LABEL41:(void)0;
-}
-var39 = var40;
-}
-if (var39){
-/* <var_new_child:nullable ANode> isa nullable ALabel */
-cltype46 = type_nullable__nit__ALabel.color;
-idtype47 = type_nullable__nit__ALabel.id;
-if(var_new_child == NULL) {
-var45 = 1;
-} else {
-if(cltype46 >= var_new_child->type->table_size) {
-var45 = 0;
-} else {
-var45 = var_new_child->type->type_table[cltype46] == idtype47;
-}
-}
-if (unlikely(!var45)) {
-var_class_name48 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name48);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3052);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AWhileExpr___nit__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_label= on <self:AWhileExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWhileExpr#n_kwwhile= for (self: AWhileExpr, TKwwhile) */
-void nit__parser_prod___AWhileExpr___n_kwwhile_61d(val* self, val* p0) {
-val* var_node /* var node: TKwwhile */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwwhile].val = var_node; /* _n_kwwhile on <self:AWhileExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwwhile> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwwhile> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWhileExpr#n_expr= for (self: AWhileExpr, AExpr) */
-void nit__parser_prod___AWhileExpr___n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_expr].val = var_node; /* _n_expr on <self:AWhileExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWhileExpr#n_kwdo= for (self: AWhileExpr, TKwdo) */
-void nit__parser_prod___AWhileExpr___n_kwdo_61d(val* self, val* p0) {
-val* var_node /* var node: TKwdo */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AWhileExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwdo> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwdo> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWhileExpr#n_block= for (self: AWhileExpr, nullable AExpr) */
-void nit__parser_prod___AWhileExpr___n_block_61d(val* self, val* p0) {
-val* var_node /* var node: nullable AExpr */;
-short int var /* : Bool */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_block].val = var_node; /* _n_block on <self:AWhileExpr> */
-if (var_node == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
-var_other = ((val*)NULL);
-{
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
-}
-var4 = !var3;
-var1 = var4;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-var = var1;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
-RET_LABEL5:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWhileExpr#n_label= for (self: AWhileExpr, nullable ALabel) */
-void nit__parser_prod___AWhileExpr___nit__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
-val* var_node /* var node: nullable ALabel */;
-short int var /* : Bool */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AWhileExpr> */
-if (var_node == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ALabel> */
-var_other = ((val*)NULL);
-{
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
-}
-var4 = !var3;
-var1 = var4;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-var = var1;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
-RET_LABEL5:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWhileExpr#visit_all for (self: AWhileExpr, Visitor) */
-void nit__parser_prod___AWhileExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : TKwwhile */;
-val* var1 /* : AExpr */;
-val* var2 /* : TKwdo */;
-val* var3 /* : nullable AExpr */;
-val* var4 /* : nullable ALabel */;
-var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on <self:AWhileExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwhile");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3086);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3087);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on <self:AWhileExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3088);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var3 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
-{
-nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var4 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
-{
-nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALoopExpr#init_aloopexpr for (self: ALoopExpr, nullable TKwloop, nullable AExpr, nullable ALabel) */
-void nit__parser_prod___ALoopExpr___init_aloopexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_kwloop /* var n_kwloop: nullable TKwloop */;
-val* var_n_block /* var n_block: nullable AExpr */;
-val* var_n_label /* var n_label: nullable ALabel */;
-short int var /* : Bool */;
-short int var3 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
-short int var11 /* : Bool */;
-short int var12 /* : Bool */;
-{
-{ /* Inline kernel#Object#init (self) on <self:ALoopExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_kwloop = p0;
-var_n_block = p1;
-var_n_label = p2;
-if (unlikely(var_n_kwloop == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3100);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_kwloop].val = var_n_kwloop; /* _n_kwloop on <self:ALoopExpr> */
-if (var_n_kwloop == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3101);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwloop,self) on <var_n_kwloop:nullable TKwloop> */
-if (unlikely(var_n_kwloop == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwloop->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwloop:nullable TKwloop> */
-RET_LABEL2:(void)0;
-}
-}
-self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_block].val = var_n_block; /* _n_block on <self:ALoopExpr> */
-if (var_n_block == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_block,((val*)NULL)) on <var_n_block:nullable AExpr> */
-var_other = ((val*)NULL);
-{
-var5 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
-}
-var6 = !var5;
-var3 = var6;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-var = var3;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
-var_n_block->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
-RET_LABEL7:(void)0;
-}
-}
-} else {
-}
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:ALoopExpr> */
-if (var_n_label == NULL) {
-var8 = 0; /* is null */
-} else {
-var8 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_label,((val*)NULL)) on <var_n_label:nullable ALabel> */
-var_other = ((val*)NULL);
-{
-var11 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
-}
-var12 = !var11;
-var9 = var12;
-goto RET_LABEL10;
-RET_LABEL10:(void)0;
-}
-var8 = var9;
-}
-if (var8){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
-var_n_label->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
-RET_LABEL13:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALoopExpr#replace_child for (self: ALoopExpr, ANode, nullable ANode) */
-void nit__parser_prod___ALoopExpr___nit__parser_nodes__ANode__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 /* : TKwloop */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : nullable AExpr */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
-short int var11 /* : Bool */;
-short int var13 /* : Bool */;
-short int var14 /* : Bool */;
-int cltype15;
-int idtype16;
-const char* var_class_name17;
-val* var18 /* : nullable ALabel */;
-short int var19 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var24 /* : Bool */;
-short int var25 /* : Bool */;
-int cltype26;
-int idtype27;
-const char* var_class_name28;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on <self:ALoopExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwloop");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3110);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:TKwloop> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwloop> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwloop */
-cltype = type_nit__TKwloop.color;
-idtype = type_nit__TKwloop.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwloop", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3111);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ALoopExpr___n_kwloop_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_kwloop= on <self:ALoopExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
-if (var7 == NULL) {
-var8 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:nullable AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:nullable AExpr(AExpr)> */
-var13 = var7 == var_other;
-var11 = var13;
-goto RET_LABEL12;
-RET_LABEL12:(void)0;
-}
-}
-var9 = var11;
-goto RET_LABEL10;
-RET_LABEL10:(void)0;
-}
-var8 = var9;
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa nullable AExpr */
-cltype15 = type_nullable__nit__AExpr.color;
-idtype16 = type_nullable__nit__AExpr.id;
-if(var_new_child == NULL) {
-var14 = 1;
-} else {
-if(cltype15 >= var_new_child->type->table_size) {
-var14 = 0;
-} else {
-var14 = var_new_child->type->type_table[cltype15] == idtype16;
-}
-}
-if (unlikely(!var14)) {
-var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name17);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3115);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ALoopExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_block= on <self:ALoopExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var18 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
-if (var18 == NULL) {
-var19 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var18,var_old_child) on <var18:nullable ALabel> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var18,var_other) on <var18:nullable ALabel(ALabel)> */
-var24 = var18 == var_other;
-var22 = var24;
-goto RET_LABEL23;
-RET_LABEL23:(void)0;
-}
-}
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-var19 = var20;
-}
-if (var19){
-/* <var_new_child:nullable ANode> isa nullable ALabel */
-cltype26 = type_nullable__nit__ALabel.color;
-idtype27 = type_nullable__nit__ALabel.id;
-if(var_new_child == NULL) {
-var25 = 1;
-} else {
-if(cltype26 >= var_new_child->type->table_size) {
-var25 = 0;
-} else {
-var25 = var_new_child->type->type_table[cltype26] == idtype27;
-}
-}
-if (unlikely(!var25)) {
-var_class_name28 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name28);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3119);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ALoopExpr___nit__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_label= on <self:ALoopExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALoopExpr#n_kwloop= for (self: ALoopExpr, TKwloop) */
-void nit__parser_prod___ALoopExpr___n_kwloop_61d(val* self, val* p0) {
-val* var_node /* var node: TKwloop */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_kwloop].val = var_node; /* _n_kwloop on <self:ALoopExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwloop> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwloop> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALoopExpr#n_block= for (self: ALoopExpr, nullable AExpr) */
-void nit__parser_prod___ALoopExpr___n_block_61d(val* self, val* p0) {
-val* var_node /* var node: nullable AExpr */;
-short int var /* : Bool */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_block].val = var_node; /* _n_block on <self:ALoopExpr> */
-if (var_node == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
-var_other = ((val*)NULL);
-{
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
-}
-var4 = !var3;
-var1 = var4;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-var = var1;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
-RET_LABEL5:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALoopExpr#n_label= for (self: ALoopExpr, nullable ALabel) */
-void nit__parser_prod___ALoopExpr___nit__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
-val* var_node /* var node: nullable ALabel */;
-short int var /* : Bool */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:ALoopExpr> */
-if (var_node == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ALabel> */
-var_other = ((val*)NULL);
-{
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
-}
-var4 = !var3;
-var1 = var4;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-var = var1;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
-RET_LABEL5:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALoopExpr#visit_all for (self: ALoopExpr, Visitor) */
-void nit__parser_prod___ALoopExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : TKwloop */;
-val* var1 /* : nullable AExpr */;
-val* var2 /* : nullable ALabel */;
-var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on <self:ALoopExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwloop");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3143);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#init_aforexpr for (self: AForExpr, nullable TKwfor, Collection[Object], nullable TKwin, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
-void nit__parser_prod___AForExpr___init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6) {
-val* var_n_kwfor /* var n_kwfor: nullable TKwfor */;
-val* var_n_ids /* var n_ids: Collection[Object] */;
-val* var_n_kwin /* var n_kwin: nullable TKwin */;
-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* var4 /* : ANodes[TId] */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var11 /* : Bool */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var15 /* : Bool */;
-short int var17 /* : Bool */;
-short int var18 /* : Bool */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AForExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_kwfor = p0;
-var_n_ids = p1;
-var_n_kwin = p2;
-var_n_expr = p3;
-var_n_kwdo = p4;
-var_n_block = p5;
-var_n_label = p6;
-if (unlikely(var_n_kwfor == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3159);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3160);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwfor->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwfor:nullable TKwfor> */
-RET_LABEL2:(void)0;
-}
-}
-{
-{ /* Inline parser_nodes#AForExpr#n_ids (self) on <self:AForExpr> */
-var4 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
-if (unlikely(var4 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1934);
-fatal_exit(1);
-}
-var = var4;
-RET_LABEL3:(void)0;
-}
-}
-{
-nit___nit__ANodes___unsafe_add_all(var, var_n_ids); /* Direct call parser_nodes#ANodes#unsafe_add_all on <var:ANodes[TId]>*/
-}
-if (unlikely(var_n_kwin == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3162);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwin].val = var_n_kwin; /* _n_kwin on <self:AForExpr> */
-if (var_n_kwin == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3163);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwin,self) on <var_n_kwin:nullable TKwin> */
-if (unlikely(var_n_kwin == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwin->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwin:nullable TKwin> */
-RET_LABEL5:(void)0;
-}
-}
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3164);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3165);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL6:(void)0;
-}
-}
-if (unlikely(var_n_kwdo == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3166);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3167);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwdo->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwdo:nullable TKwdo> */
-RET_LABEL7:(void)0;
-}
-}
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_block].val = var_n_block; /* _n_block on <self:AForExpr> */
-if (var_n_block == NULL) {
-var8 = 0; /* is null */
-} else {
-var8 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_block,((val*)NULL)) on <var_n_block:nullable AExpr> */
-var_other = ((val*)NULL);
-{
-var11 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
-}
-var12 = !var11;
-var9 = var12;
-goto RET_LABEL10;
-RET_LABEL10:(void)0;
-}
-var8 = var9;
-}
-if (var8){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
-var_n_block->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
-RET_LABEL13:(void)0;
-}
-}
-} else {
-}
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AForExpr> */
-if (var_n_label == NULL) {
-var14 = 0; /* is null */
-} else {
-var14 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_label,((val*)NULL)) on <var_n_label:nullable ALabel> */
-var_other = ((val*)NULL);
-{
-var17 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
-}
-var18 = !var17;
-var15 = var18;
-goto RET_LABEL16;
-RET_LABEL16:(void)0;
-}
-var14 = var15;
-}
-if (var14){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
-var_n_label->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
-RET_LABEL19:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#replace_child for (self: AForExpr, ANode, nullable ANode) */
-void nit__parser_prod___AForExpr___nit__parser_nodes__ANode__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 */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : ANodes[TId] */;
-val* var9 /* : ANodes[TId] */;
-short int var10 /* : Bool */;
-val* var11 /* : TKwin */;
-short int var12 /* : Bool */;
-short int var14 /* : Bool */;
-short int var16 /* : Bool */;
-short int var17 /* : Bool */;
-int cltype18;
-int idtype19;
-const char* var_class_name20;
-val* var21 /* : AExpr */;
-short int var22 /* : Bool */;
-short int var24 /* : Bool */;
-short int var26 /* : Bool */;
-short int var27 /* : Bool */;
-int cltype28;
-int idtype29;
-const char* var_class_name30;
-val* var31 /* : TKwdo */;
-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 /* : nullable 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;
-val* var52 /* : nullable ALabel */;
-short int var53 /* : Bool */;
-short int var54 /* : Bool */;
-short int var56 /* : Bool */;
-short int var58 /* : Bool */;
-short int var59 /* : Bool */;
-int cltype60;
-int idtype61;
-const char* var_class_name62;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3176);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwfor */
-cltype = type_nit__TKwfor.color;
-idtype = type_nit__TKwfor.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 3177);
-fatal_exit(1);
-}
-{
-nit__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> */
-var9 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
-if (unlikely(var9 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1934);
-fatal_exit(1);
-}
-var7 = var9;
-RET_LABEL8:(void)0;
-}
-}
-{
-var10 = nit___nit__ANodes___replace_child(var7, var_old_child, var_new_child);
-}
-if (var10){
-goto RET_LABEL;
-} else {
-}
-var11 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwin].val; /* _n_kwin on <self:AForExpr> */
-if (unlikely(var11 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwin");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3181);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var11,var_old_child) on <var11:TKwin> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var11,var_other) on <var11:TKwin> */
-var16 = var11 == var_other;
-var14 = var16;
-goto RET_LABEL15;
-RET_LABEL15:(void)0;
-}
-}
-var12 = var14;
-goto RET_LABEL13;
-RET_LABEL13:(void)0;
-}
-}
-if (var12){
-/* <var_new_child:nullable ANode> isa TKwin */
-cltype18 = type_nit__TKwin.color;
-idtype19 = type_nit__TKwin.id;
-if(var_new_child == NULL) {
-var17 = 0;
-} else {
-if(cltype18 >= var_new_child->type->table_size) {
-var17 = 0;
-} else {
-var17 = var_new_child->type->type_table[cltype18] == idtype19;
-}
-}
-if (unlikely(!var17)) {
-var_class_name20 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwin", var_class_name20);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3182);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AForExpr___n_kwin_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwin= on <self:AForExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var21 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
-if (unlikely(var21 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3185);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var21,var_old_child) on <var21:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var21,var_other) on <var21:AExpr> */
-var26 = var21 == var_other;
-var24 = var26;
-goto RET_LABEL25;
-RET_LABEL25:(void)0;
-}
-}
-var22 = var24;
-goto RET_LABEL23;
-RET_LABEL23:(void)0;
-}
-}
-if (var22){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype28 = type_nit__AExpr.color;
-idtype29 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var27 = 0;
-} else {
-if(cltype28 >= var_new_child->type->table_size) {
-var27 = 0;
-} else {
-var27 = var_new_child->type->type_table[cltype28] == idtype29;
-}
-}
-if (unlikely(!var27)) {
-var_class_name30 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name30);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3186);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AForExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_expr= on <self:AForExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var31 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
-if (unlikely(var31 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3189);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var31,var_old_child) on <var31:TKwdo> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var31,var_other) on <var31:TKwdo> */
-var36 = var31 == var_other;
-var34 = var36;
-goto RET_LABEL35;
-RET_LABEL35:(void)0;
-}
-}
-var32 = var34;
-goto RET_LABEL33;
-RET_LABEL33:(void)0;
-}
-}
-if (var32){
-/* <var_new_child:nullable ANode> isa TKwdo */
-cltype38 = type_nit__TKwdo.color;
-idtype39 = type_nit__TKwdo.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`", "TKwdo", var_class_name40);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3190);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AForExpr___n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwdo= on <self:AForExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var41 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
-if (var41 == NULL) {
-var42 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var41,var_old_child) on <var41:nullable AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var41,var_other) on <var41:nullable AExpr(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 nullable AExpr */
-cltype49 = type_nullable__nit__AExpr.color;
-idtype50 = type_nullable__nit__AExpr.id;
-if(var_new_child == NULL) {
-var48 = 1;
-} 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`", "nullable AExpr", var_class_name51);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3194);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AForExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_block= on <self:AForExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var52 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
-if (var52 == NULL) {
-var53 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var52,var_old_child) on <var52:nullable ALabel> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var52,var_other) on <var52:nullable ALabel(ALabel)> */
-var58 = var52 == var_other;
-var56 = var58;
-goto RET_LABEL57;
-RET_LABEL57:(void)0;
-}
-}
-var54 = var56;
-goto RET_LABEL55;
-RET_LABEL55:(void)0;
-}
-var53 = var54;
-}
-if (var53){
-/* <var_new_child:nullable ANode> isa nullable ALabel */
-cltype60 = type_nullable__nit__ALabel.color;
-idtype61 = type_nullable__nit__ALabel.id;
-if(var_new_child == NULL) {
-var59 = 1;
-} else {
-if(cltype60 >= var_new_child->type->table_size) {
-var59 = 0;
-} else {
-var59 = var_new_child->type->type_table[cltype60] == idtype61;
-}
-}
-if (unlikely(!var59)) {
-var_class_name62 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name62);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3198);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AForExpr___nit__parser_nodes__ALabelable__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#n_kwfor= for (self: AForExpr, TKwfor) */
-void nit__parser_prod___AForExpr___n_kwfor_61d(val* self, val* p0) {
-val* var_node /* var node: TKwfor */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwfor> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_kwin= for (self: AForExpr, TKwin) */
-void nit__parser_prod___AForExpr___n_kwin_61d(val* self, val* p0) {
-val* var_node /* var node: TKwin */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwin].val = var_node; /* _n_kwin on <self:AForExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwin> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwin> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_expr= for (self: AForExpr, AExpr) */
-void nit__parser_prod___AForExpr___n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_kwdo= for (self: AForExpr, TKwdo) */
-void nit__parser_prod___AForExpr___n_kwdo_61d(val* self, val* p0) {
-val* var_node /* var node: TKwdo */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwdo> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_block= for (self: AForExpr, nullable AExpr) */
-void nit__parser_prod___AForExpr___n_block_61d(val* self, val* p0) {
-val* var_node /* var node: nullable AExpr */;
-short int var /* : Bool */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AForExpr___n_block].val = var_node; /* _n_block on <self:AForExpr> */
-if (var_node == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
-var_other = ((val*)NULL);
-{
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
-}
-var4 = !var3;
-var1 = var4;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-var = var1;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
-RET_LABEL5:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#n_label= for (self: AForExpr, nullable ALabel) */
-void nit__parser_prod___AForExpr___nit__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
-val* var_node /* var node: nullable ALabel */;
-short int var /* : Bool */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AForExpr> */
-if (var_node == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ALabel> */
-var_other = ((val*)NULL);
-{
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
-}
-var4 = !var3;
-var1 = var4;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-var = var1;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
-RET_LABEL5:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AForExpr#visit_all for (self: AForExpr, Visitor) */
-void nit__parser_prod___AForExpr___nit__parser_nodes__ANode__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 /* : TKwin */;
-val* var5 /* : AExpr */;
-val* var6 /* : TKwdo */;
-val* var7 /* : nullable AExpr */;
-val* var8 /* : nullable ALabel */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3237);
-fatal_exit(1);
-}
-{
-nit___nit__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_nit__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", FILE_nit__parser_nodes, 1934);
-fatal_exit(1);
-}
-var1 = var3;
-RET_LABEL2:(void)0;
-}
-}
-{
-nit___nit__ANodes___visit_all(var1, var_v); /* Direct call parser_nodes#ANodes#visit_all on <var1:ANodes[TId]>*/
-}
-var4 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwin].val; /* _n_kwin on <self:AForExpr> */
-if (unlikely(var4 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwin");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3239);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var5 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
-if (unlikely(var5 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3240);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var6 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
-if (unlikely(var6 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3241);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var6); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
-{
-nit___nit__Visitor___enter_visit(var_v, var7); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var8 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
-{
-nit___nit__Visitor___enter_visit(var_v, var8); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWithExpr#init_awithexpr for (self: AWithExpr, nullable TKwwith, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
-void nit__parser_prod___AWithExpr___init_awithexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
-val* var_n_kwwith /* var n_kwwith: nullable TKwwith */;
-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 */;
-short int var /* : Bool */;
-short int var5 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var7 /* : Bool */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var11 /* : Bool */;
-short int var13 /* : Bool */;
-short int var14 /* : Bool */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AWithExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_kwwith = p0;
-var_n_expr = p1;
-var_n_kwdo = p2;
-var_n_block = p3;
-var_n_label = p4;
-if (unlikely(var_n_kwwith == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3255);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwwith].val = var_n_kwwith; /* _n_kwwith on <self:AWithExpr> */
-if (var_n_kwwith == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3256);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwwith,self) on <var_n_kwwith:nullable TKwwith> */
-if (unlikely(var_n_kwwith == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwwith->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwwith:nullable TKwwith> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3257);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AWithExpr> */
-if (var_n_expr == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3258);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_kwdo == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3259);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AWithExpr> */
-if (var_n_kwdo == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3260);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwdo->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwdo:nullable TKwdo> */
-RET_LABEL4:(void)0;
-}
-}
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_block].val = var_n_block; /* _n_block on <self:AWithExpr> */
-if (var_n_block == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_block,((val*)NULL)) on <var_n_block:nullable AExpr> */
-var_other = ((val*)NULL);
-{
-var7 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on <var_n_block:nullable AExpr(AExpr)>*/
-}
-var8 = !var7;
-var5 = var8;
-goto RET_LABEL6;
-RET_LABEL6:(void)0;
-}
-var = var5;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on <var_n_block:nullable AExpr(AExpr)> */
-var_n_block->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_block:nullable AExpr(AExpr)> */
-RET_LABEL9:(void)0;
-}
-}
-} else {
-}
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AWithExpr> */
-if (var_n_label == NULL) {
-var10 = 0; /* is null */
-} else {
-var10 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_label,((val*)NULL)) on <var_n_label:nullable ALabel> */
-var_other = ((val*)NULL);
-{
-var13 = ((short int(*)(val* self, val* p0))(var_n_label->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_label, var_other); /* == on <var_n_label:nullable ALabel(ALabel)>*/
-}
-var14 = !var13;
-var11 = var14;
-goto RET_LABEL12;
-RET_LABEL12:(void)0;
-}
-var10 = var11;
-}
-if (var10){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on <var_n_label:nullable ALabel(ALabel)> */
-var_n_label->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_label:nullable ALabel(ALabel)> */
-RET_LABEL15:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWithExpr#replace_child for (self: AWithExpr, ANode, nullable ANode) */
-void nit__parser_prod___AWithExpr___nit__parser_nodes__ANode__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 /* : TKwwith */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : AExpr */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : TKwdo */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-val* var27 /* : nullable AExpr */;
-short int var28 /* : Bool */;
-short int var29 /* : Bool */;
-short int var31 /* : Bool */;
-short int var33 /* : Bool */;
-short int var34 /* : Bool */;
-int cltype35;
-int idtype36;
-const char* var_class_name37;
-val* var38 /* : nullable ALabel */;
-short int var39 /* : Bool */;
-short int var40 /* : Bool */;
-short int var42 /* : Bool */;
-short int var44 /* : Bool */;
-short int var45 /* : Bool */;
-int cltype46;
-int idtype47;
-const char* var_class_name48;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwwith].val; /* _n_kwwith on <self:AWithExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwith");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3269);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var,var_old_child) on <var:TKwwith> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var,var_other) on <var:TKwwith> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwwith */
-cltype = type_nit__TKwwith.color;
-idtype = type_nit__TKwwith.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwwith", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3270);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AWithExpr___n_kwwith_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_kwwith= on <self:AWithExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_expr].val; /* _n_expr on <self:AWithExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3273);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype14 = type_nit__AExpr.color;
-idtype15 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3274);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AWithExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_expr= on <self:AWithExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwdo].val; /* _n_kwdo on <self:AWithExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3277);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:TKwdo> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:TKwdo> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa TKwdo */
-cltype24 = type_nit__TKwdo.color;
-idtype25 = type_nit__TKwdo.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3278);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AWithExpr___n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_kwdo= on <self:AWithExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var27 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_block].val; /* _n_block on <self:AWithExpr> */
-if (var27 == NULL) {
-var28 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var27,var_old_child) on <var27:nullable AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var27,var_other) on <var27:nullable AExpr(AExpr)> */
-var33 = var27 == var_other;
-var31 = var33;
-goto RET_LABEL32;
-RET_LABEL32:(void)0;
-}
-}
-var29 = var31;
-goto RET_LABEL30;
-RET_LABEL30:(void)0;
-}
-var28 = var29;
-}
-if (var28){
-/* <var_new_child:nullable ANode> isa nullable AExpr */
-cltype35 = type_nullable__nit__AExpr.color;
-idtype36 = type_nullable__nit__AExpr.id;
-if(var_new_child == NULL) {
-var34 = 1;
-} else {
-if(cltype35 >= var_new_child->type->table_size) {
-var34 = 0;
-} else {
-var34 = var_new_child->type->type_table[cltype35] == idtype36;
-}
-}
-if (unlikely(!var34)) {
-var_class_name37 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name37);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3282);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AWithExpr___n_block_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_block= on <self:AWithExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var38 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWithExpr> */
-if (var38 == NULL) {
-var39 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var38,var_old_child) on <var38:nullable ALabel> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var38,var_other) on <var38:nullable ALabel(ALabel)> */
-var44 = var38 == var_other;
-var42 = var44;
-goto RET_LABEL43;
-RET_LABEL43:(void)0;
-}
-}
-var40 = var42;
-goto RET_LABEL41;
-RET_LABEL41:(void)0;
-}
-var39 = var40;
-}
-if (var39){
-/* <var_new_child:nullable ANode> isa nullable ALabel */
-cltype46 = type_nullable__nit__ALabel.color;
-idtype47 = type_nullable__nit__ALabel.id;
-if(var_new_child == NULL) {
-var45 = 1;
-} else {
-if(cltype46 >= var_new_child->type->table_size) {
-var45 = 0;
-} else {
-var45 = var_new_child->type->type_table[cltype46] == idtype47;
-}
-}
-if (unlikely(!var45)) {
-var_class_name48 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name48);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3286);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AWithExpr___nit__parser_nodes__ALabelable__n_label_61d(self, var_new_child); /* Direct call parser_prod#AWithExpr#n_label= on <self:AWithExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWithExpr#n_kwwith= for (self: AWithExpr, TKwwith) */
-void nit__parser_prod___AWithExpr___n_kwwith_61d(val* self, val* p0) {
-val* var_node /* var node: TKwwith */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwwith].val = var_node; /* _n_kwwith on <self:AWithExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwwith> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwwith> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWithExpr#n_expr= for (self: AWithExpr, AExpr) */
-void nit__parser_prod___AWithExpr___n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_expr].val = var_node; /* _n_expr on <self:AWithExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:AExpr> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWithExpr#n_kwdo= for (self: AWithExpr, TKwdo) */
-void nit__parser_prod___AWithExpr___n_kwdo_61d(val* self, val* p0) {
-val* var_node /* var node: TKwdo */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AWithExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwdo> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwdo> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWithExpr#n_block= for (self: AWithExpr, nullable AExpr) */
-void nit__parser_prod___AWithExpr___n_block_61d(val* self, val* p0) {
-val* var_node /* var node: nullable AExpr */;
-short int var /* : Bool */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_block].val = var_node; /* _n_block on <self:AWithExpr> */
-if (var_node == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
-var_other = ((val*)NULL);
-{
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
-}
-var4 = !var3;
-var1 = var4;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-var = var1;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
-RET_LABEL5:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWithExpr#n_label= for (self: AWithExpr, nullable ALabel) */
-void nit__parser_prod___AWithExpr___nit__parser_nodes__ALabelable__n_label_61d(val* self, val* p0) {
-val* var_node /* var node: nullable ALabel */;
-short int var /* : Bool */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AWithExpr> */
-if (var_node == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ALabel> */
-var_other = ((val*)NULL);
-{
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable ALabel(ALabel)>*/
-}
-var4 = !var3;
-var1 = var4;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-var = var1;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable ALabel(ALabel)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable ALabel(ALabel)> */
-RET_LABEL5:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AWithExpr#visit_all for (self: AWithExpr, Visitor) */
-void nit__parser_prod___AWithExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : TKwwith */;
-val* var1 /* : AExpr */;
-val* var2 /* : TKwdo */;
-val* var3 /* : nullable AExpr */;
-val* var4 /* : nullable ALabel */;
-var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwwith].val; /* _n_kwwith on <self:AWithExpr> */
-if (unlikely(var == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwith");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3320);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_expr].val; /* _n_expr on <self:AWithExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3321);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_kwdo].val; /* _n_kwdo on <self:AWithExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3322);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var3 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_block].val; /* _n_block on <self:AWithExpr> */
-{
-nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var4 = self->attrs[COLOR_nit__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWithExpr> */
-{
-nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#init_aassertexpr for (self: AAssertExpr, nullable TKwassert, nullable TId, nullable AExpr, nullable TKwelse, nullable AExpr) */
-void nit__parser_prod___AAssertExpr___init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
-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_kwelse /* var n_kwelse: nullable TKwelse */;
-val* var_n_else /* var n_else: nullable AExpr */;
-short int var /* : Bool */;
-short int var3 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-short int var15 /* : Bool */;
-short int var16 /* : Bool */;
-short int var18 /* : Bool */;
-short int var19 /* : Bool */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AAssertExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_kwassert = p0;
-var_n_id = p1;
-var_n_expr = p2;
-var_n_kwelse = p3;
-var_n_else = p4;
-if (unlikely(var_n_kwassert == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3336);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3337);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwassert->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwassert:nullable TKwassert> */
-RET_LABEL2:(void)0;
-}
-}
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_id].val = var_n_id; /* _n_id on <self:AAssertExpr> */
-if (var_n_id == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_id,((val*)NULL)) on <var_n_id:nullable TId> */
-var_other = ((val*)NULL);
-{
-var5 = ((short int(*)(val* self, val* p0))(var_n_id->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_id, var_other); /* == on <var_n_id:nullable TId(TId)>*/
-}
-var6 = !var5;
-var3 = var6;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-var = var3;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on <var_n_id:nullable TId(TId)> */
-var_n_id->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_id:nullable TId(TId)> */
-RET_LABEL7:(void)0;
-}
-}
-} else {
-}
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3340);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3341);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL8:(void)0;
-}
-}
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_kwelse].val = var_n_kwelse; /* _n_kwelse on <self:AAssertExpr> */
-if (var_n_kwelse == NULL) {
-var9 = 0; /* is null */
-} else {
-var9 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_kwelse,((val*)NULL)) on <var_n_kwelse:nullable TKwelse> */
-var_other = ((val*)NULL);
-{
-var12 = ((short int(*)(val* self, val* p0))(var_n_kwelse->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_kwelse, var_other); /* == on <var_n_kwelse:nullable TKwelse(TKwelse)>*/
-}
-var13 = !var12;
-var10 = var13;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwelse,self) on <var_n_kwelse:nullable TKwelse(TKwelse)> */
-var_n_kwelse->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwelse:nullable TKwelse(TKwelse)> */
-RET_LABEL14:(void)0;
-}
-}
-} else {
-}
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_else].val = var_n_else; /* _n_else on <self:AAssertExpr> */
-if (var_n_else == NULL) {
-var15 = 0; /* is null */
-} else {
-var15 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_n_else,((val*)NULL)) on <var_n_else:nullable AExpr> */
-var_other = ((val*)NULL);
-{
-var18 = ((short int(*)(val* self, val* p0))(var_n_else->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_else, var_other); /* == on <var_n_else:nullable AExpr(AExpr)>*/
-}
-var19 = !var18;
-var16 = var19;
-goto RET_LABEL17;
-RET_LABEL17:(void)0;
-}
-var15 = var16;
-}
-if (var15){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_n_else,self) on <var_n_else:nullable AExpr(AExpr)> */
-var_n_else->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_else:nullable AExpr(AExpr)> */
-RET_LABEL20:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#replace_child for (self: AAssertExpr, ANode, nullable ANode) */
-void nit__parser_prod___AAssertExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : TKwassert */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : nullable TId */;
-short int var8 /* : Bool */;
-short int var9 /* : Bool */;
-short int var11 /* : Bool */;
-short int var13 /* : Bool */;
-short int var14 /* : Bool */;
-int cltype15;
-int idtype16;
-const char* var_class_name17;
-val* var18 /* : AExpr */;
-short int var19 /* : Bool */;
-short int var21 /* : Bool */;
-short int var23 /* : Bool */;
-short int var24 /* : Bool */;
-int cltype25;
-int idtype26;
-const char* var_class_name27;
-val* var28 /* : nullable TKwelse */;
-short int var29 /* : Bool */;
-short int var30 /* : Bool */;
-short int var32 /* : Bool */;
-short int var34 /* : Bool */;
-short int var35 /* : Bool */;
-int cltype36;
-int idtype37;
-const char* var_class_name38;
-val* var39 /* : nullable AExpr */;
-short int var40 /* : Bool */;
-short int var41 /* : Bool */;
-short int var43 /* : Bool */;
-short int var45 /* : Bool */;
-short int var46 /* : Bool */;
-int cltype47;
-int idtype48;
-const char* var_class_name49;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3350);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwassert */
-cltype = type_nit__TKwassert.color;
-idtype = type_nit__TKwassert.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 3351);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AAssertExpr___n_kwassert_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_kwassert= on <self:AAssertExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
-if (var7 == NULL) {
-var8 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:nullable TId> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:nullable TId(TId)> */
-var13 = var7 == var_other;
-var11 = var13;
-goto RET_LABEL12;
-RET_LABEL12:(void)0;
-}
-}
-var9 = var11;
-goto RET_LABEL10;
-RET_LABEL10:(void)0;
-}
-var8 = var9;
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa nullable TId */
-cltype15 = type_nullable__nit__TId.color;
-idtype16 = type_nullable__nit__TId.id;
-if(var_new_child == NULL) {
-var14 = 1;
-} else {
-if(cltype15 >= var_new_child->type->table_size) {
-var14 = 0;
-} else {
-var14 = var_new_child->type->type_table[cltype15] == idtype16;
-}
-}
-if (unlikely(!var14)) {
-var_class_name17 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name17);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3355);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AAssertExpr___n_id_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_id= on <self:AAssertExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var18 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
-if (unlikely(var18 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3358);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var18,var_old_child) on <var18:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var18,var_other) on <var18:AExpr> */
-var23 = var18 == var_other;
-var21 = var23;
-goto RET_LABEL22;
-RET_LABEL22:(void)0;
-}
-}
-var19 = var21;
-goto RET_LABEL20;
-RET_LABEL20:(void)0;
-}
-}
-if (var19){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype25 = type_nit__AExpr.color;
-idtype26 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var24 = 0;
-} else {
-if(cltype25 >= var_new_child->type->table_size) {
-var24 = 0;
-} else {
-var24 = var_new_child->type->type_table[cltype25] == idtype26;
-}
-}
-if (unlikely(!var24)) {
-var_class_name27 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name27);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3359);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AAssertExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_expr= on <self:AAssertExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var28 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_kwelse].val; /* _n_kwelse on <self:AAssertExpr> */
-if (var28 == NULL) {
-var29 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var28,var_old_child) on <var28:nullable TKwelse> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var28,var_other) on <var28:nullable TKwelse(TKwelse)> */
-var34 = var28 == var_other;
-var32 = var34;
-goto RET_LABEL33;
-RET_LABEL33:(void)0;
-}
-}
-var30 = var32;
-goto RET_LABEL31;
-RET_LABEL31:(void)0;
-}
-var29 = var30;
-}
-if (var29){
-/* <var_new_child:nullable ANode> isa nullable TKwelse */
-cltype36 = type_nullable__nit__TKwelse.color;
-idtype37 = type_nullable__nit__TKwelse.id;
-if(var_new_child == NULL) {
-var35 = 1;
-} else {
-if(cltype36 >= var_new_child->type->table_size) {
-var35 = 0;
-} else {
-var35 = var_new_child->type->type_table[cltype36] == idtype37;
-}
-}
-if (unlikely(!var35)) {
-var_class_name38 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwelse", var_class_name38);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3363);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AAssertExpr___n_kwelse_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_kwelse= on <self:AAssertExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var39 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
-if (var39 == NULL) {
-var40 = 0; /* <var_old_child:ANode> cannot be null */
-} else {
-{ /* Inline kernel#Object#== (var39,var_old_child) on <var39:nullable AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var39,var_other) on <var39:nullable AExpr(AExpr)> */
-var45 = var39 == var_other;
-var43 = var45;
-goto RET_LABEL44;
-RET_LABEL44:(void)0;
-}
-}
-var41 = var43;
-goto RET_LABEL42;
-RET_LABEL42:(void)0;
-}
-var40 = var41;
-}
-if (var40){
-/* <var_new_child:nullable ANode> isa nullable AExpr */
-cltype47 = type_nullable__nit__AExpr.color;
-idtype48 = type_nullable__nit__AExpr.id;
-if(var_new_child == NULL) {
-var46 = 1;
-} else {
-if(cltype47 >= var_new_child->type->table_size) {
-var46 = 0;
-} else {
-var46 = var_new_child->type->type_table[cltype47] == idtype48;
-}
-}
-if (unlikely(!var46)) {
-var_class_name49 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name49);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3367);
-fatal_exit(1);
-}
-{
-nit__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#n_kwassert= for (self: AAssertExpr, TKwassert) */
-void nit__parser_prod___AAssertExpr___n_kwassert_61d(val* self, val* p0) {
-val* var_node /* var node: TKwassert */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwassert> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#n_id= for (self: AAssertExpr, nullable TId) */
-void nit__parser_prod___AAssertExpr___n_id_61d(val* self, val* p0) {
-val* var_node /* var node: nullable TId */;
-short int var /* : Bool */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_id].val = var_node; /* _n_id on <self:AAssertExpr> */
-if (var_node == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TId> */
-var_other = ((val*)NULL);
-{
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TId(TId)>*/
-}
-var4 = !var3;
-var1 = var4;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-var = var1;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TId(TId)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TId(TId)> */
-RET_LABEL5:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#n_expr= for (self: AAssertExpr, AExpr) */
-void nit__parser_prod___AAssertExpr___n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#n_kwelse= for (self: AAssertExpr, nullable TKwelse) */
-void nit__parser_prod___AAssertExpr___n_kwelse_61d(val* self, val* p0) {
-val* var_node /* var node: nullable TKwelse */;
-short int var /* : Bool */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AAssertExpr> */
-if (var_node == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable TKwelse> */
-var_other = ((val*)NULL);
-{
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable TKwelse(TKwelse)>*/
-}
-var4 = !var3;
-var1 = var4;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-var = var1;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable TKwelse(TKwelse)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable TKwelse(TKwelse)> */
-RET_LABEL5:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#n_else= for (self: AAssertExpr, nullable AExpr) */
-void nit__parser_prod___AAssertExpr___n_else_61d(val* self, val* p0) {
-val* var_node /* var node: nullable AExpr */;
-short int var /* : Bool */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var4 /* : Bool */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_else].val = var_node; /* _n_else on <self:AAssertExpr> */
-if (var_node == NULL) {
-var = 0; /* is null */
-} else {
-var = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
-var_other = ((val*)NULL);
-{
-var3 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other); /* == on <var_node:nullable AExpr(AExpr)>*/
-}
-var4 = !var3;
-var1 = var4;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-var = var1;
-}
-if (var){
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:nullable AExpr(AExpr)> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:nullable AExpr(AExpr)> */
-RET_LABEL5:(void)0;
-}
-}
-} else {
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAssertExpr#visit_all for (self: AAssertExpr, Visitor) */
-void nit__parser_prod___AAssertExpr___nit__parser_nodes__ANode__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 TKwelse */;
-val* var4 /* : nullable AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3401);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3403);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var3 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_kwelse].val; /* _n_kwelse on <self:AAssertExpr> */
-{
-nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var4 = self->attrs[COLOR_nit__parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
-{
-nit___nit__Visitor___enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#init_aonceexpr for (self: AOnceExpr, nullable TKwonce, nullable AExpr) */
-void nit__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 */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AOnceExpr> */
-RET_LABEL1:(void)0;
-}
-}
-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", FILE_nit__parser_prod, 3414);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3415);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwonce->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwonce:nullable TKwonce> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3416);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3417);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL3:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#replace_child for (self: AOnceExpr, ANode, nullable ANode) */
-void nit__parser_prod___AOnceExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : TKwonce */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : AExpr */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3422);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwonce */
-cltype = type_nit__TKwonce.color;
-idtype = type_nit__TKwonce.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 3423);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AOnceExpr___n_kwonce_61d(self, var_new_child); /* Direct call parser_prod#AOnceExpr#n_kwonce= on <self:AOnceExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__AOnceExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3426);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype14 = type_nit__AExpr.color;
-idtype15 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3427);
-fatal_exit(1);
-}
-{
-nit__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#n_kwonce= for (self: AOnceExpr, TKwonce) */
-void nit__parser_prod___AOnceExpr___n_kwonce_61d(val* self, val* p0) {
-val* var_node /* var node: TKwonce */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwonce> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#n_expr= for (self: AOnceExpr, AExpr) */
-void nit__parser_prod___AOnceExpr___n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOnceExpr#visit_all for (self: AOnceExpr, Visitor) */
-void nit__parser_prod___AOnceExpr___nit__parser_nodes__ANode__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_nit__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", FILE_nit__parser_prod, 3446);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3447);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#init_aorexpr for (self: AOrExpr, nullable AExpr, nullable TKwor, nullable AExpr) */
-void nit__parser_prod___AOrExpr___init_aorexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TKwor */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AOrExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3528);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3529);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3530);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_n_op; /* _n_op on <self:AOrExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3531);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TKwor> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TKwor> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3532);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3533);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#replace_child for (self: AOrExpr, ANode, nullable ANode) */
-void nit__parser_prod___AOrExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3538);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 3539);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AOrExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_expr= on <self:AOrExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AOrExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3542);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TKwor */
-cltype14 = type_nit__TKwor.color;
-idtype15 = type_nit__TKwor.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwor", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3543);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AOrExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_op= on <self:AOrExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3546);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3547);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AOrExpr___nit__parser_nodes__ABinBoolExpr__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#n_expr= for (self: AOrExpr, AExpr) */
-void nit__parser_prod___AOrExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#n_op= for (self: AOrExpr, Token) */
-void nit__parser_prod___AOrExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_node; /* _n_op on <self:AOrExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#n_expr2= for (self: AOrExpr, AExpr) */
-void nit__parser_prod___AOrExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrExpr#visit_all for (self: AOrExpr, Visitor) */
-void nit__parser_prod___AOrExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3571);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AOrExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3572);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3573);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#init_aandexpr for (self: AAndExpr, nullable AExpr, nullable TKwand, nullable AExpr) */
-void nit__parser_prod___AAndExpr___init_aandexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TKwand */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AAndExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3583);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3584);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3585);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_n_op; /* _n_op on <self:AAndExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3586);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TKwand> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TKwand> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3587);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3588);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#replace_child for (self: AAndExpr, ANode, nullable ANode) */
-void nit__parser_prod___AAndExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3593);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 3594);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AAndExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_expr= on <self:AAndExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AAndExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3597);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TKwand */
-cltype14 = type_nit__TKwand.color;
-idtype15 = type_nit__TKwand.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwand", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3598);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AAndExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_op= on <self:AAndExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3601);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3602);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AAndExpr___nit__parser_nodes__ABinBoolExpr__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#n_expr= for (self: AAndExpr, AExpr) */
-void nit__parser_prod___AAndExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#n_op= for (self: AAndExpr, Token) */
-void nit__parser_prod___AAndExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_node; /* _n_op on <self:AAndExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#n_expr2= for (self: AAndExpr, AExpr) */
-void nit__parser_prod___AAndExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AAndExpr#visit_all for (self: AAndExpr, Visitor) */
-void nit__parser_prod___AAndExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3626);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AAndExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3627);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3628);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: AOrElseExpr, nullable AExpr, nullable TKwor, nullable TKwelse, nullable AExpr) */
-void nit__parser_prod___AOrElseExpr___init_aorelseexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TKwor */;
-val* var_n_kwelse /* var n_kwelse: nullable TKwelse */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AOrElseExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_kwelse = p2;
-var_n_expr2 = p3;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3639);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3640);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3641);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_n_op; /* _n_op on <self:AOrElseExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3642);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TKwor> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TKwor> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_kwelse == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3643);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__AOrElseExpr___n_kwelse].val = var_n_kwelse; /* _n_kwelse on <self:AOrElseExpr> */
-if (var_n_kwelse == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3644);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwelse,self) on <var_n_kwelse:nullable TKwelse> */
-if (unlikely(var_n_kwelse == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwelse->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwelse:nullable TKwelse> */
-RET_LABEL4:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3645);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3646);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL5:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#replace_child for (self: AOrElseExpr, ANode, nullable ANode) */
-void nit__parser_prod___AOrElseExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : TKwelse */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-val* var27 /* : AExpr */;
-short int var28 /* : Bool */;
-short int var30 /* : Bool */;
-short int var32 /* : Bool */;
-short int var33 /* : Bool */;
-int cltype34;
-int idtype35;
-const char* var_class_name36;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3651);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 3652);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_expr= on <self:AOrElseExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AOrElseExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3655);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TKwor */
-cltype14 = type_nit__TKwor.color;
-idtype15 = type_nit__TKwor.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwor", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3656);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_op= on <self:AOrElseExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__AOrElseExpr___n_kwelse].val; /* _n_kwelse on <self:AOrElseExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3659);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:TKwelse> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:TKwelse> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa TKwelse */
-cltype24 = type_nit__TKwelse.color;
-idtype25 = type_nit__TKwelse.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwelse", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3660);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AOrElseExpr___n_kwelse_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_kwelse= on <self:AOrElseExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var27 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
-if (unlikely(var27 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3663);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var27,var_old_child) on <var27:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var27,var_other) on <var27:AExpr> */
-var32 = var27 == var_other;
-var30 = var32;
-goto RET_LABEL31;
-RET_LABEL31:(void)0;
-}
-}
-var28 = var30;
-goto RET_LABEL29;
-RET_LABEL29:(void)0;
-}
-}
-if (var28){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype34 = type_nit__AExpr.color;
-idtype35 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var33 = 0;
-} else {
-if(cltype34 >= var_new_child->type->table_size) {
-var33 = 0;
-} else {
-var33 = var_new_child->type->type_table[cltype34] == idtype35;
-}
-}
-if (unlikely(!var33)) {
-var_class_name36 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name36);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3664);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__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#n_expr= for (self: AOrElseExpr, AExpr) */
-void nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#n_op= for (self: AOrElseExpr, Token) */
-void nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_node; /* _n_op on <self:AOrElseExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#n_kwelse= for (self: AOrElseExpr, TKwelse) */
-void nit__parser_prod___AOrElseExpr___n_kwelse_61d(val* self, val* p0) {
-val* var_node /* var node: TKwelse */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AOrElseExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AOrElseExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwelse> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwelse> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#n_expr2= for (self: AOrElseExpr, AExpr) */
-void nit__parser_prod___AOrElseExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AOrElseExpr#visit_all for (self: AOrElseExpr, Visitor) */
-void nit__parser_prod___AOrElseExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : TKwelse */;
-val* var3 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3693);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AOrElseExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3694);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__AOrElseExpr___n_kwelse].val; /* _n_kwelse on <self:AOrElseExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3695);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var3 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
-if (unlikely(var3 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3696);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: AImpliesExpr, nullable AExpr, nullable TKwimplies, nullable AExpr) */
-void nit__parser_prod___AImpliesExpr___init_aimpliesexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TKwimplies */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AImpliesExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3706);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3707);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3708);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_n_op; /* _n_op on <self:AImpliesExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3709);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TKwimplies> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TKwimplies> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3710);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3711);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#replace_child for (self: AImpliesExpr, ANode, nullable ANode) */
-void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3716);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 3717);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr= on <self:AImpliesExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AImpliesExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3720);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TKwimplies */
-cltype14 = type_nit__TKwimplies.color;
-idtype15 = type_nit__TKwimplies.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwimplies", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3721);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_op= on <self:AImpliesExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3724);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3725);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__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#n_expr= for (self: AImpliesExpr, AExpr) */
-void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#n_op= for (self: AImpliesExpr, Token) */
-void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val = var_node; /* _n_op on <self:AImpliesExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#n_expr2= for (self: AImpliesExpr, AExpr) */
-void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ABinBoolExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AImpliesExpr#visit_all for (self: AImpliesExpr, Visitor) */
-void nit__parser_prod___AImpliesExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___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", FILE_nit__parser_prod, 3749);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_op].val; /* _n_op on <self:AImpliesExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3750);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3751);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#init_anotexpr for (self: ANotExpr, nullable TKwnot, nullable AExpr) */
-void nit__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 */;
-{
-{ /* Inline kernel#Object#init (self) on <self:ANotExpr> */
-RET_LABEL1:(void)0;
-}
-}
-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", FILE_nit__parser_prod, 3760);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3761);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwnot->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwnot:nullable TKwnot> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3762);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3763);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL3:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#replace_child for (self: ANotExpr, ANode, nullable ANode) */
-void nit__parser_prod___ANotExpr___nit__parser_nodes__ANode__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 */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : AExpr */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3768);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa TKwnot */
-cltype = type_nit__TKwnot.color;
-idtype = type_nit__TKwnot.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 3769);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ANotExpr___n_kwnot_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_kwnot= on <self:ANotExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3772);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:AExpr> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype14 = type_nit__AExpr.color;
-idtype15 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3773);
-fatal_exit(1);
-}
-{
-nit__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#n_kwnot= for (self: ANotExpr, TKwnot) */
-void nit__parser_prod___ANotExpr___n_kwnot_61d(val* self, val* p0) {
-val* var_node /* var node: TKwnot */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwnot> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#n_expr= for (self: ANotExpr, AExpr) */
-void nit__parser_prod___ANotExpr___n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANotExpr#visit_all for (self: ANotExpr, Visitor) */
-void nit__parser_prod___ANotExpr___nit__parser_nodes__ANode__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_nit__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", FILE_nit__parser_prod, 3792);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3793);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#init_aeqexpr for (self: AEqExpr, nullable AExpr, nullable TEq, nullable AExpr) */
-void nit__parser_prod___AEqExpr___init_aeqexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TEq */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AEqExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3803);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3804);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3805);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AEqExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3806);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TEq> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TEq> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3807);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3808);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#replace_child for (self: AEqExpr, ANode, nullable ANode) */
-void nit__parser_prod___AEqExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3813);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 3814);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AEqExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr= on <self:AEqExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AEqExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3817);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TEq */
-cltype14 = type_nit__TEq.color;
-idtype15 = type_nit__TEq.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TEq", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3818);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AEqExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_op= on <self:AEqExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3821);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3822);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AEqExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: AEqExpr, AExpr) */
-void nit__parser_prod___AEqExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#n_op= for (self: AEqExpr, Token) */
-void nit__parser_prod___AEqExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AEqExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#n_expr2= for (self: AEqExpr, AExpr) */
-void nit__parser_prod___AEqExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AEqExpr#visit_all for (self: AEqExpr, Visitor) */
-void nit__parser_prod___AEqExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3846);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AEqExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3847);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3848);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#init_aneexpr for (self: ANeExpr, nullable AExpr, nullable TNe, nullable AExpr) */
-void nit__parser_prod___ANeExpr___init_aneexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TNe */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:ANeExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3858);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3859);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3860);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ANeExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3861);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TNe> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TNe> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3862);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3863);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#replace_child for (self: ANeExpr, ANode, nullable ANode) */
-void nit__parser_prod___ANeExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3868);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 3869);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ANeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr= on <self:ANeExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ANeExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3872);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TNe */
-cltype14 = type_nit__TNe.color;
-idtype15 = type_nit__TNe.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TNe", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3873);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ANeExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_op= on <self:ANeExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3876);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3877);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ANeExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: ANeExpr, AExpr) */
-void nit__parser_prod___ANeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#n_op= for (self: ANeExpr, Token) */
-void nit__parser_prod___ANeExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ANeExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#n_expr2= for (self: ANeExpr, AExpr) */
-void nit__parser_prod___ANeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ANeExpr#visit_all for (self: ANeExpr, Visitor) */
-void nit__parser_prod___ANeExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3901);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ANeExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3902);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3903);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#init_altexpr for (self: ALtExpr, nullable AExpr, nullable TLt, nullable AExpr) */
-void nit__parser_prod___ALtExpr___init_altexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TLt */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:ALtExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3913);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3914);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3915);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ALtExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3916);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TLt> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TLt> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3917);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3918);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#replace_child for (self: ALtExpr, ANode, nullable ANode) */
-void nit__parser_prod___ALtExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3923);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 3924);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ALtExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_expr= on <self:ALtExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALtExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3927);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TLt */
-cltype14 = type_nit__TLt.color;
-idtype15 = type_nit__TLt.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TLt", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3928);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ALtExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_op= on <self:ALtExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3931);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3932);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ALtExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: ALtExpr, AExpr) */
-void nit__parser_prod___ALtExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#n_op= for (self: ALtExpr, Token) */
-void nit__parser_prod___ALtExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ALtExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#n_expr2= for (self: ALtExpr, AExpr) */
-void nit__parser_prod___ALtExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALtExpr#visit_all for (self: ALtExpr, Visitor) */
-void nit__parser_prod___ALtExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3956);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALtExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3957);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3958);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#init_aleexpr for (self: ALeExpr, nullable AExpr, nullable TLe, nullable AExpr) */
-void nit__parser_prod___ALeExpr___init_aleexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TLe */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:ALeExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3968);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3969);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3970);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ALeExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3971);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TLe> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TLe> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3972);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3973);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#replace_child for (self: ALeExpr, ANode, nullable ANode) */
-void nit__parser_prod___ALeExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 3978);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 3979);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ALeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_expr= on <self:ALeExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALeExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3982);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TLe */
-cltype14 = type_nit__TLe.color;
-idtype15 = type_nit__TLe.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TLe", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3983);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ALeExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_op= on <self:ALeExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3986);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 3987);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ALeExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: ALeExpr, AExpr) */
-void nit__parser_prod___ALeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#n_op= for (self: ALeExpr, Token) */
-void nit__parser_prod___ALeExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ALeExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#n_expr2= for (self: ALeExpr, AExpr) */
-void nit__parser_prod___ALeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALeExpr#visit_all for (self: ALeExpr, Visitor) */
-void nit__parser_prod___ALeExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4011);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALeExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4012);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4013);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#init_allexpr for (self: ALlExpr, nullable AExpr, nullable TLl, nullable AExpr) */
-void nit__parser_prod___ALlExpr___init_allexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TLl */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:ALlExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4023);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4024);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4025);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ALlExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4026);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TLl> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TLl> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4027);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4028);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#replace_child for (self: ALlExpr, ANode, nullable ANode) */
-void nit__parser_prod___ALlExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4033);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 4034);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ALlExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_expr= on <self:ALlExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALlExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4037);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TLl */
-cltype14 = type_nit__TLl.color;
-idtype15 = type_nit__TLl.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TLl", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4038);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ALlExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_op= on <self:ALlExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4041);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4042);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ALlExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: ALlExpr, AExpr) */
-void nit__parser_prod___ALlExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#n_op= for (self: ALlExpr, Token) */
-void nit__parser_prod___ALlExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ALlExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#n_expr2= for (self: ALlExpr, AExpr) */
-void nit__parser_prod___ALlExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ALlExpr#visit_all for (self: ALlExpr, Visitor) */
-void nit__parser_prod___ALlExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4066);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ALlExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4067);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4068);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#init_agtexpr for (self: AGtExpr, nullable AExpr, nullable TGt, nullable AExpr) */
-void nit__parser_prod___AGtExpr___init_agtexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TGt */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AGtExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4078);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4079);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4080);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AGtExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4081);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TGt> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TGt> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4082);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4083);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#replace_child for (self: AGtExpr, ANode, nullable ANode) */
-void nit__parser_prod___AGtExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4088);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 4089);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AGtExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_expr= on <self:AGtExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGtExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4092);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TGt */
-cltype14 = type_nit__TGt.color;
-idtype15 = type_nit__TGt.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TGt", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4093);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AGtExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_op= on <self:AGtExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4096);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4097);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AGtExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: AGtExpr, AExpr) */
-void nit__parser_prod___AGtExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#n_op= for (self: AGtExpr, Token) */
-void nit__parser_prod___AGtExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AGtExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#n_expr2= for (self: AGtExpr, AExpr) */
-void nit__parser_prod___AGtExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGtExpr#visit_all for (self: AGtExpr, Visitor) */
-void nit__parser_prod___AGtExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4121);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGtExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4122);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4123);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#init_ageexpr for (self: AGeExpr, nullable AExpr, nullable TGe, nullable AExpr) */
-void nit__parser_prod___AGeExpr___init_ageexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TGe */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AGeExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4133);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4134);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4135);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AGeExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4136);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TGe> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TGe> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4137);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4138);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#replace_child for (self: AGeExpr, ANode, nullable ANode) */
-void nit__parser_prod___AGeExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4143);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 4144);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AGeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_expr= on <self:AGeExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGeExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4147);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TGe */
-cltype14 = type_nit__TGe.color;
-idtype15 = type_nit__TGe.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TGe", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4148);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AGeExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_op= on <self:AGeExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4151);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4152);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AGeExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: AGeExpr, AExpr) */
-void nit__parser_prod___AGeExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#n_op= for (self: AGeExpr, Token) */
-void nit__parser_prod___AGeExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AGeExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#n_expr2= for (self: AGeExpr, AExpr) */
-void nit__parser_prod___AGeExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGeExpr#visit_all for (self: AGeExpr, Visitor) */
-void nit__parser_prod___AGeExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4176);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGeExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4177);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4178);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#init_aggexpr for (self: AGgExpr, nullable AExpr, nullable TGg, nullable AExpr) */
-void nit__parser_prod___AGgExpr___init_aggexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TGg */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AGgExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4188);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4189);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4190);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AGgExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4191);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TGg> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TGg> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4192);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4193);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#replace_child for (self: AGgExpr, ANode, nullable ANode) */
-void nit__parser_prod___AGgExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4198);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 4199);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AGgExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_expr= on <self:AGgExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGgExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4202);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TGg */
-cltype14 = type_nit__TGg.color;
-idtype15 = type_nit__TGg.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TGg", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4203);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AGgExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_op= on <self:AGgExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4206);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4207);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AGgExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: AGgExpr, AExpr) */
-void nit__parser_prod___AGgExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#n_op= for (self: AGgExpr, Token) */
-void nit__parser_prod___AGgExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AGgExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#n_expr2= for (self: AGgExpr, AExpr) */
-void nit__parser_prod___AGgExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AGgExpr#visit_all for (self: AGgExpr, Visitor) */
-void nit__parser_prod___AGgExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4231);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AGgExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4232);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4233);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#init_aisaexpr for (self: AIsaExpr, nullable AExpr, nullable TKwisa, nullable AType) */
-void nit__parser_prod___AIsaExpr___init_aisaexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_kwisa /* var n_kwisa: nullable TKwisa */;
-val* var_n_type /* var n_type: nullable AType */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AIsaExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_kwisa = p1;
-var_n_type = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4243);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4244);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_kwisa == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4245);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_kwisa].val = var_n_kwisa; /* _n_kwisa on <self:AIsaExpr> */
-if (var_n_kwisa == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4246);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_kwisa,self) on <var_n_kwisa:nullable TKwisa> */
-if (unlikely(var_n_kwisa == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_kwisa->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_kwisa:nullable TKwisa> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_type == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4247);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4248);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_type->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_type:nullable AType> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#replace_child for (self: AIsaExpr, ANode, nullable ANode) */
-void nit__parser_prod___AIsaExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : TKwisa */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AType */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4253);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 4254);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AIsaExpr___n_expr_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_expr= on <self:AIsaExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_kwisa].val; /* _n_kwisa on <self:AIsaExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwisa");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4257);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:TKwisa> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:TKwisa> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TKwisa */
-cltype14 = type_nit__TKwisa.color;
-idtype15 = type_nit__TKwisa.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwisa", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4258);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AIsaExpr___n_kwisa_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_kwisa= on <self:AIsaExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4261);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AType> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AType> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AType */
-cltype24 = type_nit__AType.color;
-idtype25 = type_nit__AType.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4262);
-fatal_exit(1);
-}
-{
-nit__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#n_expr= for (self: AIsaExpr, AExpr) */
-void nit__parser_prod___AIsaExpr___n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#n_kwisa= for (self: AIsaExpr, TKwisa) */
-void nit__parser_prod___AIsaExpr___n_kwisa_61d(val* self, val* p0) {
-val* var_node /* var node: TKwisa */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_kwisa].val = var_node; /* _n_kwisa on <self:AIsaExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:TKwisa> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:TKwisa> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#n_type= for (self: AIsaExpr, AType) */
-void nit__parser_prod___AIsaExpr___n_type_61d(val* self, val* p0) {
-val* var_node /* var node: AType */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AType> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AIsaExpr#visit_all for (self: AIsaExpr, Visitor) */
-void nit__parser_prod___AIsaExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : TKwisa */;
-val* var2 /* : AType */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4286);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_kwisa].val; /* _n_kwisa on <self:AIsaExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwisa");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4287);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4288);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#init_aplusexpr for (self: APlusExpr, nullable AExpr, nullable TPlus, nullable AExpr) */
-void nit__parser_prod___APlusExpr___init_aplusexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TPlus */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:APlusExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4298);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4299);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4300);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:APlusExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4301);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TPlus> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TPlus> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4302);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4303);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#replace_child for (self: APlusExpr, ANode, nullable ANode) */
-void nit__parser_prod___APlusExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4308);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 4309);
-fatal_exit(1);
-}
-{
-nit__parser_prod___APlusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_expr= on <self:APlusExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:APlusExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4312);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TPlus */
-cltype14 = type_nit__TPlus.color;
-idtype15 = type_nit__TPlus.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TPlus", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4313);
-fatal_exit(1);
-}
-{
-nit__parser_prod___APlusExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_op= on <self:APlusExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4316);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4317);
-fatal_exit(1);
-}
-{
-nit__parser_prod___APlusExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: APlusExpr, AExpr) */
-void nit__parser_prod___APlusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#n_op= for (self: APlusExpr, Token) */
-void nit__parser_prod___APlusExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:APlusExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#n_expr2= for (self: APlusExpr, AExpr) */
-void nit__parser_prod___APlusExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#APlusExpr#visit_all for (self: APlusExpr, Visitor) */
-void nit__parser_prod___APlusExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4341);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:APlusExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4342);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4343);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#init_aminusexpr for (self: AMinusExpr, nullable AExpr, nullable TMinus, nullable AExpr) */
-void nit__parser_prod___AMinusExpr___init_aminusexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TMinus */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AMinusExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4353);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4354);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4355);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AMinusExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4356);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TMinus> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TMinus> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4357);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4358);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#replace_child for (self: AMinusExpr, ANode, nullable ANode) */
-void nit__parser_prod___AMinusExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4363);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 4364);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AMinusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_expr= on <self:AMinusExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AMinusExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4367);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TMinus */
-cltype14 = type_nit__TMinus.color;
-idtype15 = type_nit__TMinus.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TMinus", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4368);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AMinusExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_op= on <self:AMinusExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4371);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4372);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AMinusExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: AMinusExpr, AExpr) */
-void nit__parser_prod___AMinusExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#n_op= for (self: AMinusExpr, Token) */
-void nit__parser_prod___AMinusExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AMinusExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#n_expr2= for (self: AMinusExpr, AExpr) */
-void nit__parser_prod___AMinusExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AMinusExpr#visit_all for (self: AMinusExpr, Visitor) */
-void nit__parser_prod___AMinusExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4396);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AMinusExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4397);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4398);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: AStarshipExpr, nullable AExpr, nullable TStarship, nullable AExpr) */
-void nit__parser_prod___AStarshipExpr___init_astarshipexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TStarship */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AStarshipExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4408);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4409);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4410);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AStarshipExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4411);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TStarship> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TStarship> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4412);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4413);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#replace_child for (self: AStarshipExpr, ANode, nullable ANode) */
-void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4418);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 4419);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AStarshipExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_expr= on <self:AStarshipExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarshipExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4422);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TStarship */
-cltype14 = type_nit__TStarship.color;
-idtype15 = type_nit__TStarship.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TStarship", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4423);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AStarshipExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_op= on <self:AStarshipExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4426);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4427);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AStarshipExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: AStarshipExpr, AExpr) */
-void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#n_op= for (self: AStarshipExpr, Token) */
-void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AStarshipExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#n_expr2= for (self: AStarshipExpr, AExpr) */
-void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarshipExpr#visit_all for (self: AStarshipExpr, Visitor) */
-void nit__parser_prod___AStarshipExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4451);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarshipExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4452);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4453);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#init_astarexpr for (self: AStarExpr, nullable AExpr, nullable TStar, nullable AExpr) */
-void nit__parser_prod___AStarExpr___init_astarexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TStar */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AStarExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4463);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4464);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4465);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AStarExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4466);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TStar> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TStar> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4467);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4468);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#replace_child for (self: AStarExpr, ANode, nullable ANode) */
-void nit__parser_prod___AStarExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4473);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 4474);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AStarExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_expr= on <self:AStarExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4477);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TStar */
-cltype14 = type_nit__TStar.color;
-idtype15 = type_nit__TStar.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TStar", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4478);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AStarExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_op= on <self:AStarExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4481);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4482);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AStarExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: AStarExpr, AExpr) */
-void nit__parser_prod___AStarExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#n_op= for (self: AStarExpr, Token) */
-void nit__parser_prod___AStarExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AStarExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#n_expr2= for (self: AStarExpr, AExpr) */
-void nit__parser_prod___AStarExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarExpr#visit_all for (self: AStarExpr, Visitor) */
-void nit__parser_prod___AStarExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4506);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4507);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4508);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#init_astarstarexpr for (self: AStarstarExpr, nullable AExpr, nullable TStarstar, nullable AExpr) */
-void nit__parser_prod___AStarstarExpr___init_astarstarexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TStarstar */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:AStarstarExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4518);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4519);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4520);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:AStarstarExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4521);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TStarstar> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TStarstar> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4522);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4523);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#replace_child for (self: AStarstarExpr, ANode, nullable ANode) */
-void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4528);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 4529);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AStarstarExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_expr= on <self:AStarstarExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarstarExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4532);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TStarstar */
-cltype14 = type_nit__TStarstar.color;
-idtype15 = type_nit__TStarstar.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TStarstar", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4533);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AStarstarExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_op= on <self:AStarstarExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarstarExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4536);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4537);
-fatal_exit(1);
-}
-{
-nit__parser_prod___AStarstarExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: AStarstarExpr, AExpr) */
-void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#n_op= for (self: AStarstarExpr, Token) */
-void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:AStarstarExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#n_expr2= for (self: AStarstarExpr, AExpr) */
-void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#AStarstarExpr#visit_all for (self: AStarstarExpr, Visitor) */
-void nit__parser_prod___AStarstarExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4561);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:AStarstarExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4562);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarstarExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4563);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#init_aslashexpr for (self: ASlashExpr, nullable AExpr, nullable TSlash, nullable AExpr) */
-void nit__parser_prod___ASlashExpr___init_aslashexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TSlash */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:ASlashExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4573);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4574);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4575);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:ASlashExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4576);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TSlash> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TSlash> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4577);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4578);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#replace_child for (self: ASlashExpr, ANode, nullable ANode) */
-void nit__parser_prod___ASlashExpr___nit__parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
-val* var_old_child /* var old_child: ANode */;
-val* var_new_child /* var new_child: nullable ANode */;
-val* var /* : AExpr */;
-short int var1 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-val* var7 /* : Token */;
-short int var8 /* : Bool */;
-short int var10 /* : Bool */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-const char* var_class_name16;
-val* var17 /* : AExpr */;
-short int var18 /* : Bool */;
-short int var20 /* : Bool */;
-short int var22 /* : Bool */;
-short int var23 /* : Bool */;
-int cltype24;
-int idtype25;
-const char* var_class_name26;
-var_old_child = p0;
-var_new_child = p1;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4583);
-fatal_exit(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> */
-var5 = var == var_other;
-var3 = var5;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-}
-var1 = var3;
-goto RET_LABEL2;
-RET_LABEL2:(void)0;
-}
-}
-if (var1){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype = type_nit__AExpr.color;
-idtype = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var6 = 0;
-} else {
-if(cltype >= var_new_child->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_new_child->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-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", FILE_nit__parser_prod, 4584);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ASlashExpr___nit__parser_nodes__ASendExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ASlashExpr#n_expr= on <self:ASlashExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var7 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ASlashExpr> */
-if (unlikely(var7 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4587);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var7,var_old_child) on <var7:Token> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:Token> */
-var12 = var7 == var_other;
-var10 = var12;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-}
-var8 = var10;
-goto RET_LABEL9;
-RET_LABEL9:(void)0;
-}
-}
-if (var8){
-/* <var_new_child:nullable ANode> isa TSlash */
-cltype14 = type_nit__TSlash.color;
-idtype15 = type_nit__TSlash.id;
-if(var_new_child == NULL) {
-var13 = 0;
-} else {
-if(cltype14 >= var_new_child->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_new_child->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-var_class_name16 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TSlash", var_class_name16);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4588);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ASlashExpr___nit__parser_nodes__ABinopExpr__n_op_61d(self, var_new_child); /* Direct call parser_prod#ASlashExpr#n_op= on <self:ASlashExpr>*/
-}
-goto RET_LABEL;
-} else {
-}
-var17 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
-if (unlikely(var17 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4591);
-fatal_exit(1);
-}
-{
-{ /* Inline kernel#Object#== (var17,var_old_child) on <var17:AExpr> */
-var_other = var_old_child;
-{
-{ /* Inline kernel#Object#is_same_instance (var17,var_other) on <var17:AExpr> */
-var22 = var17 == var_other;
-var20 = var22;
-goto RET_LABEL21;
-RET_LABEL21:(void)0;
-}
-}
-var18 = var20;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-}
-if (var18){
-/* <var_new_child:nullable ANode> isa AExpr */
-cltype24 = type_nit__AExpr.color;
-idtype25 = type_nit__AExpr.id;
-if(var_new_child == NULL) {
-var23 = 0;
-} else {
-if(cltype24 >= var_new_child->type->table_size) {
-var23 = 0;
-} else {
-var23 = var_new_child->type->type_table[cltype24] == idtype25;
-}
-}
-if (unlikely(!var23)) {
-var_class_name26 = var_new_child == NULL ? "null" : var_new_child->type->name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4592);
-fatal_exit(1);
-}
-{
-nit__parser_prod___ASlashExpr___nit__parser_nodes__ABinopExpr__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#n_expr= for (self: ASlashExpr, AExpr) */
-void nit__parser_prod___ASlashExpr___nit__parser_nodes__ASendExpr__n_expr_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#n_op= for (self: ASlashExpr, Token) */
-void nit__parser_prod___ASlashExpr___nit__parser_nodes__ABinopExpr__n_op_61d(val* self, val* p0) {
-val* var_node /* var node: Token */;
-var_node = p0;
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_node; /* _n_op on <self:ASlashExpr> */
-{
-{ /* Inline parser_nodes#ANode#parent= (var_node,self) on <var_node:Token> */
-var_node->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:Token> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#n_expr2= for (self: ASlashExpr, AExpr) */
-void nit__parser_prod___ASlashExpr___nit__parser_nodes__ABinopExpr__n_expr2_61d(val* self, val* p0) {
-val* var_node /* var node: AExpr */;
-var_node = p0;
-self->attrs[COLOR_nit__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_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_node:AExpr> */
-RET_LABEL1:(void)0;
-}
-}
-RET_LABEL:;
-}
-/* method parser_prod#ASlashExpr#visit_all for (self: ASlashExpr, Visitor) */
-void nit__parser_prod___ASlashExpr___nit__parser_nodes__ANode__visit_all(val* self, val* p0) {
-val* var_v /* var v: Visitor */;
-val* var /* : AExpr */;
-val* var1 /* : Token */;
-val* var2 /* : AExpr */;
-var_v = p0;
-var = self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4616);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var1 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val; /* _n_op on <self:ASlashExpr> */
-if (unlikely(var1 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_op");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4617);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-var2 = self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
-if (unlikely(var2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4618);
-fatal_exit(1);
-}
-{
-nit___nit__Visitor___enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
-}
-RET_LABEL:;
-}
-/* method parser_prod#APercentExpr#init_apercentexpr for (self: APercentExpr, nullable AExpr, nullable TPercent, nullable AExpr) */
-void nit__parser_prod___APercentExpr___init_apercentexpr(val* self, val* p0, val* p1, val* p2) {
-val* var_n_expr /* var n_expr: nullable AExpr */;
-val* var_n_op /* var n_op: nullable TPercent */;
-val* var_n_expr2 /* var n_expr2: nullable AExpr */;
-{
-{ /* Inline kernel#Object#init (self) on <self:APercentExpr> */
-RET_LABEL1:(void)0;
-}
-}
-var_n_expr = p0;
-var_n_op = p1;
-var_n_expr2 = p2;
-if (unlikely(var_n_expr == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4628);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4629);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr:nullable AExpr> */
-RET_LABEL2:(void)0;
-}
-}
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4630);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__parser_nodes__ABinopExpr___n_op].val = var_n_op; /* _n_op on <self:APercentExpr> */
-if (var_n_op == NULL) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4631);
-fatal_exit(1);
-} else {
-{ /* Inline parser_nodes#ANode#parent= (var_n_op,self) on <var_n_op:nullable TPercent> */
-if (unlikely(var_n_op == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Receiver is null");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_op->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_op:nullable TPercent> */
-RET_LABEL3:(void)0;
-}
-}
-if (unlikely(var_n_expr2 == NULL)) {
-PRINT_ERROR("Runtime error: %s", "Cast failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_prod, 4632);
-fatal_exit(1);
-}
-self->attrs[COLOR_nit__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", FILE_nit__parser_prod, 4633);
-fatal_exit(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", FILE_nit__parser_nodes, 46);
-fatal_exit(1);
-}
-var_n_expr2->attrs[COLOR_nit__parser_nodes__ANode___parent].val = self; /* _parent on <var_n_expr2:nullable AExpr> */
-RET_LABEL4:(void)0;
-}
-}
-RET_LABEL:;
-}