X-Git-Url: http://nitlanguage.org diff --git a/c_src/parser_prod.sep.3.c b/c_src/parser_prod.sep.3.c index 2e0b3de..cb90f0a 100644 --- a/c_src/parser_prod.sep.3.c +++ b/c_src/parser_prod.sep.3.c @@ -1,9 +1,183 @@ #include "parser_prod.sep.0.h" -/* method parser_prod#ASignature#replace_child for (self: ASignature, ANode, nullable ANode) */ -void parser_prod__ASignature__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AForExpr#init_aforexpr for (self: AForExpr, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */ +void parser_prod__AForExpr__init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { +val* var_n_kwfor /* var n_kwfor: nullable TKwfor */; +val* var_n_ids /* var n_ids: Collection[Object] */; +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_kwdo /* var n_kwdo: nullable TKwdo */; +val* var_n_block /* var n_block: nullable AExpr */; +val* var_n_label /* var n_label: nullable ALabel */; +val* var /* : ANodes[TId] */; +val* var3 /* : ANodes[TId] */; +val* var6 /* : null */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +val* var14 /* : null */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; +short int var20 /* : Bool */; +var_n_kwfor = p0; +var_n_ids = p1; +var_n_expr = p2; +var_n_kwdo = p3; +var_n_block = p4; +var_n_label = p5; +if (unlikely(var_n_kwfor == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2766); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_n_kwfor; /* _n_kwfor on */ +if (var_n_kwfor == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2767); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwfor,self) on */ +if (unlikely(var_n_kwfor == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwfor->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +{ +{ /* Inline parser_nodes#AForExpr#n_ids (self) on */ +var3 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1426); +show_backtrace(1); +} +var = var3; +RET_LABEL2:(void)0; +} +} +{ +parser_nodes__ANodes__unsafe_add_all(var, var_n_ids); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ +} +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2769); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2770); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL4:(void)0; +} +} +if (unlikely(var_n_kwdo == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2771); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on */ +if (var_n_kwdo == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2772); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on */ +if (unlikely(var_n_kwdo == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwdo->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL5:(void)0; +} +} +self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_n_block; /* _n_block on */ +var6 = NULL; +if (var_n_block == NULL) { +var7 = 0; /* is null */ +} else { +var7 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_block,var6) on */ +var_other = var6; +{ +var11 = ((short int (*)(val*, val*))(var_n_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_block, var_other) /* == on */; +var10 = var11; +} +var12 = !var10; +var8 = var12; +goto RET_LABEL9; +RET_LABEL9:(void)0; +} +var7 = var8; +} +if (var7){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on */ +var_n_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL13:(void)0; +} +} +} else { +} +self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ +var14 = NULL; +if (var_n_label == NULL) { +var15 = 0; /* is null */ +} else { +var15 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_label,var14) on */ +var_other = var14; +{ +var19 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on */; +var18 = var19; +} +var20 = !var18; +var16 = var20; +goto RET_LABEL17; +RET_LABEL17:(void)0; +} +var15 = var16; +} +if (var15){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on */ +var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL21:(void)0; +} +} +} else { +} +RET_LABEL:; +} +/* method parser_prod#AForExpr#init_aforexpr for (self: Object, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */ +void VIRTUAL_parser_prod__AForExpr__init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { +parser_prod__AForExpr__init_aforexpr(self, p0, p1, p2, p3, p4, p5); /* Direct call parser_prod#AForExpr#init_aforexpr on */ +RET_LABEL:; +} +/* method parser_prod#AForExpr#replace_child for (self: AForExpr, ANode, nullable ANode) */ +void parser_prod__AForExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : nullable TOpar */; +val* var /* : TKwfor */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -13,10 +187,10 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : ANodes[AParam] */; -val* var10 /* : ANodes[AParam] */; +val* var8 /* : ANodes[TId] */; +val* var10 /* : ANodes[TId] */; short int var11 /* : Bool */; -val* var12 /* : nullable TCpar */; +val* var12 /* : AExpr */; short int var13 /* : Bool */; short int var14 /* : Bool */; short int var16 /* : Bool */; @@ -25,7 +199,7 @@ short int var19 /* : Bool */; int cltype20; int idtype21; const char* var_class_name22; -val* var23 /* : nullable AType */; +val* var23 /* : TKwdo */; short int var24 /* : Bool */; short int var25 /* : Bool */; short int var27 /* : Bool */; @@ -34,16 +208,37 @@ short int var30 /* : Bool */; int cltype31; int idtype32; const char* var_class_name33; +val* var34 /* : nullable AExpr */; +short int var35 /* : Bool */; +short int var36 /* : Bool */; +short int var38 /* : Bool */; +short int var40 /* : Bool */; +short int var41 /* : Bool */; +int cltype42; +int idtype43; +const char* var_class_name44; +val* var45 /* : nullable ALabel */; +short int var46 /* : Bool */; +short int var47 /* : Bool */; +short int var49 /* : Bool */; +short int var51 /* : Bool */; +short int var52 /* : Bool */; +int cltype53; +int idtype54; +const char* var_class_name55; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ASignature___n_opar].val; /* _n_opar on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwfor"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2781); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -57,11 +252,11 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa nullable TOpar */ -cltype = type_nullable_parser_nodes__TOpar.color; -idtype = type_nullable_parser_nodes__TOpar.id; +/* isa TKwfor */ +cltype = type_parser_nodes__TKwfor.color; +idtype = type_parser_nodes__TKwfor.id; if(var_new_child == NULL) { -var7 = 1; +var7 = 0; } else { if(cltype >= var_new_child->type->table_size) { var7 = 0; @@ -71,22 +266,22 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TOpar", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2743); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwfor", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2782); show_backtrace(1); } { -parser_prod__ASignature__n_opar_61d(self, var_new_child); /* Direct call parser_prod#ASignature#n_opar= on */ +parser_prod__AForExpr__n_kwfor_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwfor= on */ } goto RET_LABEL; } else { } { -{ /* Inline parser_nodes#ASignature#n_params (self) on */ -var10 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on */ +{ /* Inline parser_nodes#AForExpr#n_ids (self) on */ +var10 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on */ if (unlikely(var10 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1426); show_backtrace(1); } var8 = var10; @@ -100,14 +295,17 @@ if (var11){ goto RET_LABEL; } else { } -var12 = self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val; /* _n_cpar on */ -if (var12 == NULL) { -var13 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var12,var_old_child) on */ +var12 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2786); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var12,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var12,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var12,var_other) on */ var18 = var12 == var_other; var16 = var18; goto RET_LABEL17; @@ -121,11 +319,11 @@ RET_LABEL15:(void)0; var13 = var14; } if (var13){ -/* isa nullable TCpar */ -cltype20 = type_nullable_parser_nodes__TCpar.color; -idtype21 = type_nullable_parser_nodes__TCpar.id; +/* isa AExpr */ +cltype20 = type_parser_nodes__AExpr.color; +idtype21 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var19 = 1; +var19 = 0; } else { if(cltype20 >= var_new_child->type->table_size) { var19 = 0; @@ -135,24 +333,27 @@ var19 = var_new_child->type->type_table[cltype20] == idtype21; } if (unlikely(!var19)) { var_class_name22 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TCpar", var_class_name22); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2748); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name22); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2787); show_backtrace(1); } { -parser_prod__ASignature__n_cpar_61d(self, var_new_child); /* Direct call parser_prod#ASignature#n_cpar= on */ +parser_prod__AForExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_expr= on */ } goto RET_LABEL; } else { } -var23 = self->attrs[COLOR_parser_nodes__ASignature___n_type].val; /* _n_type on */ -if (var23 == NULL) { -var24 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var23,var_old_child) on */ +var23 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on */ +if (unlikely(var23 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2790); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var23,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var23,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var23,var_other) on */ var29 = var23 == var_other; var27 = var29; goto RET_LABEL28; @@ -166,11 +367,11 @@ RET_LABEL26:(void)0; var24 = var25; } if (var24){ -/* isa nullable AType */ -cltype31 = type_nullable_parser_nodes__AType.color; -idtype32 = type_nullable_parser_nodes__AType.id; +/* isa TKwdo */ +cltype31 = type_parser_nodes__TKwdo.color; +idtype32 = type_parser_nodes__TKwdo.id; if(var_new_child == NULL) { -var30 = 1; +var30 = 0; } else { if(cltype31 >= var_new_child->type->table_size) { var30 = 0; @@ -180,74 +381,170 @@ var30 = var_new_child->type->type_table[cltype31] == idtype32; } if (unlikely(!var30)) { var_class_name33 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AType", var_class_name33); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2752); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name33); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2791); show_backtrace(1); } { -parser_prod__ASignature__n_type_61d(self, var_new_child); /* Direct call parser_prod#ASignature#n_type= on */ +parser_prod__AForExpr__n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwdo= on */ } goto RET_LABEL; } else { } -RET_LABEL:; +var34 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on */ +if (var34 == NULL) { +var35 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var34,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var34,var_other) on */ +var40 = var34 == var_other; +var38 = var40; +goto RET_LABEL39; +RET_LABEL39:(void)0; } -/* method parser_prod#ASignature#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ASignature__replace_child(val* self, val* p0, val* p1) { -parser_prod__ASignature__replace_child(self, p0, p1); /* Direct call parser_prod#ASignature#replace_child on */ -RET_LABEL:; } -/* method parser_prod#ASignature#n_opar= for (self: ASignature, nullable TOpar) */ -void parser_prod__ASignature__n_opar_61d(val* self, val* p0) { -val* var_node /* var node: nullable TOpar */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ASignature___n_opar].val = var_node; /* _n_opar on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ +var36 = var38; +goto RET_LABEL37; +RET_LABEL37:(void)0; +} +var35 = var36; +} +if (var35){ +/* isa nullable AExpr */ +cltype42 = type_nullable_parser_nodes__AExpr.color; +idtype43 = type_nullable_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var41 = 1; } else { -var1 = 1; /* arg is null and recv is not */ +if(cltype42 >= var_new_child->type->table_size) { +var41 = 0; +} else { +var41 = var_new_child->type->type_table[cltype42] == idtype43; } -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; } -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; +if (unlikely(!var41)) { +var_class_name44 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name44); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2795); +show_backtrace(1); } -var1 = var2; +{ +parser_prod__AForExpr__n_block_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_block= on */ } -if (var1){ +goto RET_LABEL; +} else { +} +var45 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +if (var45 == NULL) { +var46 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var45,var_old_child) on */ +var_other = var_old_child; { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; +{ /* Inline kernel#Object#is_same_instance (var45,var_other) on */ +var51 = var45 == var_other; +var49 = var51; +goto RET_LABEL50; +RET_LABEL50:(void)0; +} +} +var47 = var49; +goto RET_LABEL48; +RET_LABEL48:(void)0; +} +var46 = var47; +} +if (var46){ +/* isa nullable ALabel */ +cltype53 = type_nullable_parser_nodes__ALabel.color; +idtype54 = type_nullable_parser_nodes__ALabel.id; +if(var_new_child == NULL) { +var52 = 1; +} else { +if(cltype53 >= var_new_child->type->table_size) { +var52 = 0; +} else { +var52 = var_new_child->type->type_table[cltype53] == idtype54; +} +} +if (unlikely(!var52)) { +var_class_name55 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name55); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2799); +show_backtrace(1); } +{ +parser_prod__AForExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_label= on */ } +goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ASignature#n_opar= for (self: Object, nullable TOpar) */ -void VIRTUAL_parser_prod__ASignature__n_opar_61d(val* self, val* p0) { -parser_prod__ASignature__n_opar_61d(self, p0); /* Direct call parser_prod#ASignature#n_opar= on */ +/* method parser_prod#AForExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AForExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AForExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AForExpr#replace_child on */ +RET_LABEL:; +} +/* method parser_prod#AForExpr#n_kwfor= for (self: AForExpr, TKwfor) */ +void parser_prod__AForExpr__n_kwfor_61d(val* self, val* p0) { +val* var_node /* var node: TKwfor */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_node; /* _n_kwfor on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AForExpr#n_kwfor= for (self: Object, TKwfor) */ +void VIRTUAL_parser_prod__AForExpr__n_kwfor_61d(val* self, val* p0) { +parser_prod__AForExpr__n_kwfor_61d(self, p0); /* Direct call parser_prod#AForExpr#n_kwfor= on */ +RET_LABEL:; +} +/* method parser_prod#AForExpr#n_expr= for (self: AForExpr, AExpr) */ +void parser_prod__AForExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_node; /* _n_expr on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AForExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AForExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AForExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AForExpr#n_expr= on */ +RET_LABEL:; +} +/* method parser_prod#AForExpr#n_kwdo= for (self: AForExpr, TKwdo) */ +void parser_prod__AForExpr__n_kwdo_61d(val* self, val* p0) { +val* var_node /* var node: TKwdo */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_node; /* _n_kwdo on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AForExpr#n_kwdo= for (self: Object, TKwdo) */ +void VIRTUAL_parser_prod__AForExpr__n_kwdo_61d(val* self, val* p0) { +parser_prod__AForExpr__n_kwdo_61d(self, p0); /* Direct call parser_prod#AForExpr#n_kwdo= on */ RET_LABEL:; } -/* method parser_prod#ASignature#n_cpar= for (self: ASignature, nullable TCpar) */ -void parser_prod__ASignature__n_cpar_61d(val* self, val* p0) { -val* var_node /* var node: nullable TCpar */; +/* method parser_prod#AForExpr#n_block= for (self: AForExpr, nullable AExpr) */ +void parser_prod__AForExpr__n_block_61d(val* self, val* p0) { +val* var_node /* var node: nullable AExpr */; val* var /* : null */; short int var1 /* : Bool */; short int var2 /* : Bool */; @@ -256,7 +553,7 @@ short int var4 /* : Bool */; short int var5 /* : Bool */; short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val = var_node; /* _n_cpar on */ +self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_node; /* _n_block on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ @@ -264,10 +561,10 @@ var1 = 0; /* is null */ var1 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ +{ /* Inline kernel#Object#!= (var_node,var) on */ var_other = var; { -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; var4 = var5; } var6 = !var4; @@ -279,8 +576,8 @@ var1 = var2; } if (var1){ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL7:(void)0; } } @@ -288,14 +585,14 @@ RET_LABEL7:(void)0; } RET_LABEL:; } -/* method parser_prod#ASignature#n_cpar= for (self: Object, nullable TCpar) */ -void VIRTUAL_parser_prod__ASignature__n_cpar_61d(val* self, val* p0) { -parser_prod__ASignature__n_cpar_61d(self, p0); /* Direct call parser_prod#ASignature#n_cpar= on */ +/* method parser_prod#AForExpr#n_block= for (self: Object, nullable AExpr) */ +void VIRTUAL_parser_prod__AForExpr__n_block_61d(val* self, val* p0) { +parser_prod__AForExpr__n_block_61d(self, p0); /* Direct call parser_prod#AForExpr#n_block= on */ RET_LABEL:; } -/* method parser_prod#ASignature#n_type= for (self: ASignature, nullable AType) */ -void parser_prod__ASignature__n_type_61d(val* self, val* p0) { -val* var_node /* var node: nullable AType */; +/* method parser_prod#AForExpr#n_label= for (self: AForExpr, nullable ALabel) */ +void parser_prod__AForExpr__n_label_61d(val* self, val* p0) { +val* var_node /* var node: nullable ALabel */; val* var /* : null */; short int var1 /* : Bool */; short int var2 /* : Bool */; @@ -304,7 +601,7 @@ short int var4 /* : Bool */; short int var5 /* : Bool */; short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ASignature___n_type].val = var_node; /* _n_type on */ +self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ @@ -312,10 +609,10 @@ var1 = 0; /* is null */ var1 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ +{ /* Inline kernel#Object#!= (var_node,var) on */ var_other = var; { -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; var4 = var5; } var6 = !var4; @@ -327,8 +624,8 @@ var1 = var2; } if (var1){ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL7:(void)0; } } @@ -336,30 +633,37 @@ RET_LABEL7:(void)0; } RET_LABEL:; } -/* method parser_prod#ASignature#n_type= for (self: Object, nullable AType) */ -void VIRTUAL_parser_prod__ASignature__n_type_61d(val* self, val* p0) { -parser_prod__ASignature__n_type_61d(self, p0); /* Direct call parser_prod#ASignature#n_type= on */ +/* method parser_prod#AForExpr#n_label= for (self: Object, nullable ALabel) */ +void VIRTUAL_parser_prod__AForExpr__n_label_61d(val* self, val* p0) { +parser_prod__AForExpr__n_label_61d(self, p0); /* Direct call parser_prod#AForExpr#n_label= on */ RET_LABEL:; } -/* method parser_prod#ASignature#visit_all for (self: ASignature, Visitor) */ -void parser_prod__ASignature__visit_all(val* self, val* p0) { +/* method parser_prod#AForExpr#visit_all for (self: AForExpr, Visitor) */ +void parser_prod__AForExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : nullable TOpar */; -val* var1 /* : ANodes[AParam] */; -val* var3 /* : ANodes[AParam] */; -val* var4 /* : nullable TCpar */; -val* var5 /* : nullable AType */; +val* var /* : TKwfor */; +val* var1 /* : ANodes[TId] */; +val* var3 /* : ANodes[TId] */; +val* var4 /* : AExpr */; +val* var5 /* : TKwdo */; +val* var6 /* : nullable AExpr */; +val* var7 /* : nullable ALabel */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ASignature___n_opar].val; /* _n_opar on */ +var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwfor"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2833); +show_backtrace(1); +} { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } { -{ /* Inline parser_nodes#ASignature#n_params (self) on */ -var3 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on */ +{ /* Inline parser_nodes#AForExpr#n_ids (self) on */ +var3 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on */ if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1426); show_backtrace(1); } var1 = var3; @@ -367,29 +671,47 @@ RET_LABEL2:(void)0; } } { -parser_nodes__ANodes__visit_all(var1, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ +parser_nodes__ANodes__visit_all(var1, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ +} +var4 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2835); +show_backtrace(1); } -var4 = self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val; /* _n_cpar on */ { parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var5 = self->attrs[COLOR_parser_nodes__ASignature___n_type].val; /* _n_type on */ +var5 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2836); +show_backtrace(1); +} { parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on */ } +var6 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var6); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var7 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var7); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#ASignature#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ASignature__visit_all(val* self, val* p0) { -parser_prod__ASignature__visit_all(self, p0); /* Direct call parser_prod#ASignature#visit_all on */ +/* method parser_prod#AForExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AForExpr__visit_all(val* self, val* p0) { +parser_prod__AForExpr__visit_all(self, p0); /* Direct call parser_prod#AForExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AParam#init_aparam for (self: AParam, nullable TId, nullable AType, nullable TDotdotdot, nullable AAnnotations) */ -void parser_prod__AParam__init_aparam(val* self, val* p0, val* p1, val* p2, val* p3) { +/* method parser_prod#AAssertExpr#init_aassertexpr for (self: AAssertExpr, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */ +void parser_prod__AAssertExpr__init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +val* var_n_kwassert /* var n_kwassert: nullable TKwassert */; val* var_n_id /* var n_id: nullable TId */; -val* var_n_type /* var n_type: nullable AType */; -val* var_n_dotdotdot /* var n_dotdotdot: nullable TDotdotdot */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_else /* var n_else: nullable AExpr */; val* var /* : null */; short int var2 /* : Bool */; short int var3 /* : Bool */; @@ -397,55 +719,49 @@ val* var_other /* var other: nullable Object */; short int var5 /* : Bool */; short int var6 /* : Bool */; short int var7 /* : Bool */; -val* var9 /* : null */; -short int var10 /* : Bool */; +val* var10 /* : null */; short int var11 /* : Bool */; -short int var13 /* : Bool */; +short int var12 /* : Bool */; short int var14 /* : Bool */; short int var15 /* : Bool */; -val* var17 /* : null */; -short int var18 /* : Bool */; -short int var19 /* : Bool */; -short int var21 /* : Bool */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; -var_n_id = p0; -var_n_type = p1; -var_n_dotdotdot = p2; -var_n_annotations = p3; -if (unlikely(var_n_id == NULL)) { +short int var16 /* : Bool */; +var_n_kwassert = p0; +var_n_id = p1; +var_n_expr = p2; +var_n_else = p3; +if (unlikely(var_n_kwassert == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2790); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2849); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AParam___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { +self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_n_kwassert; /* _n_kwassert on */ +if (var_n_kwassert == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2791); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2850); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ -if (unlikely(var_n_id == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwassert,self) on */ +if (unlikely(var_n_kwassert == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_kwassert->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -self->attrs[COLOR_parser_nodes__AParam___n_type].val = var_n_type; /* _n_type on */ +self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_n_id; /* _n_id on */ var = NULL; -if (var_n_type == NULL) { +if (var_n_id == NULL) { var2 = 0; /* is null */ } else { var2 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_n_type,var) on */ +{ /* Inline kernel#Object#!= (var_n_id,var) on */ var_other = var; { -var6 = ((short int (*)(val*, val*))(var_n_type->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_type, var_other) /* == on */; +var6 = ((short int (*)(val*, val*))(var_n_id->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_id, var_other) /* == on */; var5 = var6; } var7 = !var5; @@ -457,85 +773,76 @@ var2 = var3; } if (var2){ { -{ /* Inline parser_nodes#ANode#parent= (var_n_type,self) on */ -var_n_type->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL8:(void)0; } } } else { } -self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val = var_n_dotdotdot; /* _n_dotdotdot on */ -var9 = NULL; -if (var_n_dotdotdot == NULL) { -var10 = 0; /* is null */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2853); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2854); +show_backtrace(1); } else { -var10 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_n_dotdotdot,var9) on */ -var_other = var9; -{ -var14 = ((short int (*)(val*, val*))(var_n_dotdotdot->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_dotdotdot, var_other) /* == on */; -var13 = var14; +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL9:(void)0; } -var15 = !var13; -var11 = var15; -goto RET_LABEL12; -RET_LABEL12:(void)0; } -var10 = var11; -} -if (var10){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_dotdotdot,self) on */ -var_n_dotdotdot->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL16:(void)0; -} -} -} else { -} -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var17 = NULL; -if (var_n_annotations == NULL) { -var18 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_n_else; /* _n_else on */ +var10 = NULL; +if (var_n_else == NULL) { +var11 = 0; /* is null */ } else { -var18 = 1; /* arg is null and recv is not */ +var11 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_n_annotations,var17) on */ -var_other = var17; +{ /* Inline kernel#Object#!= (var_n_else,var10) on */ +var_other = var10; { -var22 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; -var21 = var22; +var15 = ((short int (*)(val*, val*))(var_n_else->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_else, var_other) /* == on */; +var14 = var15; } -var23 = !var21; -var19 = var23; -goto RET_LABEL20; -RET_LABEL20:(void)0; +var16 = !var14; +var12 = var16; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -var18 = var19; +var11 = var12; } -if (var18){ +if (var11){ { -{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ -var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL24:(void)0; +{ /* Inline parser_nodes#ANode#parent= (var_n_else,self) on */ +var_n_else->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL17:(void)0; } } } else { } RET_LABEL:; } -/* method parser_prod#AParam#init_aparam for (self: Object, nullable TId, nullable AType, nullable TDotdotdot, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AParam__init_aparam(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__AParam__init_aparam(self, p0, p1, p2, p3); /* Direct call parser_prod#AParam#init_aparam on */ +/* method parser_prod#AAssertExpr#init_aassertexpr for (self: Object, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AAssertExpr__init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +parser_prod__AAssertExpr__init_aassertexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on */ RET_LABEL:; } -/* method parser_prod#AParam#replace_child for (self: AParam, ANode, nullable ANode) */ -void parser_prod__AParam__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AAssertExpr#replace_child for (self: AAssertExpr, ANode, nullable ANode) */ +void parser_prod__AAssertExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TId */; +val* var /* : TKwassert */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -545,7 +852,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : nullable AType */; +val* var8 /* : nullable TId */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -554,7 +861,7 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; -val* var19 /* : nullable TDotdotdot */; +val* var19 /* : AExpr */; short int var20 /* : Bool */; short int var21 /* : Bool */; short int var23 /* : Bool */; @@ -563,7 +870,7 @@ short int var26 /* : Bool */; int cltype27; int idtype28; const char* var_class_name29; -val* var30 /* : nullable AAnnotations */; +val* var30 /* : nullable AExpr */; short int var31 /* : Bool */; short int var32 /* : Bool */; short int var34 /* : Bool */; @@ -574,17 +881,17 @@ int idtype39; const char* var_class_name40; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AParam___n_id].val; /* _n_id on */ +var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2802); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwassert"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2861); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -598,9 +905,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TId */ -cltype = type_parser_nodes__TId.color; -idtype = type_parser_nodes__TId.id; +/* isa TKwassert */ +cltype = type_parser_nodes__TKwassert.color; +idtype = type_parser_nodes__TKwassert.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -612,24 +919,24 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2803); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwassert", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2862); show_backtrace(1); } { -parser_prod__AParam__n_id_61d(self, var_new_child); /* Direct call parser_prod#AParam#n_id= on */ +parser_prod__AAssertExpr__n_kwassert_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_kwassert= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AParam___n_type].val; /* _n_type on */ +var8 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on */ if (var8 == NULL) { var9 = 0; /* cannot be null */ } else { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -643,9 +950,9 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa nullable AType */ -cltype16 = type_nullable_parser_nodes__AType.color; -idtype17 = type_nullable_parser_nodes__AType.id; +/* isa nullable TId */ +cltype16 = type_nullable_parser_nodes__TId.color; +idtype17 = type_nullable_parser_nodes__TId.id; if(var_new_child == NULL) { var15 = 1; } else { @@ -657,24 +964,27 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AType", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2807); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2866); show_backtrace(1); } { -parser_prod__AParam__n_type_61d(self, var_new_child); /* Direct call parser_prod#AParam#n_type= on */ +parser_prod__AAssertExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_id= on */ } goto RET_LABEL; } else { } -var19 = self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val; /* _n_dotdotdot on */ -if (var19 == NULL) { -var20 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var19,var_old_child) on */ +var19 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2869); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var19,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ var25 = var19 == var_other; var23 = var25; goto RET_LABEL24; @@ -688,11 +998,11 @@ RET_LABEL22:(void)0; var20 = var21; } if (var20){ -/* isa nullable TDotdotdot */ -cltype27 = type_nullable_parser_nodes__TDotdotdot.color; -idtype28 = type_nullable_parser_nodes__TDotdotdot.id; +/* isa AExpr */ +cltype27 = type_parser_nodes__AExpr.color; +idtype28 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var26 = 1; +var26 = 0; } else { if(cltype27 >= var_new_child->type->table_size) { var26 = 0; @@ -702,24 +1012,24 @@ var26 = var_new_child->type->type_table[cltype27] == idtype28; } if (unlikely(!var26)) { var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TDotdotdot", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2811); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2870); show_backtrace(1); } { -parser_prod__AParam__n_dotdotdot_61d(self, var_new_child); /* Direct call parser_prod#AParam#n_dotdotdot= on */ +parser_prod__AAssertExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_expr= on */ } goto RET_LABEL; } else { } -var30 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +var30 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on */ if (var30 == NULL) { var31 = 0; /* cannot be null */ } else { -{ /* Inline kernel#Object#== (var30,var_old_child) on */ +{ /* Inline kernel#Object#== (var30,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ var36 = var30 == var_other; var34 = var36; goto RET_LABEL35; @@ -733,9 +1043,9 @@ RET_LABEL33:(void)0; var31 = var32; } if (var31){ -/* isa nullable AAnnotations */ -cltype38 = type_nullable_parser_nodes__AAnnotations.color; -idtype39 = type_nullable_parser_nodes__AAnnotations.id; +/* isa nullable AExpr */ +cltype38 = type_nullable_parser_nodes__AExpr.color; +idtype39 = type_nullable_parser_nodes__AExpr.id; if(var_new_child == NULL) { var37 = 1; } else { @@ -747,44 +1057,44 @@ var37 = var_new_child->type->type_table[cltype38] == idtype39; } if (unlikely(!var37)) { var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2815); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2874); show_backtrace(1); } { -parser_prod__AParam__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AParam#n_annotations= on */ +parser_prod__AAssertExpr__n_else_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_else= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AParam#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AParam__replace_child(val* self, val* p0, val* p1) { -parser_prod__AParam__replace_child(self, p0, p1); /* Direct call parser_prod#AParam#replace_child on */ +/* method parser_prod#AAssertExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AAssertExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AAssertExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAssertExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AParam#n_id= for (self: AParam, TId) */ -void parser_prod__AParam__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TId */; +/* method parser_prod#AAssertExpr#n_kwassert= for (self: AAssertExpr, TKwassert) */ +void parser_prod__AAssertExpr__n_kwassert_61d(val* self, val* p0) { +val* var_node /* var node: TKwassert */; var_node = p0; -self->attrs[COLOR_parser_nodes__AParam___n_id].val = var_node; /* _n_id on */ +self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_node; /* _n_kwassert on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#AParam#n_id= for (self: Object, TId) */ -void VIRTUAL_parser_prod__AParam__n_id_61d(val* self, val* p0) { -parser_prod__AParam__n_id_61d(self, p0); /* Direct call parser_prod#AParam#n_id= on */ +/* method parser_prod#AAssertExpr#n_kwassert= for (self: Object, TKwassert) */ +void VIRTUAL_parser_prod__AAssertExpr__n_kwassert_61d(val* self, val* p0) { +parser_prod__AAssertExpr__n_kwassert_61d(self, p0); /* Direct call parser_prod#AAssertExpr#n_kwassert= on */ RET_LABEL:; } -/* method parser_prod#AParam#n_type= for (self: AParam, nullable AType) */ -void parser_prod__AParam__n_type_61d(val* self, val* p0) { -val* var_node /* var node: nullable AType */; +/* method parser_prod#AAssertExpr#n_id= for (self: AAssertExpr, nullable TId) */ +void parser_prod__AAssertExpr__n_id_61d(val* self, val* p0) { +val* var_node /* var node: nullable TId */; val* var /* : null */; short int var1 /* : Bool */; short int var2 /* : Bool */; @@ -793,7 +1103,7 @@ short int var4 /* : Bool */; short int var5 /* : Bool */; short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__AParam___n_type].val = var_node; /* _n_type on */ +self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_node; /* _n_id on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ @@ -801,10 +1111,10 @@ var1 = 0; /* is null */ var1 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ +{ /* Inline kernel#Object#!= (var_node,var) on */ var_other = var; { -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; var4 = var5; } var6 = !var4; @@ -816,8 +1126,8 @@ var1 = var2; } if (var1){ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL7:(void)0; } } @@ -825,62 +1135,32 @@ RET_LABEL7:(void)0; } RET_LABEL:; } -/* method parser_prod#AParam#n_type= for (self: Object, nullable AType) */ -void VIRTUAL_parser_prod__AParam__n_type_61d(val* self, val* p0) { -parser_prod__AParam__n_type_61d(self, p0); /* Direct call parser_prod#AParam#n_type= on */ +/* method parser_prod#AAssertExpr#n_id= for (self: Object, nullable TId) */ +void VIRTUAL_parser_prod__AAssertExpr__n_id_61d(val* self, val* p0) { +parser_prod__AAssertExpr__n_id_61d(self, p0); /* Direct call parser_prod#AAssertExpr#n_id= on */ RET_LABEL:; } -/* method parser_prod#AParam#n_dotdotdot= for (self: AParam, nullable TDotdotdot) */ -void parser_prod__AParam__n_dotdotdot_61d(val* self, val* p0) { -val* var_node /* var node: nullable TDotdotdot */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +/* method parser_prod#AAssertExpr#n_expr= for (self: AAssertExpr, AExpr) */ +void parser_prod__AAssertExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val = var_node; /* _n_dotdotdot on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ +self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AParam#n_dotdotdot= for (self: Object, nullable TDotdotdot) */ -void VIRTUAL_parser_prod__AParam__n_dotdotdot_61d(val* self, val* p0) { -parser_prod__AParam__n_dotdotdot_61d(self, p0); /* Direct call parser_prod#AParam#n_dotdotdot= on */ +/* method parser_prod#AAssertExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AAssertExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AAssertExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AAssertExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AParam#n_annotations= for (self: AParam, nullable AAnnotations) */ -void parser_prod__AParam__n_annotations_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAnnotations */; +/* method parser_prod#AAssertExpr#n_else= for (self: AAssertExpr, nullable AExpr) */ +void parser_prod__AAssertExpr__n_else_61d(val* self, val* p0) { +val* var_node /* var node: nullable AExpr */; val* var /* : null */; short int var1 /* : Bool */; short int var2 /* : Bool */; @@ -889,7 +1169,7 @@ short int var4 /* : Bool */; short int var5 /* : Bool */; short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ +self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_node; /* _n_else on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ @@ -897,10 +1177,10 @@ var1 = 0; /* is null */ var1 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ +{ /* Inline kernel#Object#!= (var_node,var) on */ var_other = var; { -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; var4 = var5; } var6 = !var4; @@ -912,8 +1192,8 @@ var1 = var2; } if (var1){ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL7:(void)0; } } @@ -921,180 +1201,112 @@ RET_LABEL7:(void)0; } RET_LABEL:; } -/* method parser_prod#AParam#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AParam__n_annotations_61d(val* self, val* p0) { -parser_prod__AParam__n_annotations_61d(self, p0); /* Direct call parser_prod#AParam#n_annotations= on */ +/* method parser_prod#AAssertExpr#n_else= for (self: Object, nullable AExpr) */ +void VIRTUAL_parser_prod__AAssertExpr__n_else_61d(val* self, val* p0) { +parser_prod__AAssertExpr__n_else_61d(self, p0); /* Direct call parser_prod#AAssertExpr#n_else= on */ RET_LABEL:; } -/* method parser_prod#AParam#visit_all for (self: AParam, Visitor) */ -void parser_prod__AParam__visit_all(val* self, val* p0) { +/* method parser_prod#AAssertExpr#visit_all for (self: AAssertExpr, Visitor) */ +void parser_prod__AAssertExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TId */; -val* var1 /* : nullable AType */; -val* var2 /* : nullable TDotdotdot */; -val* var3 /* : nullable AAnnotations */; +val* var /* : TKwassert */; +val* var1 /* : nullable TId */; +val* var2 /* : AExpr */; +val* var3 /* : nullable AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AParam___n_id].val; /* _n_id on */ +var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2844); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwassert"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2903); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__AParam___n_type].val; /* _n_type on */ +var1 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on */ { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var2 = self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val; /* _n_dotdotdot on */ +var2 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2905); +show_backtrace(1); +} { parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +var3 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on */ { parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AParam#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AParam__visit_all(val* self, val* p0) { -parser_prod__AParam__visit_all(self, p0); /* Direct call parser_prod#AParam#visit_all on */ +/* method parser_prod#AAssertExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AAssertExpr__visit_all(val* self, val* p0) { +parser_prod__AAssertExpr__visit_all(self, p0); /* Direct call parser_prod#AAssertExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AType#init_atype for (self: AType, nullable TKwnullable, nullable TClassid, Collection[Object], nullable AAnnotations) */ -void parser_prod__AType__init_atype(val* self, val* p0, val* p1, val* p2, val* p3) { -val* var_n_kwnullable /* var n_kwnullable: nullable TKwnullable */; -val* var_n_id /* var n_id: nullable TClassid */; -val* var_n_types /* var n_types: Collection[Object] */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var9 /* : ANodes[AType] */; -val* var11 /* : ANodes[AType] */; -val* var12 /* : null */; -short int var13 /* : Bool */; -short int var14 /* : Bool */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -var_n_kwnullable = p0; -var_n_id = p1; -var_n_types = p2; -var_n_annotations = p3; -self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val = var_n_kwnullable; /* _n_kwnullable on */ -var = NULL; -if (var_n_kwnullable == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_kwnullable,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_n_kwnullable->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwnullable, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_kwnullable,self) on */ -var_n_kwnullable->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} -} -} else { -} -if (unlikely(var_n_id == NULL)) { +/* method parser_prod#AOnceExpr#init_aonceexpr for (self: AOnceExpr, nullable TKwonce, nullable AExpr) */ +void parser_prod__AOnceExpr__init_aonceexpr(val* self, val* p0, val* p1) { +val* var_n_kwonce /* var n_kwonce: nullable TKwonce */; +val* var_n_expr /* var n_expr: nullable AExpr */; +var_n_kwonce = p0; +var_n_expr = p1; +if (unlikely(var_n_kwonce == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2860); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2915); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AType___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { +self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_n_kwonce; /* _n_kwonce on */ +if (var_n_kwonce == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2861); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2916); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ -if (unlikely(var_n_id == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwonce,self) on */ +if (unlikely(var_n_kwonce == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL8:(void)0; +var_n_kwonce->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } } -{ -{ /* Inline parser_nodes#AType#n_types (self) on */ -var11 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var11 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1397); +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2917); show_backtrace(1); } -var9 = var11; -RET_LABEL10:(void)0; -} -} -{ -parser_nodes__ANodes__unsafe_add_all(var9, var_n_types); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ -} -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var12 = NULL; -if (var_n_annotations == NULL) { -var13 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__AOnceExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2918); +show_backtrace(1); } else { -var13 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_annotations,var12) on */ -var_other = var12; -{ -var17 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; -var16 = var17; -} -var18 = !var16; -var14 = var18; -goto RET_LABEL15; -RET_LABEL15:(void)0; +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -var13 = var14; +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -if (var13){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ -var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL19:(void)0; } +RET_LABEL:; } -} else { -} -RET_LABEL:; -} -/* method parser_prod#AType#init_atype for (self: Object, nullable TKwnullable, nullable TClassid, Collection[Object], nullable AAnnotations) */ -void VIRTUAL_parser_prod__AType__init_atype(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__AType__init_atype(self, p0, p1, p2, p3); /* Direct call parser_prod#AType#init_atype on */ +/* method parser_prod#AOnceExpr#init_aonceexpr for (self: Object, nullable TKwonce, nullable AExpr) */ +void VIRTUAL_parser_prod__AOnceExpr__init_aonceexpr(val* self, val* p0, val* p1) { +parser_prod__AOnceExpr__init_aonceexpr(self, p0, p1); /* Direct call parser_prod#AOnceExpr#init_aonceexpr on */ RET_LABEL:; } -/* method parser_prod#AType#replace_child for (self: AType, ANode, nullable ANode) */ -void parser_prod__AType__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AOnceExpr#replace_child for (self: AOnceExpr, ANode, nullable ANode) */ +void parser_prod__AOnceExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : nullable TKwnullable */; +val* var /* : TKwonce */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -1104,7 +1316,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : TClassid */; +val* var8 /* : AExpr */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -1113,28 +1325,19 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; -val* var19 /* : ANodes[AType] */; -val* var21 /* : ANodes[AType] */; -short int var22 /* : Bool */; -val* var23 /* : nullable AAnnotations */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -short int var27 /* : Bool */; -short int var29 /* : Bool */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -const char* var_class_name33; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwonce"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2923); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -1148,11 +1351,11 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa nullable TKwnullable */ -cltype = type_nullable_parser_nodes__TKwnullable.color; -idtype = type_nullable_parser_nodes__TKwnullable.id; +/* isa TKwonce */ +cltype = type_parser_nodes__TKwonce.color; +idtype = type_parser_nodes__TKwonce.id; if(var_new_child == NULL) { -var7 = 1; +var7 = 0; } else { if(cltype >= var_new_child->type->table_size) { var7 = 0; @@ -1162,27 +1365,27 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwnullable", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2870); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwonce", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2924); show_backtrace(1); } { -parser_prod__AType__n_kwnullable_61d(self, var_new_child); /* Direct call parser_prod#AType#n_kwnullable= on */ +parser_prod__AOnceExpr__n_kwonce_61d(self, var_new_child); /* Direct call parser_prod#AOnceExpr#n_kwonce= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AType___n_id].val; /* _n_id on */ +var8 = self->attrs[COLOR_parser_nodes__AOnceExpr___n_expr].val; /* _n_expr on */ if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2873); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2927); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -1196,9 +1399,9 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa TClassid */ -cltype16 = type_parser_nodes__TClassid.color; -idtype17 = type_parser_nodes__TClassid.id; +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var15 = 0; } else { @@ -1210,325 +1413,150 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TClassid", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2874); -show_backtrace(1); -} -{ -parser_prod__AType__n_id_61d(self, var_new_child); /* Direct call parser_prod#AType#n_id= on */ -} -goto RET_LABEL; -} else { -} -{ -{ /* Inline parser_nodes#AType#n_types (self) on */ -var21 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var21 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1397); -show_backtrace(1); -} -var19 = var21; -RET_LABEL20:(void)0; -} -} -{ -var22 = parser_nodes__ANodes__replace_child(var19, var_old_child, var_new_child); -} -if (var22){ -goto RET_LABEL; -} else { -} -var23 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var23 == NULL) { -var24 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var23,var_old_child) on */ -var_other = var_old_child; -{ -{ /* Inline kernel#Object#is_same_instance (var23,var_other) on */ -var29 = var23 == var_other; -var27 = var29; -goto RET_LABEL28; -RET_LABEL28:(void)0; -} -} -var25 = var27; -goto RET_LABEL26; -RET_LABEL26:(void)0; -} -var24 = var25; -} -if (var24){ -/* isa nullable AAnnotations */ -cltype31 = type_nullable_parser_nodes__AAnnotations.color; -idtype32 = type_nullable_parser_nodes__AAnnotations.id; -if(var_new_child == NULL) { -var30 = 1; -} else { -if(cltype31 >= var_new_child->type->table_size) { -var30 = 0; -} else { -var30 = var_new_child->type->type_table[cltype31] == idtype32; -} -} -if (unlikely(!var30)) { -var_class_name33 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name33); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2879); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2928); show_backtrace(1); } { -parser_prod__AType__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AType#n_annotations= on */ +parser_prod__AOnceExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOnceExpr#n_expr= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AType#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AType__replace_child(val* self, val* p0, val* p1) { -parser_prod__AType__replace_child(self, p0, p1); /* Direct call parser_prod#AType#replace_child on */ -RET_LABEL:; -} -/* method parser_prod#AType#n_kwnullable= for (self: AType, nullable TKwnullable) */ -void parser_prod__AType__n_kwnullable_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwnullable */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val = var_node; /* _n_kwnullable on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} -} -} else { -} -RET_LABEL:; -} -/* method parser_prod#AType#n_kwnullable= for (self: Object, nullable TKwnullable) */ -void VIRTUAL_parser_prod__AType__n_kwnullable_61d(val* self, val* p0) { -parser_prod__AType__n_kwnullable_61d(self, p0); /* Direct call parser_prod#AType#n_kwnullable= on */ +/* method parser_prod#AOnceExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AOnceExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AOnceExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AOnceExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AType#n_id= for (self: AType, TClassid) */ -void parser_prod__AType__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TClassid */; +/* method parser_prod#AOnceExpr#n_kwonce= for (self: AOnceExpr, TKwonce) */ +void parser_prod__AOnceExpr__n_kwonce_61d(val* self, val* p0) { +val* var_node /* var node: TKwonce */; var_node = p0; -self->attrs[COLOR_parser_nodes__AType___n_id].val = var_node; /* _n_id on */ +self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_node; /* _n_kwonce on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#AType#n_id= for (self: Object, TClassid) */ -void VIRTUAL_parser_prod__AType__n_id_61d(val* self, val* p0) { -parser_prod__AType__n_id_61d(self, p0); /* Direct call parser_prod#AType#n_id= on */ +/* method parser_prod#AOnceExpr#n_kwonce= for (self: Object, TKwonce) */ +void VIRTUAL_parser_prod__AOnceExpr__n_kwonce_61d(val* self, val* p0) { +parser_prod__AOnceExpr__n_kwonce_61d(self, p0); /* Direct call parser_prod#AOnceExpr#n_kwonce= on */ RET_LABEL:; } -/* method parser_prod#AType#n_annotations= for (self: AType, nullable AAnnotations) */ -void parser_prod__AType__n_annotations_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +/* method parser_prod#AOnceExpr#n_expr= for (self: AOnceExpr, AExpr) */ +void parser_prod__AOnceExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ +self->attrs[COLOR_parser_nodes__AOnceExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AType#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AType__n_annotations_61d(val* self, val* p0) { -parser_prod__AType__n_annotations_61d(self, p0); /* Direct call parser_prod#AType#n_annotations= on */ +/* method parser_prod#AOnceExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AOnceExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AOnceExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AOnceExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AType#visit_all for (self: AType, Visitor) */ -void parser_prod__AType__visit_all(val* self, val* p0) { +/* method parser_prod#AOnceExpr#visit_all for (self: AOnceExpr, Visitor) */ +void parser_prod__AOnceExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : nullable TKwnullable */; -val* var1 /* : TClassid */; -val* var2 /* : ANodes[AType] */; -val* var4 /* : ANodes[AType] */; -val* var5 /* : nullable AAnnotations */; +val* var /* : TKwonce */; +val* var1 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ +var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwonce"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2947); +show_backtrace(1); +} { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__AType___n_id].val; /* _n_id on */ +var1 = self->attrs[COLOR_parser_nodes__AOnceExpr___n_expr].val; /* _n_expr on */ if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2904); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2948); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -{ -{ /* Inline parser_nodes#AType#n_types (self) on */ -var4 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var4 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1397); -show_backtrace(1); -} -var2 = var4; -RET_LABEL3:(void)0; -} -} -{ -parser_nodes__ANodes__visit_all(var2, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ -} -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -{ -parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on */ -} RET_LABEL:; } -/* method parser_prod#AType#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AType__visit_all(val* self, val* p0) { -parser_prod__AType__visit_all(self, p0); /* Direct call parser_prod#AType#visit_all on */ +/* method parser_prod#AOnceExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AOnceExpr__visit_all(val* self, val* p0) { +parser_prod__AOnceExpr__visit_all(self, p0); /* Direct call parser_prod#AOnceExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ALabel#init_alabel for (self: ALabel, nullable TKwlabel, nullable TId) */ -void parser_prod__ALabel__init_alabel(val* self, val* p0, val* p1) { -val* var_n_kwlabel /* var n_kwlabel: nullable TKwlabel */; -val* var_n_id /* var n_id: nullable TId */; -val* var /* : null */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -short int var7 /* : Bool */; -var_n_kwlabel = p0; -var_n_id = p1; -if (unlikely(var_n_kwlabel == NULL)) { +/* method parser_prod#AOrExpr#init_aorexpr for (self: AOrExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AOrExpr__init_aorexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2915); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3028); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ALabel___n_kwlabel].val = var_n_kwlabel; /* _n_kwlabel on */ -if (var_n_kwlabel == NULL) { +self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2916); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3029); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwlabel,self) on */ -if (unlikely(var_n_kwlabel == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_kwlabel->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -self->attrs[COLOR_parser_nodes__ALabel___n_id].val = var_n_id; /* _n_id on */ -var = NULL; -if (var_n_id == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3030); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_n_id,var) on */ -var_other = var; -{ -var6 = ((short int (*)(val*, val*))(var_n_id->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_id, var_other) /* == on */; -var5 = var6; +self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3031); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -var7 = !var5; -var3 = var7; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -var2 = var3; } -if (var2){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ -var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL8:(void)0; +RET_LABEL:; } -} -} else { -} -RET_LABEL:; -} -/* method parser_prod#ALabel#init_alabel for (self: Object, nullable TKwlabel, nullable TId) */ -void VIRTUAL_parser_prod__ALabel__init_alabel(val* self, val* p0, val* p1) { -parser_prod__ALabel__init_alabel(self, p0, p1); /* Direct call parser_prod#ALabel#init_alabel on */ +/* method parser_prod#AOrExpr#init_aorexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AOrExpr__init_aorexpr(val* self, val* p0, val* p1) { +parser_prod__AOrExpr__init_aorexpr(self, p0, p1); /* Direct call parser_prod#AOrExpr#init_aorexpr on */ RET_LABEL:; } -/* method parser_prod#ALabel#replace_child for (self: ALabel, ANode, nullable ANode) */ -void parser_prod__ALabel__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AOrExpr#replace_child for (self: AOrExpr, ANode, nullable ANode) */ +void parser_prod__AOrExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwlabel */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -1538,7 +1566,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : nullable TId */; +val* var8 /* : AExpr */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -1549,17 +1577,17 @@ int idtype17; const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ALabel___n_kwlabel].val; /* _n_kwlabel on */ +var = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwlabel"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2923); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3036); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -1573,9 +1601,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TKwlabel */ -cltype = type_parser_nodes__TKwlabel.color; -idtype = type_parser_nodes__TKwlabel.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -1587,24 +1615,27 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwlabel", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2924); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3037); show_backtrace(1); } { -parser_prod__ALabel__n_kwlabel_61d(self, var_new_child); /* Direct call parser_prod#ALabel#n_kwlabel= on */ +parser_prod__AOrExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__ALabel___n_id].val; /* _n_id on */ -if (var8 == NULL) { -var9 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var8 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3040); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -1618,11 +1649,11 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa nullable TId */ -cltype16 = type_nullable_parser_nodes__TId.color; -idtype17 = type_nullable_parser_nodes__TId.id; +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var15 = 1; +var15 = 0; } else { if(cltype16 >= var_new_child->type->table_size) { var15 = 0; @@ -1632,566 +1663,400 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2928); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3041); show_backtrace(1); } { -parser_prod__ALabel__n_id_61d(self, var_new_child); /* Direct call parser_prod#ALabel#n_id= on */ +parser_prod__AOrExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_expr2= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ALabel#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ALabel__replace_child(val* self, val* p0, val* p1) { -parser_prod__ALabel__replace_child(self, p0, p1); /* Direct call parser_prod#ALabel#replace_child on */ +/* method parser_prod#AOrExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AOrExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AOrExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AOrExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ALabel#n_kwlabel= for (self: ALabel, TKwlabel) */ -void parser_prod__ALabel__n_kwlabel_61d(val* self, val* p0) { -val* var_node /* var node: TKwlabel */; +/* method parser_prod#AOrExpr#n_expr= for (self: AOrExpr, AExpr) */ +void parser_prod__AOrExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALabel___n_kwlabel].val = var_node; /* _n_kwlabel on */ +self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#ALabel#n_kwlabel= for (self: Object, TKwlabel) */ -void VIRTUAL_parser_prod__ALabel__n_kwlabel_61d(val* self, val* p0) { -parser_prod__ALabel__n_kwlabel_61d(self, p0); /* Direct call parser_prod#ALabel#n_kwlabel= on */ +/* method parser_prod#AOrExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AOrExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AOrExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AOrExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#ALabel#n_id= for (self: ALabel, nullable TId) */ -void parser_prod__ALabel__n_id_61d(val* self, val* p0) { -val* var_node /* var node: nullable TId */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +/* method parser_prod#AOrExpr#n_expr2= for (self: AOrExpr, AExpr) */ +void parser_prod__AOrExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALabel___n_id].val = var_node; /* _n_id on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ +self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_node; /* _n_expr2 on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#ALabel#n_id= for (self: Object, nullable TId) */ -void VIRTUAL_parser_prod__ALabel__n_id_61d(val* self, val* p0) { -parser_prod__ALabel__n_id_61d(self, p0); /* Direct call parser_prod#ALabel#n_id= on */ +/* method parser_prod#AOrExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AOrExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AOrExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AOrExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#ALabel#visit_all for (self: ALabel, Visitor) */ -void parser_prod__ALabel__visit_all(val* self, val* p0) { +/* method parser_prod#AOrExpr#visit_all for (self: AOrExpr, Visitor) */ +void parser_prod__AOrExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwlabel */; -val* var1 /* : nullable TId */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ALabel___n_kwlabel].val; /* _n_kwlabel on */ +var = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwlabel"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2947); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3060); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__ALabel___n_id].val; /* _n_id on */ +var1 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3061); +show_backtrace(1); +} { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#ALabel#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ALabel__visit_all(val* self, val* p0) { -parser_prod__ALabel__visit_all(self, p0); /* Direct call parser_prod#ALabel#visit_all on */ +/* method parser_prod#AOrExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AOrExpr__visit_all(val* self, val* p0) { +parser_prod__AOrExpr__visit_all(self, p0); /* Direct call parser_prod#AOrExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ABlockExpr#init_ablockexpr for (self: ABlockExpr, Collection[Object], nullable TKwend) */ -void parser_prod__ABlockExpr__init_ablockexpr(val* self, val* p0, val* p1) { -val* var_n_expr /* var n_expr: Collection[Object] */; -val* var_n_kwend /* var n_kwend: nullable TKwend */; -val* var /* : ANodes[AExpr] */; -val* var2 /* : ANodes[AExpr] */; -val* var3 /* : null */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; +/* method parser_prod#AAndExpr#init_aandexpr for (self: AAndExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AAndExpr__init_aandexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; var_n_expr = p0; -var_n_kwend = p1; -{ -{ /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ -var2 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424); +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3070); show_backtrace(1); } -var = var2; -RET_LABEL1:(void)0; -} -} -{ -parser_nodes__ANodes__unsafe_add_all(var, var_n_expr); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ -} -self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val = var_n_kwend; /* _n_kwend on */ -var3 = NULL; -if (var_n_kwend == NULL) { -var4 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3071); +show_backtrace(1); } else { -var4 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_n_kwend,var3) on */ -var_other = var3; -{ -var8 = ((short int (*)(val*, val*))(var_n_kwend->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwend, var_other) /* == on */; -var7 = var8; +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -var9 = !var7; -var5 = var9; -goto RET_LABEL6; -RET_LABEL6:(void)0; } -var4 = var5; +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3072); +show_backtrace(1); } -if (var4){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_kwend,self) on */ -var_n_kwend->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL10:(void)0; +self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3073); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#ABlockExpr#init_ablockexpr for (self: Object, Collection[Object], nullable TKwend) */ -void VIRTUAL_parser_prod__ABlockExpr__init_ablockexpr(val* self, val* p0, val* p1) { -parser_prod__ABlockExpr__init_ablockexpr(self, p0, p1); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on */ +/* method parser_prod#AAndExpr#init_aandexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AAndExpr__init_aandexpr(val* self, val* p0, val* p1) { +parser_prod__AAndExpr__init_aandexpr(self, p0, p1); /* Direct call parser_prod#AAndExpr#init_aandexpr on */ RET_LABEL:; } -/* method parser_prod#ABlockExpr#replace_child for (self: ABlockExpr, ANode, nullable ANode) */ -void parser_prod__ABlockExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AAndExpr#replace_child for (self: AAndExpr, ANode, nullable ANode) */ +void parser_prod__AAndExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : ANodes[AExpr] */; -val* var2 /* : ANodes[AExpr] */; -short int var3 /* : Bool */; -val* var4 /* : nullable TKwend */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +val* var /* : AExpr */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var8 /* : Bool */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; +short int var4 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; +val* var8 /* : AExpr */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; var_old_child = p0; var_new_child = p1; -{ -{ /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ -var2 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var2 == NULL)) { +var = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3078); show_backtrace(1); } -var = var2; -RET_LABEL1:(void)0; -} -} { -var3 = parser_nodes__ANodes__replace_child(var, var_old_child, var_new_child); -} -if (var3){ -goto RET_LABEL; -} else { -} -var4 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val; /* _n_kwend on */ -if (var4 == NULL) { -var5 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var4,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var4,var_other) on */ -var10 = var4 == var_other; -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +var6 = var == var_other; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -var5 = var6; +var1 = var2; } -if (var5){ -/* isa nullable TKwend */ -cltype = type_nullable_parser_nodes__TKwend.color; -idtype = type_nullable_parser_nodes__TKwend.id; +if (var1){ +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var11 = 1; +var7 = 0; } else { if(cltype >= var_new_child->type->table_size) { -var11 = 0; +var7 = 0; } else { -var11 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } } -if (unlikely(!var11)) { +if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwend", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2966); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3079); show_backtrace(1); } { -parser_prod__ABlockExpr__n_kwend_61d(self, var_new_child); /* Direct call parser_prod#ABlockExpr#n_kwend= on */ +parser_prod__AAndExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_expr= on */ } goto RET_LABEL; } else { } -RET_LABEL:; -} -/* method parser_prod#ABlockExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ABlockExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ABlockExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ABlockExpr#replace_child on */ -RET_LABEL:; -} -/* method parser_prod#ABlockExpr#n_kwend= for (self: ABlockExpr, nullable TKwend) */ -void parser_prod__ABlockExpr__n_kwend_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwend */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val = var_node; /* _n_kwend on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +var8 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3082); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; { -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; +{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; } -var1 = var2; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; +var9 = var10; +} +if (var9){ +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3083); +show_backtrace(1); } +{ +parser_prod__AAndExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_expr2= on */ } +goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ABlockExpr#n_kwend= for (self: Object, nullable TKwend) */ -void VIRTUAL_parser_prod__ABlockExpr__n_kwend_61d(val* self, val* p0) { -parser_prod__ABlockExpr__n_kwend_61d(self, p0); /* Direct call parser_prod#ABlockExpr#n_kwend= on */ +/* method parser_prod#AAndExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AAndExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AAndExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAndExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ABlockExpr#visit_all for (self: ABlockExpr, Visitor) */ -void parser_prod__ABlockExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : ANodes[AExpr] */; -val* var2 /* : ANodes[AExpr] */; -val* var3 /* : nullable TKwend */; -var_v = p0; +/* method parser_prod#AAndExpr#n_expr= for (self: AAndExpr, AExpr) */ +void parser_prod__AAndExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ -var2 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424); -show_backtrace(1); +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AAndExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AAndExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AAndExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AAndExpr#n_expr= on */ +RET_LABEL:; } -var = var2; +/* method parser_prod#AAndExpr#n_expr2= for (self: AAndExpr, AExpr) */ +void parser_prod__AAndExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_node; /* _n_expr2 on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } +RET_LABEL:; +} +/* method parser_prod#AAndExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AAndExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AAndExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AAndExpr#n_expr2= on */ +RET_LABEL:; +} +/* method parser_prod#AAndExpr#visit_all for (self: AAndExpr, Visitor) */ +void parser_prod__AAndExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3102); +show_backtrace(1); +} { -parser_nodes__ANodes__visit_all(var, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var1 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3103); +show_backtrace(1); } -var3 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val; /* _n_kwend on */ { -parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#ABlockExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ABlockExpr__visit_all(val* self, val* p0) { -parser_prod__ABlockExpr__visit_all(self, p0); /* Direct call parser_prod#ABlockExpr#visit_all on */ +/* method parser_prod#AAndExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AAndExpr__visit_all(val* self, val* p0) { +parser_prod__AAndExpr__visit_all(self, p0); /* Direct call parser_prod#AAndExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AVardeclExpr#init_avardeclexpr for (self: AVardeclExpr, nullable TKwvar, nullable TId, nullable AType, nullable TAssign, nullable AExpr, nullable AAnnotations) */ -void parser_prod__AVardeclExpr__init_avardeclexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -val* var_n_kwvar /* var n_kwvar: nullable TKwvar */; -val* var_n_id /* var n_id: nullable TId */; -val* var_n_type /* var n_type: nullable AType */; -val* var_n_assign /* var n_assign: nullable TAssign */; +/* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: AOrElseExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AOrElseExpr__init_aorelseexpr(val* self, val* p0, val* p1) { val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var6 /* : Bool */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -val* var10 /* : null */; -short int var11 /* : Bool */; -short int var12 /* : Bool */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -val* var18 /* : null */; -short int var19 /* : Bool */; -short int var20 /* : Bool */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; -short int var24 /* : Bool */; -val* var26 /* : null */; -short int var27 /* : Bool */; -short int var28 /* : Bool */; -short int var30 /* : Bool */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -var_n_kwvar = p0; -var_n_id = p1; -var_n_type = p2; -var_n_assign = p3; -var_n_expr = p4; -var_n_annotations = p5; -if (unlikely(var_n_kwvar == NULL)) { +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2994); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3112); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_kwvar].val = var_n_kwvar; /* _n_kwvar on */ -if (var_n_kwvar == NULL) { +self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2995); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3113); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwvar,self) on */ -if (unlikely(var_n_kwvar == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_kwvar->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -if (unlikely(var_n_id == NULL)) { +if (unlikely(var_n_expr2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2996); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3114); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { +self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 2997); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3115); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ -if (unlikely(var_n_id == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL2:(void)0; } } -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val = var_n_type; /* _n_type on */ -var = NULL; -if (var_n_type == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_type,var) on */ -var_other = var; -{ -var7 = ((short int (*)(val*, val*))(var_n_type->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_type, var_other) /* == on */; -var6 = var7; -} -var8 = !var6; -var4 = var8; -goto RET_LABEL5; -RET_LABEL5:(void)0; -} -var3 = var4; -} -if (var3){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_type,self) on */ -var_n_type->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL9:(void)0; -} -} -} else { -} -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val = var_n_assign; /* _n_assign on */ -var10 = NULL; -if (var_n_assign == NULL) { -var11 = 0; /* is null */ -} else { -var11 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_assign,var10) on */ -var_other = var10; -{ -var15 = ((short int (*)(val*, val*))(var_n_assign->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_assign, var_other) /* == on */; -var14 = var15; -} -var16 = !var14; -var12 = var16; -goto RET_LABEL13; -RET_LABEL13:(void)0; -} -var11 = var12; -} -if (var11){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_assign,self) on */ -var_n_assign->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL17:(void)0; -} -} -} else { -} -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val = var_n_expr; /* _n_expr on */ -var18 = NULL; -if (var_n_expr == NULL) { -var19 = 0; /* is null */ -} else { -var19 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_expr,var18) on */ -var_other = var18; -{ -var23 = ((short int (*)(val*, val*))(var_n_expr->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_expr, var_other) /* == on */; -var22 = var23; -} -var24 = !var22; -var20 = var24; -goto RET_LABEL21; -RET_LABEL21:(void)0; -} -var19 = var20; -} -if (var19){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ -var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL25:(void)0; -} -} -} else { -} -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var26 = NULL; -if (var_n_annotations == NULL) { -var27 = 0; /* is null */ -} else { -var27 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_annotations,var26) on */ -var_other = var26; -{ -var31 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; -var30 = var31; -} -var32 = !var30; -var28 = var32; -goto RET_LABEL29; -RET_LABEL29:(void)0; -} -var27 = var28; -} -if (var27){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ -var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL33:(void)0; -} -} -} else { -} RET_LABEL:; } -/* method parser_prod#AVardeclExpr#init_avardeclexpr for (self: Object, nullable TKwvar, nullable TId, nullable AType, nullable TAssign, nullable AExpr, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AVardeclExpr__init_avardeclexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -parser_prod__AVardeclExpr__init_avardeclexpr(self, p0, p1, p2, p3, p4, p5); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on */ +/* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AOrElseExpr__init_aorelseexpr(val* self, val* p0, val* p1) { +parser_prod__AOrElseExpr__init_aorelseexpr(self, p0, p1); /* Direct call parser_prod#AOrElseExpr#init_aorelseexpr on */ RET_LABEL:; } -/* method parser_prod#AVardeclExpr#replace_child for (self: AVardeclExpr, ANode, nullable ANode) */ -void parser_prod__AVardeclExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AOrElseExpr#replace_child for (self: AOrElseExpr, ANode, nullable ANode) */ +void parser_prod__AOrElseExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwvar */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -2201,7 +2066,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : TId */; +val* var8 /* : AExpr */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -2210,55 +2075,19 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; -val* var19 /* : nullable AType */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -const char* var_class_name29; -val* var30 /* : nullable TAssign */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -short int var34 /* : Bool */; -short int var36 /* : Bool */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -const char* var_class_name40; -val* var41 /* : 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 AAnnotations */; -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_parser_nodes__AVardeclExpr___n_kwvar].val; /* _n_kwvar on */ +var = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwvar"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3010); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3120); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -2272,9 +2101,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TKwvar */ -cltype = type_parser_nodes__TKwvar.color; -idtype = type_parser_nodes__TKwvar.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -2286,27 +2115,27 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwvar", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3011); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3121); show_backtrace(1); } { -parser_prod__AVardeclExpr__n_kwvar_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_kwvar= on */ +parser_prod__AOrElseExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_id].val; /* _n_id on */ +var8 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on */ if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3014); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3124); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -2320,9 +2149,9 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa TId */ -cltype16 = type_parser_nodes__TId.color; -idtype17 = type_parser_nodes__TId.id; +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var15 = 0; } else { @@ -2334,573 +2163,650 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3015); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3125); show_backtrace(1); } { -parser_prod__AVardeclExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_id= on */ +parser_prod__AOrElseExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_expr2= on */ } goto RET_LABEL; } else { } -var19 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val; /* _n_type on */ -if (var19 == NULL) { -var20 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var19,var_old_child) on */ -var_other = var_old_child; +RET_LABEL:; +} +/* method parser_prod#AOrElseExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AOrElseExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AOrElseExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AOrElseExpr#replace_child on */ +RET_LABEL:; +} +/* method parser_prod#AOrElseExpr#n_expr= for (self: AOrElseExpr, AExpr) */ +void parser_prod__AOrElseExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ -var25 = var19 == var_other; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } } -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; +RET_LABEL:; } -var20 = var21; +/* method parser_prod#AOrElseExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AOrElseExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AOrElseExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AOrElseExpr#n_expr= on */ +RET_LABEL:; } -if (var20){ -/* isa nullable AType */ -cltype27 = type_nullable_parser_nodes__AType.color; -idtype28 = type_nullable_parser_nodes__AType.id; -if(var_new_child == NULL) { -var26 = 1; -} else { -if(cltype27 >= var_new_child->type->table_size) { -var26 = 0; -} else { -var26 = var_new_child->type->type_table[cltype27] == idtype28; +/* method parser_prod#AOrElseExpr#n_expr2= for (self: AOrElseExpr, AExpr) */ +void parser_prod__AOrElseExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_node; /* _n_expr2 on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } } -if (unlikely(!var26)) { -var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AType", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3019); +RET_LABEL:; +} +/* method parser_prod#AOrElseExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AOrElseExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AOrElseExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AOrElseExpr#n_expr2= on */ +RET_LABEL:; +} +/* method parser_prod#AOrElseExpr#visit_all for (self: AOrElseExpr, Visitor) */ +void parser_prod__AOrElseExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3144); show_backtrace(1); } { -parser_prod__AVardeclExpr__n_type_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_type= on */ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -goto RET_LABEL; -} else { +var1 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3145); +show_backtrace(1); } -var30 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val; /* _n_assign on */ -if (var30 == NULL) { -var31 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var30,var_old_child) on */ -var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ -var36 = var30 == var_other; -var34 = var36; -goto RET_LABEL35; -RET_LABEL35:(void)0; +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } +RET_LABEL:; } -var32 = var34; -goto RET_LABEL33; -RET_LABEL33:(void)0; +/* method parser_prod#AOrElseExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AOrElseExpr__visit_all(val* self, val* p0) { +parser_prod__AOrElseExpr__visit_all(self, p0); /* Direct call parser_prod#AOrElseExpr#visit_all on */ +RET_LABEL:; } -var31 = var32; +/* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: AImpliesExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AImpliesExpr__init_aimpliesexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3154); +show_backtrace(1); } -if (var31){ -/* isa nullable TAssign */ -cltype38 = type_nullable_parser_nodes__TAssign.color; -idtype39 = type_nullable_parser_nodes__TAssign.id; -if(var_new_child == NULL) { -var37 = 1; -} else { -if(cltype38 >= var_new_child->type->table_size) { -var37 = 0; +self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3155); +show_backtrace(1); } else { -var37 = var_new_child->type->type_table[cltype38] == idtype39; -} -} -if (unlikely(!var37)) { -var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TAssign", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3023); +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -{ -parser_prod__AVardeclExpr__n_assign_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_assign= on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -goto RET_LABEL; -} else { } -var41 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on */ -if (var41 == NULL) { -var42 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var41,var_old_child) on */ -var_other = var_old_child; -{ -{ /* Inline kernel#Object#is_same_instance (var41,var_other) on */ -var47 = var41 == var_other; -var45 = var47; -goto RET_LABEL46; -RET_LABEL46:(void)0; +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3156); +show_backtrace(1); } +self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3157); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -var43 = var45; -goto RET_LABEL44; -RET_LABEL44:(void)0; +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -var42 = var43; } -if (var42){ -/* isa nullable AExpr */ -cltype49 = type_nullable_parser_nodes__AExpr.color; -idtype50 = type_nullable_parser_nodes__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; +RET_LABEL:; } +/* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AImpliesExpr__init_aimpliesexpr(val* self, val* p0, val* p1) { +parser_prod__AImpliesExpr__init_aimpliesexpr(self, p0, p1); /* Direct call parser_prod#AImpliesExpr#init_aimpliesexpr on */ +RET_LABEL:; } -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", "src/parser/parser_prod.nit", 3027); +/* method parser_prod#AImpliesExpr#replace_child for (self: AImpliesExpr, ANode, nullable ANode) */ +void parser_prod__AImpliesExpr__replace_child(val* self, val* p0, val* p1) { +val* var_old_child /* var old_child: ANode */; +val* var_new_child /* var new_child: nullable ANode */; +val* var /* : AExpr */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +val* var8 /* : AExpr */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +var_old_child = p0; +var_new_child = p1; +var = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3162); show_backtrace(1); } { -parser_prod__AVardeclExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_expr= on */ -} -goto RET_LABEL; -} else { -} -var52 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var52 == NULL) { -var53 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var52,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var52,var_other) on */ -var58 = var52 == var_other; -var56 = var58; -goto RET_LABEL57; -RET_LABEL57:(void)0; +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +var6 = var == var_other; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } -var54 = var56; -goto RET_LABEL55; -RET_LABEL55:(void)0; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -var53 = var54; +var1 = var2; } -if (var53){ -/* isa nullable AAnnotations */ -cltype60 = type_nullable_parser_nodes__AAnnotations.color; -idtype61 = type_nullable_parser_nodes__AAnnotations.id; +if (var1){ +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var59 = 1; +var7 = 0; } else { -if(cltype60 >= var_new_child->type->table_size) { -var59 = 0; +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var59 = var_new_child->type->type_table[cltype60] == idtype61; +var7 = var_new_child->type->type_table[cltype] == idtype; } } -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 AAnnotations", var_class_name62); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3031); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3163); show_backtrace(1); } { -parser_prod__AVardeclExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_annotations= on */ +parser_prod__AImpliesExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr= on */ } goto RET_LABEL; } else { } -RET_LABEL:; -} -/* method parser_prod#AVardeclExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AVardeclExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AVardeclExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AVardeclExpr#replace_child on */ -RET_LABEL:; +var8 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3166); +show_backtrace(1); } -/* method parser_prod#AVardeclExpr#n_kwvar= for (self: AVardeclExpr, TKwvar) */ -void parser_prod__AVardeclExpr__n_kwvar_61d(val* self, val* p0) { -val* var_node /* var node: TKwvar */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_kwvar].val = var_node; /* _n_kwvar on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; +{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -RET_LABEL:; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -/* method parser_prod#AVardeclExpr#n_kwvar= for (self: Object, TKwvar) */ -void VIRTUAL_parser_prod__AVardeclExpr__n_kwvar_61d(val* self, val* p0) { -parser_prod__AVardeclExpr__n_kwvar_61d(self, p0); /* Direct call parser_prod#AVardeclExpr#n_kwvar= on */ -RET_LABEL:; +var9 = var10; +} +if (var9){ +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3167); +show_backtrace(1); } -/* method parser_prod#AVardeclExpr#n_id= for (self: AVardeclExpr, TId) */ -void parser_prod__AVardeclExpr__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TId */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_id].val = var_node; /* _n_id on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; +parser_prod__AImpliesExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr2= on */ } +goto RET_LABEL; +} else { } RET_LABEL:; } -/* method parser_prod#AVardeclExpr#n_id= for (self: Object, TId) */ -void VIRTUAL_parser_prod__AVardeclExpr__n_id_61d(val* self, val* p0) { -parser_prod__AVardeclExpr__n_id_61d(self, p0); /* Direct call parser_prod#AVardeclExpr#n_id= on */ +/* method parser_prod#AImpliesExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AImpliesExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AImpliesExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AImpliesExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AVardeclExpr#n_type= for (self: AVardeclExpr, nullable AType) */ -void parser_prod__AVardeclExpr__n_type_61d(val* self, val* p0) { -val* var_node /* var node: nullable AType */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +/* method parser_prod#AImpliesExpr#n_expr= for (self: AImpliesExpr, AExpr) */ +void parser_prod__AImpliesExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val = var_node; /* _n_type on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; +self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_node; /* _n_expr on */ { -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; } -var1 = var2; +RET_LABEL:; } -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; +/* method parser_prod#AImpliesExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AImpliesExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AImpliesExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AImpliesExpr#n_expr= on */ +RET_LABEL:; } +/* method parser_prod#AImpliesExpr#n_expr2= for (self: AImpliesExpr, AExpr) */ +void parser_prod__AImpliesExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_node; /* _n_expr2 on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AVardeclExpr#n_type= for (self: Object, nullable AType) */ -void VIRTUAL_parser_prod__AVardeclExpr__n_type_61d(val* self, val* p0) { -parser_prod__AVardeclExpr__n_type_61d(self, p0); /* Direct call parser_prod#AVardeclExpr#n_type= on */ +/* method parser_prod#AImpliesExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AImpliesExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AImpliesExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AImpliesExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#AVardeclExpr#n_assign= for (self: AVardeclExpr, nullable TAssign) */ -void parser_prod__AVardeclExpr__n_assign_61d(val* self, val* p0) { -val* var_node /* var node: nullable TAssign */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val = var_node; /* _n_assign on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#AImpliesExpr#visit_all for (self: AImpliesExpr, Visitor) */ +void parser_prod__AImpliesExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3186); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; { -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = var2; +var1 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3187); +show_backtrace(1); } -if (var1){ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} -} -} else { +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AVardeclExpr#n_assign= for (self: Object, nullable TAssign) */ -void VIRTUAL_parser_prod__AVardeclExpr__n_assign_61d(val* self, val* p0) { -parser_prod__AVardeclExpr__n_assign_61d(self, p0); /* Direct call parser_prod#AVardeclExpr#n_assign= on */ +/* method parser_prod#AImpliesExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AImpliesExpr__visit_all(val* self, val* p0) { +parser_prod__AImpliesExpr__visit_all(self, p0); /* Direct call parser_prod#AImpliesExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AVardeclExpr#n_expr= for (self: AVardeclExpr, nullable AExpr) */ -void parser_prod__AVardeclExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val = var_node; /* _n_expr on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ +/* method parser_prod#ANotExpr#init_anotexpr for (self: ANotExpr, nullable TKwnot, nullable AExpr) */ +void parser_prod__ANotExpr__init_anotexpr(val* self, val* p0, val* p1) { +val* var_n_kwnot /* var n_kwnot: nullable TKwnot */; +val* var_n_expr /* var n_expr: nullable AExpr */; +var_n_kwnot = p0; +var_n_expr = p1; +if (unlikely(var_n_kwnot == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3196); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on */ +if (var_n_kwnot == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3197); +show_backtrace(1); } else { -var1 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwnot,self) on */ +if (unlikely(var_n_kwnot == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; +var_n_kwnot->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; } -var1 = var2; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3198); +show_backtrace(1); } -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; +self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3199); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AVardeclExpr#n_expr= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AVardeclExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AVardeclExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AVardeclExpr#n_expr= on */ +/* method parser_prod#ANotExpr#init_anotexpr for (self: Object, nullable TKwnot, nullable AExpr) */ +void VIRTUAL_parser_prod__ANotExpr__init_anotexpr(val* self, val* p0, val* p1) { +parser_prod__ANotExpr__init_anotexpr(self, p0, p1); /* Direct call parser_prod#ANotExpr#init_anotexpr on */ RET_LABEL:; } -/* method parser_prod#AVardeclExpr#n_annotations= for (self: AVardeclExpr, nullable AAnnotations) */ -void parser_prod__AVardeclExpr__n_annotations_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAnnotations */; -val* var /* : null */; +/* method parser_prod#ANotExpr#replace_child for (self: ANotExpr, ANode, nullable ANode) */ +void parser_prod__ANotExpr__replace_child(val* self, val* p0, val* p1) { +val* var_old_child /* var old_child: ANode */; +val* var_new_child /* var new_child: nullable ANode */; +val* var /* : TKwnot */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; short int var4 /* : Bool */; -short int var5 /* : Bool */; short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +val* var8 /* : AExpr */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +var_old_child = p0; +var_new_child = p1; +var = self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3204); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; { -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; +{ /* Inline kernel#Object#== (var,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +var6 = var == var_other; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } -var6 = !var4; -var2 = var6; +} +var2 = var4; goto RET_LABEL3; RET_LABEL3:(void)0; } var1 = var2; } if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} -} +/* isa TKwnot */ +cltype = type_parser_nodes__TKwnot.color; +idtype = type_parser_nodes__TKwnot.id; +if(var_new_child == NULL) { +var7 = 0; } else { +if(cltype >= var_new_child->type->table_size) { +var7 = 0; +} else { +var7 = var_new_child->type->type_table[cltype] == idtype; } -RET_LABEL:; -} -/* method parser_prod#AVardeclExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AVardeclExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__AVardeclExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#AVardeclExpr#n_annotations= on */ -RET_LABEL:; } -/* method parser_prod#AVardeclExpr#visit_all for (self: AVardeclExpr, Visitor) */ -void parser_prod__AVardeclExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TKwvar */; -val* var1 /* : TId */; -val* var2 /* : nullable AType */; -val* var3 /* : nullable TAssign */; -val* var4 /* : nullable AExpr */; -val* var5 /* : nullable AAnnotations */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_kwvar].val; /* _n_kwvar on */ -if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwvar"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3070); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnot", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3205); show_backtrace(1); } { -parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +parser_prod__ANotExpr__n_kwnot_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_kwnot= on */ } -var1 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_id].val; /* _n_id on */ -if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3071); +goto RET_LABEL; +} else { +} +var8 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3208); show_backtrace(1); } { -parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var2 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val; /* _n_type on */ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var_other = var_old_child; { -parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +} +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; +} +if (var9){ +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3209); +show_backtrace(1); } -var3 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val; /* _n_assign on */ { -parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ +parser_prod__ANotExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_expr= on */ +} +goto RET_LABEL; +} else { +} +RET_LABEL:; } -var4 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on */ +/* method parser_prod#ANotExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ANotExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ANotExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ANotExpr#replace_child on */ +RET_LABEL:; +} +/* method parser_prod#ANotExpr#n_kwnot= for (self: ANotExpr, TKwnot) */ +void parser_prod__ANotExpr__n_kwnot_61d(val* self, val* p0) { +val* var_node /* var node: TKwnot */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_node; /* _n_kwnot on */ { -parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#ANotExpr#n_kwnot= for (self: Object, TKwnot) */ +void VIRTUAL_parser_prod__ANotExpr__n_kwnot_61d(val* self, val* p0) { +parser_prod__ANotExpr__n_kwnot_61d(self, p0); /* Direct call parser_prod#ANotExpr#n_kwnot= on */ +RET_LABEL:; } -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +/* method parser_prod#ANotExpr#n_expr= for (self: ANotExpr, AExpr) */ +void parser_prod__ANotExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_node; /* _n_expr on */ { -parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } -/* method parser_prod#AVardeclExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AVardeclExpr__visit_all(val* self, val* p0) { -parser_prod__AVardeclExpr__visit_all(self, p0); /* Direct call parser_prod#AVardeclExpr#visit_all on */ +/* method parser_prod#ANotExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ANotExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ANotExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ANotExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AReturnExpr#init_areturnexpr for (self: AReturnExpr, nullable TKwreturn, nullable AExpr) */ -void parser_prod__AReturnExpr__init_areturnexpr(val* self, val* p0, val* p1) { -val* var_n_kwreturn /* var n_kwreturn: nullable TKwreturn */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var8 /* : null */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; -short int var14 /* : Bool */; -var_n_kwreturn = p0; -var_n_expr = p1; -self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val = var_n_kwreturn; /* _n_kwreturn on */ -var = NULL; -if (var_n_kwreturn == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#ANotExpr#visit_all for (self: ANotExpr, Visitor) */ +void parser_prod__ANotExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TKwnot */; +val* var1 /* : AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3228); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_n_kwreturn,var) on */ -var_other = var; { -var5 = ((short int (*)(val*, val*))(var_n_kwreturn->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwreturn, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = var2; +var1 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3229); +show_backtrace(1); } -if (var1){ { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwreturn,self) on */ -var_n_kwreturn->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } +RET_LABEL:; } -} else { +/* method parser_prod#ANotExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ANotExpr__visit_all(val* self, val* p0) { +parser_prod__ANotExpr__visit_all(self, p0); /* Direct call parser_prod#ANotExpr#visit_all on */ +RET_LABEL:; +} +/* method parser_prod#AEqExpr#init_aeqexpr for (self: AEqExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AEqExpr__init_aeqexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3238); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val = var_n_expr; /* _n_expr on */ -var8 = NULL; +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ if (var_n_expr == NULL) { -var9 = 0; /* is null */ +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3239); +show_backtrace(1); } else { -var9 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_n_expr,var8) on */ -var_other = var8; -{ -var13 = ((short int (*)(val*, val*))(var_n_expr->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_expr, var_other) /* == on */; -var12 = var13; +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -var14 = !var12; -var10 = var14; -goto RET_LABEL11; -RET_LABEL11:(void)0; } -var9 = var10; +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3240); +show_backtrace(1); } -if (var9){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ -var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL15:(void)0; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3241); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AReturnExpr#init_areturnexpr for (self: Object, nullable TKwreturn, nullable AExpr) */ -void VIRTUAL_parser_prod__AReturnExpr__init_areturnexpr(val* self, val* p0, val* p1) { -parser_prod__AReturnExpr__init_areturnexpr(self, p0, p1); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on */ +/* method parser_prod#AEqExpr#init_aeqexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AEqExpr__init_aeqexpr(val* self, val* p0, val* p1) { +parser_prod__AEqExpr__init_aeqexpr(self, p0, p1); /* Direct call parser_prod#AEqExpr#init_aeqexpr on */ RET_LABEL:; } -/* method parser_prod#AReturnExpr#replace_child for (self: AReturnExpr, ANode, nullable ANode) */ -void parser_prod__AReturnExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AEqExpr#replace_child for (self: AEqExpr, ANode, nullable ANode) */ +void parser_prod__AEqExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : nullable TKwreturn */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -2910,7 +2816,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : nullable AExpr */; +val* var8 /* : AExpr */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -2921,14 +2827,17 @@ int idtype17; const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val; /* _n_kwreturn on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3246); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -2942,11 +2851,11 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa nullable TKwreturn */ -cltype = type_nullable_parser_nodes__TKwreturn.color; -idtype = type_nullable_parser_nodes__TKwreturn.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var7 = 1; +var7 = 0; } else { if(cltype >= var_new_child->type->table_size) { var7 = 0; @@ -2956,24 +2865,27 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwreturn", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3093); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3247); show_backtrace(1); } { -parser_prod__AReturnExpr__n_kwreturn_61d(self, var_new_child); /* Direct call parser_prod#AReturnExpr#n_kwreturn= on */ +parser_prod__AEqExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val; /* _n_expr on */ -if (var8 == NULL) { -var9 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3250); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -2987,11 +2899,11 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa nullable AExpr */ -cltype16 = type_nullable_parser_nodes__AExpr.color; -idtype17 = type_nullable_parser_nodes__AExpr.id; +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var15 = 1; +var15 = 0; } else { if(cltype16 >= var_new_child->type->table_size) { var15 = 0; @@ -3001,216 +2913,150 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3097); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3251); show_backtrace(1); } { -parser_prod__AReturnExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AReturnExpr#n_expr= on */ +parser_prod__AEqExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr2= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AReturnExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AReturnExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AReturnExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AReturnExpr#replace_child on */ +/* method parser_prod#AEqExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AEqExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AEqExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AEqExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AReturnExpr#n_kwreturn= for (self: AReturnExpr, nullable TKwreturn) */ -void parser_prod__AReturnExpr__n_kwreturn_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwreturn */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +/* method parser_prod#AEqExpr#n_expr= for (self: AEqExpr, AExpr) */ +void parser_prod__AEqExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val = var_node; /* _n_kwreturn on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AReturnExpr#n_kwreturn= for (self: Object, nullable TKwreturn) */ -void VIRTUAL_parser_prod__AReturnExpr__n_kwreturn_61d(val* self, val* p0) { -parser_prod__AReturnExpr__n_kwreturn_61d(self, p0); /* Direct call parser_prod#AReturnExpr#n_kwreturn= on */ +/* method parser_prod#AEqExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AEqExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AEqExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AEqExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AReturnExpr#n_expr= for (self: AReturnExpr, nullable AExpr) */ -void parser_prod__AReturnExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +/* method parser_prod#AEqExpr#n_expr2= for (self: AEqExpr, AExpr) */ +void parser_prod__AEqExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val = var_node; /* _n_expr on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AReturnExpr#n_expr= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AReturnExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AReturnExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AReturnExpr#n_expr= on */ +/* method parser_prod#AEqExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AEqExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AEqExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AEqExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#AReturnExpr#visit_all for (self: AReturnExpr, Visitor) */ -void parser_prod__AReturnExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AEqExpr#visit_all for (self: AEqExpr, Visitor) */ +void parser_prod__AEqExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : nullable TKwreturn */; -val* var1 /* : nullable AExpr */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val; /* _n_kwreturn on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3270); +show_backtrace(1); +} { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val; /* _n_expr on */ +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3271); +show_backtrace(1); +} { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AReturnExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AReturnExpr__visit_all(val* self, val* p0) { -parser_prod__AReturnExpr__visit_all(self, p0); /* Direct call parser_prod#AReturnExpr#visit_all on */ +/* method parser_prod#AEqExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AEqExpr__visit_all(val* self, val* p0) { +parser_prod__AEqExpr__visit_all(self, p0); /* Direct call parser_prod#AEqExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ABreakExpr#init_abreakexpr for (self: ABreakExpr, nullable TKwbreak, nullable ALabel) */ -void parser_prod__ABreakExpr__init_abreakexpr(val* self, val* p0, val* p1) { -val* var_n_kwbreak /* var n_kwbreak: nullable TKwbreak */; -val* var_n_label /* var n_label: nullable ALabel */; -val* var /* : null */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -short int var7 /* : Bool */; -var_n_kwbreak = p0; -var_n_label = p1; -if (unlikely(var_n_kwbreak == NULL)) { +/* method parser_prod#ANeExpr#init_aneexpr for (self: ANeExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__ANeExpr__init_aneexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3126); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3280); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABreakExpr___n_kwbreak].val = var_n_kwbreak; /* _n_kwbreak on */ -if (var_n_kwbreak == NULL) { +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3127); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3281); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwbreak,self) on */ -if (unlikely(var_n_kwbreak == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_kwbreak->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ -var = NULL; -if (var_n_label == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_label,var) on */ -var_other = var; -{ -var6 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on */; -var5 = var6; -} -var7 = !var5; -var3 = var7; -goto RET_LABEL4; -RET_LABEL4:(void)0; -} -var2 = var3; +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3282); +show_backtrace(1); } -if (var2){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on */ -var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL8:(void)0; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3283); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#ABreakExpr#init_abreakexpr for (self: Object, nullable TKwbreak, nullable ALabel) */ -void VIRTUAL_parser_prod__ABreakExpr__init_abreakexpr(val* self, val* p0, val* p1) { -parser_prod__ABreakExpr__init_abreakexpr(self, p0, p1); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on */ +/* method parser_prod#ANeExpr#init_aneexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__ANeExpr__init_aneexpr(val* self, val* p0, val* p1) { +parser_prod__ANeExpr__init_aneexpr(self, p0, p1); /* Direct call parser_prod#ANeExpr#init_aneexpr on */ RET_LABEL:; } -/* method parser_prod#ABreakExpr#replace_child for (self: ABreakExpr, ANode, nullable ANode) */ -void parser_prod__ABreakExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ANeExpr#replace_child for (self: ANeExpr, ANode, nullable ANode) */ +void parser_prod__ANeExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwbreak */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -3220,7 +3066,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : nullable ALabel */; +val* var8 /* : AExpr */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -3231,17 +3077,17 @@ int idtype17; const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ABreakExpr___n_kwbreak].val; /* _n_kwbreak on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwbreak"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3134); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3288); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -3255,9 +3101,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TKwbreak */ -cltype = type_parser_nodes__TKwbreak.color; -idtype = type_parser_nodes__TKwbreak.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -3269,24 +3115,27 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwbreak", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3135); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3289); show_backtrace(1); } { -parser_prod__ABreakExpr__n_kwbreak_61d(self, var_new_child); /* Direct call parser_prod#ABreakExpr#n_kwbreak= on */ +parser_prod__ANeExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var8 == NULL) { -var9 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3292); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -3300,11 +3149,11 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa nullable ALabel */ -cltype16 = type_nullable_parser_nodes__ALabel.color; -idtype17 = type_nullable_parser_nodes__ALabel.id; +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var15 = 1; +var15 = 0; } else { if(cltype16 >= var_new_child->type->table_size) { var15 = 0; @@ -3314,152 +3163,150 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3139); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3293); show_backtrace(1); } { -parser_prod__ABreakExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#ABreakExpr#n_label= on */ +parser_prod__ANeExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr2= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ABreakExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ABreakExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ABreakExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ABreakExpr#replace_child on */ +/* method parser_prod#ANeExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ANeExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ANeExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ANeExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ABreakExpr#n_kwbreak= for (self: ABreakExpr, TKwbreak) */ -void parser_prod__ABreakExpr__n_kwbreak_61d(val* self, val* p0) { -val* var_node /* var node: TKwbreak */; +/* method parser_prod#ANeExpr#n_expr= for (self: ANeExpr, AExpr) */ +void parser_prod__ANeExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__ABreakExpr___n_kwbreak].val = var_node; /* _n_kwbreak on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#ABreakExpr#n_kwbreak= for (self: Object, TKwbreak) */ -void VIRTUAL_parser_prod__ABreakExpr__n_kwbreak_61d(val* self, val* p0) { -parser_prod__ABreakExpr__n_kwbreak_61d(self, p0); /* Direct call parser_prod#ABreakExpr#n_kwbreak= on */ +/* method parser_prod#ANeExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ANeExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ANeExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ANeExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#ABreakExpr#n_label= for (self: ABreakExpr, nullable ALabel) */ -void parser_prod__ABreakExpr__n_label_61d(val* self, val* p0) { -val* var_node /* var node: nullable ALabel */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +/* method parser_prod#ANeExpr#n_expr2= for (self: ANeExpr, AExpr) */ +void parser_prod__ANeExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#ABreakExpr#n_label= for (self: Object, nullable ALabel) */ -void VIRTUAL_parser_prod__ABreakExpr__n_label_61d(val* self, val* p0) { -parser_prod__ABreakExpr__n_label_61d(self, p0); /* Direct call parser_prod#ABreakExpr#n_label= on */ +/* method parser_prod#ANeExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ANeExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__ANeExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#ANeExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#ABreakExpr#visit_all for (self: ABreakExpr, Visitor) */ -void parser_prod__ABreakExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ANeExpr#visit_all for (self: ANeExpr, Visitor) */ +void parser_prod__ANeExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwbreak */; -val* var1 /* : nullable ALabel */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ABreakExpr___n_kwbreak].val; /* _n_kwbreak on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwbreak"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3158); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3312); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3313); +show_backtrace(1); +} { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#ABreakExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ABreakExpr__visit_all(val* self, val* p0) { -parser_prod__ABreakExpr__visit_all(self, p0); /* Direct call parser_prod#ABreakExpr#visit_all on */ +/* method parser_prod#ANeExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ANeExpr__visit_all(val* self, val* p0) { +parser_prod__ANeExpr__visit_all(self, p0); /* Direct call parser_prod#ANeExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AAbortExpr#init_aabortexpr for (self: AAbortExpr, nullable TKwabort) */ -void parser_prod__AAbortExpr__init_aabortexpr(val* self, val* p0) { -val* var_n_kwabort /* var n_kwabort: nullable TKwabort */; -var_n_kwabort = p0; -if (unlikely(var_n_kwabort == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3167); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val = var_n_kwabort; /* _n_kwabort on */ -if (var_n_kwabort == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3168); -show_backtrace(1); -} else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwabort,self) on */ -if (unlikely(var_n_kwabort == NULL)) { +/* method parser_prod#ALtExpr#init_altexpr for (self: ALtExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__ALtExpr__init_altexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3322); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3323); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_kwabort->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3324); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3325); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#AAbortExpr#init_aabortexpr for (self: Object, nullable TKwabort) */ -void VIRTUAL_parser_prod__AAbortExpr__init_aabortexpr(val* self, val* p0) { -parser_prod__AAbortExpr__init_aabortexpr(self, p0); /* Direct call parser_prod#AAbortExpr#init_aabortexpr on */ +/* method parser_prod#ALtExpr#init_altexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__ALtExpr__init_altexpr(val* self, val* p0, val* p1) { +parser_prod__ALtExpr__init_altexpr(self, p0, p1); /* Direct call parser_prod#ALtExpr#init_altexpr on */ RET_LABEL:; } -/* method parser_prod#AAbortExpr#replace_child for (self: AAbortExpr, ANode, nullable ANode) */ -void parser_prod__AAbortExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ALtExpr#replace_child for (self: ALtExpr, ANode, nullable ANode) */ +void parser_prod__ALtExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwabort */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -3469,19 +3316,28 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; +val* var8 /* : AExpr */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val; /* _n_kwabort on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwabort"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3173); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3330); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -3495,9 +3351,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TKwabort */ -cltype = type_parser_nodes__TKwabort.color; -idtype = type_parser_nodes__TKwabort.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -3509,153 +3365,198 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwabort", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3174); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3331); +show_backtrace(1); +} +{ +parser_prod__ALtExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_expr= on */ +} +goto RET_LABEL; +} else { +} +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3334); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +} +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; +} +if (var9){ +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3335); show_backtrace(1); } { -parser_prod__AAbortExpr__n_kwabort_61d(self, var_new_child); /* Direct call parser_prod#AAbortExpr#n_kwabort= on */ +parser_prod__ALtExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALtExpr#n_expr2= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AAbortExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AAbortExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AAbortExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAbortExpr#replace_child on */ +/* method parser_prod#ALtExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ALtExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ALtExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ALtExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AAbortExpr#n_kwabort= for (self: AAbortExpr, TKwabort) */ -void parser_prod__AAbortExpr__n_kwabort_61d(val* self, val* p0) { -val* var_node /* var node: TKwabort */; +/* method parser_prod#ALtExpr#n_expr= for (self: ALtExpr, AExpr) */ +void parser_prod__ALtExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val = var_node; /* _n_kwabort on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#AAbortExpr#n_kwabort= for (self: Object, TKwabort) */ -void VIRTUAL_parser_prod__AAbortExpr__n_kwabort_61d(val* self, val* p0) { -parser_prod__AAbortExpr__n_kwabort_61d(self, p0); /* Direct call parser_prod#AAbortExpr#n_kwabort= on */ +/* method parser_prod#ALtExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ALtExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ALtExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ALtExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AAbortExpr#visit_all for (self: AAbortExpr, Visitor) */ -void parser_prod__AAbortExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TKwabort */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val; /* _n_kwabort on */ -if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwabort"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3188); -show_backtrace(1); -} +/* method parser_prod#ALtExpr#n_expr2= for (self: ALtExpr, AExpr) */ +void parser_prod__ALtExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ { -parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } -/* method parser_prod#AAbortExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AAbortExpr__visit_all(val* self, val* p0) { -parser_prod__AAbortExpr__visit_all(self, p0); /* Direct call parser_prod#AAbortExpr#visit_all on */ +/* method parser_prod#ALtExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ALtExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__ALtExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#ALtExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#AContinueExpr#init_acontinueexpr for (self: AContinueExpr, nullable TKwcontinue, nullable ALabel) */ -void parser_prod__AContinueExpr__init_acontinueexpr(val* self, val* p0, val* p1) { -val* var_n_kwcontinue /* var n_kwcontinue: nullable TKwcontinue */; -val* var_n_label /* var n_label: nullable ALabel */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var8 /* : null */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; -short int var14 /* : Bool */; -var_n_kwcontinue = p0; -var_n_label = p1; -self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val = var_n_kwcontinue; /* _n_kwcontinue on */ -var = NULL; -if (var_n_kwcontinue == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#ALtExpr#visit_all for (self: ALtExpr, Visitor) */ +void parser_prod__ALtExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3354); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_n_kwcontinue,var) on */ -var_other = var; { -var5 = ((short int (*)(val*, val*))(var_n_kwcontinue->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwcontinue, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = var2; +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3355); +show_backtrace(1); } -if (var1){ { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwcontinue,self) on */ -var_n_kwcontinue->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } +RET_LABEL:; } -} else { +/* method parser_prod#ALtExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ALtExpr__visit_all(val* self, val* p0) { +parser_prod__ALtExpr__visit_all(self, p0); /* Direct call parser_prod#ALtExpr#visit_all on */ +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ -var8 = NULL; -if (var_n_label == NULL) { -var9 = 0; /* is null */ +/* method parser_prod#ALeExpr#init_aleexpr for (self: ALeExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__ALeExpr__init_aleexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3364); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3365); +show_backtrace(1); } else { -var9 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_n_label,var8) on */ -var_other = var8; -{ -var13 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on */; -var12 = var13; +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -var14 = !var12; -var10 = var14; -goto RET_LABEL11; -RET_LABEL11:(void)0; } -var9 = var10; +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3366); +show_backtrace(1); } -if (var9){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on */ -var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL15:(void)0; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3367); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AContinueExpr#init_acontinueexpr for (self: Object, nullable TKwcontinue, nullable ALabel) */ -void VIRTUAL_parser_prod__AContinueExpr__init_acontinueexpr(val* self, val* p0, val* p1) { -parser_prod__AContinueExpr__init_acontinueexpr(self, p0, p1); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on */ +/* method parser_prod#ALeExpr#init_aleexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__ALeExpr__init_aleexpr(val* self, val* p0, val* p1) { +parser_prod__ALeExpr__init_aleexpr(self, p0, p1); /* Direct call parser_prod#ALeExpr#init_aleexpr on */ RET_LABEL:; } -/* method parser_prod#AContinueExpr#replace_child for (self: AContinueExpr, ANode, nullable ANode) */ -void parser_prod__AContinueExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ALeExpr#replace_child for (self: ALeExpr, ANode, nullable ANode) */ +void parser_prod__ALeExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : nullable TKwcontinue */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -3665,7 +3566,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : nullable ALabel */; +val* var8 /* : AExpr */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -3676,14 +3577,17 @@ int idtype17; const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val; /* _n_kwcontinue on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3372); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -3697,11 +3601,11 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa nullable TKwcontinue */ -cltype = type_nullable_parser_nodes__TKwcontinue.color; -idtype = type_nullable_parser_nodes__TKwcontinue.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var7 = 1; +var7 = 0; } else { if(cltype >= var_new_child->type->table_size) { var7 = 0; @@ -3711,24 +3615,27 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwcontinue", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3206); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3373); show_backtrace(1); } { -parser_prod__AContinueExpr__n_kwcontinue_61d(self, var_new_child); /* Direct call parser_prod#AContinueExpr#n_kwcontinue= on */ +parser_prod__ALeExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var8 == NULL) { -var9 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3376); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -3742,11 +3649,11 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa nullable ALabel */ -cltype16 = type_nullable_parser_nodes__ALabel.color; -idtype17 = type_nullable_parser_nodes__ALabel.id; +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var15 = 1; +var15 = 0; } else { if(cltype16 >= var_new_child->type->table_size) { var15 = 0; @@ -3756,254 +3663,150 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3210); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3377); show_backtrace(1); } { -parser_prod__AContinueExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#AContinueExpr#n_label= on */ +parser_prod__ALeExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALeExpr#n_expr2= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AContinueExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AContinueExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AContinueExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AContinueExpr#replace_child on */ +/* method parser_prod#ALeExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ALeExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ALeExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ALeExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AContinueExpr#n_kwcontinue= for (self: AContinueExpr, nullable TKwcontinue) */ -void parser_prod__AContinueExpr__n_kwcontinue_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwcontinue */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +/* method parser_prod#ALeExpr#n_expr= for (self: ALeExpr, AExpr) */ +void parser_prod__ALeExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val = var_node; /* _n_kwcontinue on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} -} -} else { } RET_LABEL:; } -/* method parser_prod#AContinueExpr#n_kwcontinue= for (self: Object, nullable TKwcontinue) */ -void VIRTUAL_parser_prod__AContinueExpr__n_kwcontinue_61d(val* self, val* p0) { -parser_prod__AContinueExpr__n_kwcontinue_61d(self, p0); /* Direct call parser_prod#AContinueExpr#n_kwcontinue= on */ +/* method parser_prod#ALeExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ALeExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ALeExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ALeExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AContinueExpr#n_label= for (self: AContinueExpr, nullable ALabel) */ -void parser_prod__AContinueExpr__n_label_61d(val* self, val* p0) { -val* var_node /* var node: nullable ALabel */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +/* method parser_prod#ALeExpr#n_expr2= for (self: ALeExpr, AExpr) */ +void parser_prod__ALeExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AContinueExpr#n_label= for (self: Object, nullable ALabel) */ -void VIRTUAL_parser_prod__AContinueExpr__n_label_61d(val* self, val* p0) { -parser_prod__AContinueExpr__n_label_61d(self, p0); /* Direct call parser_prod#AContinueExpr#n_label= on */ +/* method parser_prod#ALeExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ALeExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__ALeExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#ALeExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#AContinueExpr#visit_all for (self: AContinueExpr, Visitor) */ -void parser_prod__AContinueExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ALeExpr#visit_all for (self: ALeExpr, Visitor) */ +void parser_prod__ALeExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : nullable TKwcontinue */; -val* var1 /* : nullable ALabel */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val; /* _n_kwcontinue on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3396); +show_backtrace(1); +} { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3397); +show_backtrace(1); +} { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AContinueExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AContinueExpr__visit_all(val* self, val* p0) { -parser_prod__AContinueExpr__visit_all(self, p0); /* Direct call parser_prod#AContinueExpr#visit_all on */ +/* method parser_prod#ALeExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ALeExpr__visit_all(val* self, val* p0) { +parser_prod__ALeExpr__visit_all(self, p0); /* Direct call parser_prod#ALeExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ADoExpr#init_adoexpr for (self: ADoExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */ -void parser_prod__ADoExpr__init_adoexpr(val* self, val* p0, val* p1, val* p2) { -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 /* : null */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -short int var7 /* : Bool */; -val* var9 /* : null */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; -short int var13 /* : Bool */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -var_n_kwdo = p0; -var_n_block = p1; -var_n_label = p2; -if (unlikely(var_n_kwdo == NULL)) { +/* method parser_prod#ALlExpr#init_allexpr for (self: ALlExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__ALlExpr__init_allexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3240); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3406); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on */ -if (var_n_kwdo == NULL) { +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3241); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3407); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on */ -if (unlikely(var_n_kwdo == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_kwdo->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val = var_n_block; /* _n_block on */ -var = NULL; -if (var_n_block == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_block,var) on */ -var_other = var; -{ -var6 = ((short int (*)(val*, val*))(var_n_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_block, var_other) /* == on */; -var5 = var6; -} -var7 = !var5; -var3 = var7; -goto RET_LABEL4; -RET_LABEL4:(void)0; -} -var2 = var3; -} -if (var2){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on */ -var_n_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL8:(void)0; -} -} -} else { +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3408); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ -var9 = NULL; -if (var_n_label == NULL) { -var10 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3409); +show_backtrace(1); } else { -var10 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_label,var9) on */ -var_other = var9; -{ -var14 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on */; -var13 = var14; -} -var15 = !var13; -var11 = var15; -goto RET_LABEL12; -RET_LABEL12:(void)0; -} -var10 = var11; -} -if (var10){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on */ -var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL16:(void)0; +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#ADoExpr#init_adoexpr for (self: Object, nullable TKwdo, nullable AExpr, nullable ALabel) */ -void VIRTUAL_parser_prod__ADoExpr__init_adoexpr(val* self, val* p0, val* p1, val* p2) { -parser_prod__ADoExpr__init_adoexpr(self, p0, p1, p2); /* Direct call parser_prod#ADoExpr#init_adoexpr on */ +/* method parser_prod#ALlExpr#init_allexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__ALlExpr__init_allexpr(val* self, val* p0, val* p1) { +parser_prod__ALlExpr__init_allexpr(self, p0, p1); /* Direct call parser_prod#ALlExpr#init_allexpr on */ RET_LABEL:; } -/* method parser_prod#ADoExpr#replace_child for (self: ADoExpr, ANode, nullable ANode) */ -void parser_prod__ADoExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ALlExpr#replace_child for (self: ALlExpr, ANode, nullable ANode) */ +void parser_prod__ALlExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwdo */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -4013,7 +3816,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : nullable AExpr */; +val* var8 /* : AExpr */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -4022,28 +3825,19 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; -val* var19 /* : nullable ALabel */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -const char* var_class_name29; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val; /* _n_kwdo on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3250); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3414); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -4057,9 +3851,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TKwdo */ -cltype = type_parser_nodes__TKwdo.color; -idtype = type_parser_nodes__TKwdo.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -4071,24 +3865,27 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3251); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3415); show_backtrace(1); } { -parser_prod__ADoExpr__n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#ADoExpr#n_kwdo= on */ +parser_prod__ALlExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val; /* _n_block on */ -if (var8 == NULL) { -var9 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3418); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -4102,11 +3899,11 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa nullable AExpr */ -cltype16 = type_nullable_parser_nodes__AExpr.color; -idtype17 = type_nullable_parser_nodes__AExpr.id; +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var15 = 1; +var15 = 0; } else { if(cltype16 >= var_new_child->type->table_size) { var15 = 0; @@ -4116,350 +3913,150 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3255); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3419); show_backtrace(1); } { -parser_prod__ADoExpr__n_block_61d(self, var_new_child); /* Direct call parser_prod#ADoExpr#n_block= on */ +parser_prod__ALlExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ALlExpr#n_expr2= on */ } goto RET_LABEL; } else { } -var19 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var19 == NULL) { -var20 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var19,var_old_child) on */ -var_other = var_old_child; -{ -{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ -var25 = var19 == var_other; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; -} -} -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; -} -var20 = var21; -} -if (var20){ -/* isa nullable ALabel */ -cltype27 = type_nullable_parser_nodes__ALabel.color; -idtype28 = type_nullable_parser_nodes__ALabel.id; -if(var_new_child == NULL) { -var26 = 1; -} else { -if(cltype27 >= var_new_child->type->table_size) { -var26 = 0; -} else { -var26 = var_new_child->type->type_table[cltype27] == idtype28; -} +RET_LABEL:; } -if (unlikely(!var26)) { -var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3259); -show_backtrace(1); +/* method parser_prod#ALlExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ALlExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ALlExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ALlExpr#replace_child on */ +RET_LABEL:; } +/* method parser_prod#ALlExpr#n_expr= for (self: ALlExpr, AExpr) */ +void parser_prod__ALlExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { -parser_prod__ADoExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#ADoExpr#n_label= on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -goto RET_LABEL; -} else { } RET_LABEL:; } -/* method parser_prod#ADoExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ADoExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ADoExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ADoExpr#replace_child on */ +/* method parser_prod#ALlExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ALlExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ALlExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ALlExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#ADoExpr#n_kwdo= for (self: ADoExpr, TKwdo) */ -void parser_prod__ADoExpr__n_kwdo_61d(val* self, val* p0) { -val* var_node /* var node: TKwdo */; +/* method parser_prod#ALlExpr#n_expr2= for (self: ALlExpr, AExpr) */ +void parser_prod__ALlExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val = var_node; /* _n_kwdo on */ +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#ADoExpr#n_kwdo= for (self: Object, TKwdo) */ -void VIRTUAL_parser_prod__ADoExpr__n_kwdo_61d(val* self, val* p0) { -parser_prod__ADoExpr__n_kwdo_61d(self, p0); /* Direct call parser_prod#ADoExpr#n_kwdo= on */ +/* method parser_prod#ALlExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ALlExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__ALlExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#ALlExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#ADoExpr#n_block= for (self: ADoExpr, nullable AExpr) */ -void parser_prod__ADoExpr__n_block_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val = var_node; /* _n_block on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#ALlExpr#visit_all for (self: ALlExpr, Visitor) */ +void parser_prod__ALlExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3438); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; { -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = var2; +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3439); +show_backtrace(1); } -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} -} -} else { -} -RET_LABEL:; -} -/* method parser_prod#ADoExpr#n_block= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__ADoExpr__n_block_61d(val* self, val* p0) { -parser_prod__ADoExpr__n_block_61d(self, p0); /* Direct call parser_prod#ADoExpr#n_block= on */ -RET_LABEL:; -} -/* method parser_prod#ADoExpr#n_label= for (self: ADoExpr, nullable ALabel) */ -void parser_prod__ADoExpr__n_label_61d(val* self, val* p0) { -val* var_node /* var node: nullable ALabel */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} -} -} else { -} -RET_LABEL:; -} -/* method parser_prod#ADoExpr#n_label= for (self: Object, nullable ALabel) */ -void VIRTUAL_parser_prod__ADoExpr__n_label_61d(val* self, val* p0) { -parser_prod__ADoExpr__n_label_61d(self, p0); /* Direct call parser_prod#ADoExpr#n_label= on */ -RET_LABEL:; -} -/* method parser_prod#ADoExpr#visit_all for (self: ADoExpr, Visitor) */ -void parser_prod__ADoExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TKwdo */; -val* var1 /* : nullable AExpr */; -val* var2 /* : nullable ALabel */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val; /* _n_kwdo on */ -if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3283); -show_backtrace(1); -} -{ -parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var1 = self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val; /* _n_block on */ { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var2 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -{ -parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ -} RET_LABEL:; } -/* method parser_prod#ADoExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ADoExpr__visit_all(val* self, val* p0) { -parser_prod__ADoExpr__visit_all(self, p0); /* Direct call parser_prod#ADoExpr#visit_all on */ +/* method parser_prod#ALlExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ALlExpr__visit_all(val* self, val* p0) { +parser_prod__ALlExpr__visit_all(self, p0); /* Direct call parser_prod#ALlExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AIfExpr#init_aifexpr for (self: AIfExpr, nullable TKwif, nullable AExpr, nullable AExpr, nullable AExpr) */ -void parser_prod__AIfExpr__init_aifexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -val* var_n_kwif /* var n_kwif: nullable TKwif */; +/* method parser_prod#AGtExpr#init_agtexpr for (self: AGtExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AGtExpr__init_agtexpr(val* self, val* p0, val* p1) { val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_then /* var n_then: nullable AExpr */; -val* var_n_else /* var n_else: nullable AExpr */; -val* var /* : null */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var6 /* : Bool */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -val* var10 /* : null */; -short int var11 /* : Bool */; -short int var12 /* : Bool */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -var_n_kwif = p0; -var_n_expr = p1; -var_n_then = p2; -var_n_else = p3; -if (unlikely(var_n_kwif == NULL)) { +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3296); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3448); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val = var_n_kwif; /* _n_kwif on */ -if (var_n_kwif == NULL) { +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3297); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3449); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwif,self) on */ -if (unlikely(var_n_kwif == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_kwif->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -if (unlikely(var_n_expr == NULL)) { +if (unlikely(var_n_expr2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3298); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3450); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3299); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3451); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ -if (unlikely(var_n_expr == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL2:(void)0; } } -self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val = var_n_then; /* _n_then on */ -var = NULL; -if (var_n_then == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_then,var) on */ -var_other = var; -{ -var7 = ((short int (*)(val*, val*))(var_n_then->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_then, var_other) /* == on */; -var6 = var7; -} -var8 = !var6; -var4 = var8; -goto RET_LABEL5; -RET_LABEL5:(void)0; -} -var3 = var4; -} -if (var3){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_then,self) on */ -var_n_then->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL9:(void)0; -} -} -} else { -} -self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val = var_n_else; /* _n_else on */ -var10 = NULL; -if (var_n_else == NULL) { -var11 = 0; /* is null */ -} else { -var11 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_else,var10) on */ -var_other = var10; -{ -var15 = ((short int (*)(val*, val*))(var_n_else->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_else, var_other) /* == on */; -var14 = var15; -} -var16 = !var14; -var12 = var16; -goto RET_LABEL13; -RET_LABEL13:(void)0; -} -var11 = var12; -} -if (var11){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_else,self) on */ -var_n_else->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL17:(void)0; -} -} -} else { -} RET_LABEL:; } -/* method parser_prod#AIfExpr#init_aifexpr for (self: Object, nullable TKwif, nullable AExpr, nullable AExpr, nullable AExpr) */ -void VIRTUAL_parser_prod__AIfExpr__init_aifexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__AIfExpr__init_aifexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#AIfExpr#init_aifexpr on */ +/* method parser_prod#AGtExpr#init_agtexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AGtExpr__init_agtexpr(val* self, val* p0, val* p1) { +parser_prod__AGtExpr__init_agtexpr(self, p0, p1); /* Direct call parser_prod#AGtExpr#init_agtexpr on */ RET_LABEL:; } -/* method parser_prod#AIfExpr#replace_child for (self: AIfExpr, ANode, nullable ANode) */ -void parser_prod__AIfExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AGtExpr#replace_child for (self: AGtExpr, ANode, nullable ANode) */ +void parser_prod__AGtExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwif */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -4478,37 +4075,19 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; -val* var19 /* : nullable AExpr */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -const char* var_class_name29; -val* var30 /* : nullable AExpr */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -short int var34 /* : Bool */; -short int var36 /* : Bool */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -const char* var_class_name40; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val; /* _n_kwif on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3308); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3456); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -4522,9 +4101,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TKwif */ -cltype = type_parser_nodes__TKwif.color; -idtype = type_parser_nodes__TKwif.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -4536,20 +4115,20 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwif", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3309); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3457); show_backtrace(1); } { -parser_prod__AIfExpr__n_kwif_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_kwif= on */ +parser_prod__AGtExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val; /* _n_expr on */ +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3312); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3460); show_backtrace(1); } { @@ -4585,437 +4164,149 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3313); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3461); show_backtrace(1); } { -parser_prod__AIfExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_expr= on */ +parser_prod__AGtExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGtExpr#n_expr2= on */ } goto RET_LABEL; } else { } -var19 = self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on */ -if (var19 == NULL) { -var20 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var19,var_old_child) on */ -var_other = var_old_child; +RET_LABEL:; +} +/* method parser_prod#AGtExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AGtExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AGtExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AGtExpr#replace_child on */ +RET_LABEL:; +} +/* method parser_prod#AGtExpr#n_expr= for (self: AGtExpr, AExpr) */ +void parser_prod__AGtExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ -var25 = var19 == var_other; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } } -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; +RET_LABEL:; } -var20 = var21; +/* method parser_prod#AGtExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AGtExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AGtExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AGtExpr#n_expr= on */ +RET_LABEL:; } -if (var20){ -/* isa nullable AExpr */ -cltype27 = type_nullable_parser_nodes__AExpr.color; -idtype28 = type_nullable_parser_nodes__AExpr.id; -if(var_new_child == NULL) { -var26 = 1; -} else { -if(cltype27 >= var_new_child->type->table_size) { -var26 = 0; -} else { -var26 = var_new_child->type->type_table[cltype27] == idtype28; +/* method parser_prod#AGtExpr#n_expr2= for (self: AGtExpr, AExpr) */ +void parser_prod__AGtExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } } -if (unlikely(!var26)) { -var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3317); +RET_LABEL:; +} +/* method parser_prod#AGtExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AGtExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AGtExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AGtExpr#n_expr2= on */ +RET_LABEL:; +} +/* method parser_prod#AGtExpr#visit_all for (self: AGtExpr, Visitor) */ +void parser_prod__AGtExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3480); show_backtrace(1); } { -parser_prod__AIfExpr__n_then_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_then= on */ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -goto RET_LABEL; -} else { +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3481); +show_backtrace(1); } -var30 = self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ -if (var30 == NULL) { -var31 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var30,var_old_child) on */ -var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ -var36 = var30 == var_other; -var34 = var36; -goto RET_LABEL35; -RET_LABEL35:(void)0; -} +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var32 = var34; -goto RET_LABEL33; -RET_LABEL33:(void)0; +RET_LABEL:; } -var31 = var32; +/* method parser_prod#AGtExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AGtExpr__visit_all(val* self, val* p0) { +parser_prod__AGtExpr__visit_all(self, p0); /* Direct call parser_prod#AGtExpr#visit_all on */ +RET_LABEL:; } -if (var31){ -/* isa nullable AExpr */ -cltype38 = type_nullable_parser_nodes__AExpr.color; -idtype39 = type_nullable_parser_nodes__AExpr.id; -if(var_new_child == NULL) { -var37 = 1; -} else { -if(cltype38 >= var_new_child->type->table_size) { -var37 = 0; -} else { -var37 = var_new_child->type->type_table[cltype38] == idtype39; -} -} -if (unlikely(!var37)) { -var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3321); -show_backtrace(1); -} -{ -parser_prod__AIfExpr__n_else_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_else= on */ -} -goto RET_LABEL; -} else { -} -RET_LABEL:; -} -/* method parser_prod#AIfExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AIfExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AIfExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AIfExpr#replace_child on */ -RET_LABEL:; -} -/* method parser_prod#AIfExpr#n_kwif= for (self: AIfExpr, TKwif) */ -void parser_prod__AIfExpr__n_kwif_61d(val* self, val* p0) { -val* var_node /* var node: TKwif */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val = var_node; /* _n_kwif on */ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; -} -} -RET_LABEL:; -} -/* method parser_prod#AIfExpr#n_kwif= for (self: Object, TKwif) */ -void VIRTUAL_parser_prod__AIfExpr__n_kwif_61d(val* self, val* p0) { -parser_prod__AIfExpr__n_kwif_61d(self, p0); /* Direct call parser_prod#AIfExpr#n_kwif= on */ -RET_LABEL:; -} -/* method parser_prod#AIfExpr#n_expr= for (self: AIfExpr, AExpr) */ -void parser_prod__AIfExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val = var_node; /* _n_expr on */ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; -} -} -RET_LABEL:; -} -/* method parser_prod#AIfExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AIfExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AIfExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AIfExpr#n_expr= on */ -RET_LABEL:; -} -/* method parser_prod#AIfExpr#n_then= for (self: AIfExpr, nullable AExpr) */ -void parser_prod__AIfExpr__n_then_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val = var_node; /* _n_then on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} -} -} else { -} -RET_LABEL:; -} -/* method parser_prod#AIfExpr#n_then= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AIfExpr__n_then_61d(val* self, val* p0) { -parser_prod__AIfExpr__n_then_61d(self, p0); /* Direct call parser_prod#AIfExpr#n_then= on */ -RET_LABEL:; -} -/* method parser_prod#AIfExpr#n_else= for (self: AIfExpr, nullable AExpr) */ -void parser_prod__AIfExpr__n_else_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val = var_node; /* _n_else on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} -} -} else { -} -RET_LABEL:; -} -/* method parser_prod#AIfExpr#n_else= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AIfExpr__n_else_61d(val* self, val* p0) { -parser_prod__AIfExpr__n_else_61d(self, p0); /* Direct call parser_prod#AIfExpr#n_else= on */ -RET_LABEL:; -} -/* method parser_prod#AIfExpr#visit_all for (self: AIfExpr, Visitor) */ -void parser_prod__AIfExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TKwif */; -val* var1 /* : AExpr */; -val* var2 /* : nullable AExpr */; -val* var3 /* : nullable AExpr */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val; /* _n_kwif on */ -if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3350); -show_backtrace(1); -} -{ -parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var1 = self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3351); -show_backtrace(1); -} -{ -parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var2 = self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on */ -{ -parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var3 = self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ -{ -parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -RET_LABEL:; -} -/* method parser_prod#AIfExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AIfExpr__visit_all(val* self, val* p0) { -parser_prod__AIfExpr__visit_all(self, p0); /* Direct call parser_prod#AIfExpr#visit_all on */ -RET_LABEL:; -} -/* method parser_prod#AIfexprExpr#init_aifexprexpr for (self: AIfexprExpr, nullable TKwif, nullable AExpr, nullable TKwthen, nullable AExpr, nullable TKwelse, nullable AExpr) */ -void parser_prod__AIfexprExpr__init_aifexprexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -val* var_n_kwif /* var n_kwif: nullable TKwif */; +/* method parser_prod#AGeExpr#init_ageexpr for (self: AGeExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AGeExpr__init_ageexpr(val* self, val* p0, val* p1) { val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_kwthen /* var n_kwthen: nullable TKwthen */; -val* var_n_then /* var n_then: nullable AExpr */; -val* var_n_kwelse /* var n_kwelse: nullable TKwelse */; -val* var_n_else /* var n_else: nullable AExpr */; -var_n_kwif = p0; -var_n_expr = p1; -var_n_kwthen = p2; -var_n_then = p3; -var_n_kwelse = p4; -var_n_else = p5; -if (unlikely(var_n_kwif == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3366); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val = var_n_kwif; /* _n_kwif on */ -if (var_n_kwif == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3367); -show_backtrace(1); -} else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwif,self) on */ -if (unlikely(var_n_kwif == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); -show_backtrace(1); -} -var_n_kwif->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; -} -} +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3368); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3490); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val = var_n_expr; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3369); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3491); show_backtrace(1); } else { { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL2:(void)0; -} -} -if (unlikely(var_n_kwthen == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3370); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val = var_n_kwthen; /* _n_kwthen on */ -if (var_n_kwthen == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3371); -show_backtrace(1); -} else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwthen,self) on */ -if (unlikely(var_n_kwthen == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); -show_backtrace(1); -} -var_n_kwthen->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL3:(void)0; -} -} -if (unlikely(var_n_then == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3372); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val = var_n_then; /* _n_then on */ -if (var_n_then == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3373); -show_backtrace(1); -} else { -{ /* Inline parser_nodes#ANode#parent= (var_n_then,self) on */ -if (unlikely(var_n_then == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); -show_backtrace(1); -} -var_n_then->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL4:(void)0; -} -} -if (unlikely(var_n_kwelse == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3374); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val = var_n_kwelse; /* _n_kwelse on */ -if (var_n_kwelse == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3375); -show_backtrace(1); -} else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwelse,self) on */ -if (unlikely(var_n_kwelse == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); -show_backtrace(1); -} -var_n_kwelse->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL5:(void)0; +RET_LABEL1:(void)0; } } -if (unlikely(var_n_else == NULL)) { +if (unlikely(var_n_expr2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3376); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3492); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val = var_n_else; /* _n_else on */ -if (var_n_else == NULL) { +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3377); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3493); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_else,self) on */ -if (unlikely(var_n_else == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_else->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL6:(void)0; +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } } RET_LABEL:; } -/* method parser_prod#AIfexprExpr#init_aifexprexpr for (self: Object, nullable TKwif, nullable AExpr, nullable TKwthen, nullable AExpr, nullable TKwelse, nullable AExpr) */ -void VIRTUAL_parser_prod__AIfexprExpr__init_aifexprexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -parser_prod__AIfexprExpr__init_aifexprexpr(self, p0, p1, p2, p3, p4, p5); /* Direct call parser_prod#AIfexprExpr#init_aifexprexpr on */ +/* method parser_prod#AGeExpr#init_ageexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AGeExpr__init_ageexpr(val* self, val* p0, val* p1) { +parser_prod__AGeExpr__init_ageexpr(self, p0, p1); /* Direct call parser_prod#AGeExpr#init_ageexpr on */ RET_LABEL:; } -/* method parser_prod#AIfexprExpr#replace_child for (self: AIfexprExpr, ANode, nullable ANode) */ -void parser_prod__AIfexprExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AGeExpr#replace_child for (self: AGeExpr, ANode, nullable ANode) */ +void parser_prod__AGeExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwif */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -5034,55 +4325,19 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; -val* var19 /* : TKwthen */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -const char* var_class_name29; -val* var30 /* : AExpr */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -short int var34 /* : Bool */; -short int var36 /* : Bool */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -const char* var_class_name40; -val* var41 /* : TKwelse */; -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 /* : AExpr */; -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_parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3382); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3498); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -5096,9 +4351,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TKwif */ -cltype = type_parser_nodes__TKwif.color; -idtype = type_parser_nodes__TKwif.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -5110,20 +4365,20 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwif", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3383); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3499); show_backtrace(1); } { -parser_prod__AIfexprExpr__n_kwif_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_kwif= on */ +parser_prod__AGeExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on */ +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3386); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3502); show_backtrace(1); } { @@ -5159,273 +4414,277 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3387); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3503); show_backtrace(1); } { -parser_prod__AIfexprExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_expr= on */ +parser_prod__AGeExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGeExpr#n_expr2= on */ } goto RET_LABEL; } else { } -var19 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on */ -if (unlikely(var19 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwthen"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3390); -show_backtrace(1); +RET_LABEL:; } +/* method parser_prod#AGeExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AGeExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AGeExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AGeExpr#replace_child on */ +RET_LABEL:; +} +/* method parser_prod#AGeExpr#n_expr= for (self: AGeExpr, AExpr) */ +void parser_prod__AGeExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline kernel#Object#== (var19,var_old_child) on */ -var_other = var_old_child; -{ -{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ -var25 = var19 == var_other; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } } -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; +RET_LABEL:; } -var20 = var21; +/* method parser_prod#AGeExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AGeExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AGeExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AGeExpr#n_expr= on */ +RET_LABEL:; } -if (var20){ -/* isa TKwthen */ -cltype27 = type_parser_nodes__TKwthen.color; -idtype28 = type_parser_nodes__TKwthen.id; -if(var_new_child == NULL) { -var26 = 0; -} else { -if(cltype27 >= var_new_child->type->table_size) { -var26 = 0; -} else { -var26 = var_new_child->type->type_table[cltype27] == idtype28; +/* method parser_prod#AGeExpr#n_expr2= for (self: AGeExpr, AExpr) */ +void parser_prod__AGeExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } } -if (unlikely(!var26)) { -var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwthen", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3391); +RET_LABEL:; +} +/* method parser_prod#AGeExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AGeExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AGeExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AGeExpr#n_expr2= on */ +RET_LABEL:; +} +/* method parser_prod#AGeExpr#visit_all for (self: AGeExpr, Visitor) */ +void parser_prod__AGeExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3522); show_backtrace(1); } { -parser_prod__AIfexprExpr__n_kwthen_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_kwthen= on */ -} -goto RET_LABEL; -} else { +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var30 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on */ -if (unlikely(var30 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3394); +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3523); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var30,var_old_child) on */ -var_other = var_old_child; -{ -{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ -var36 = var30 == var_other; -var34 = var36; -goto RET_LABEL35; -RET_LABEL35:(void)0; +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } +RET_LABEL:; } -var32 = var34; -goto RET_LABEL33; -RET_LABEL33:(void)0; +/* method parser_prod#AGeExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AGeExpr__visit_all(val* self, val* p0) { +parser_prod__AGeExpr__visit_all(self, p0); /* Direct call parser_prod#AGeExpr#visit_all on */ +RET_LABEL:; } -var31 = var32; +/* method parser_prod#AGgExpr#init_aggexpr for (self: AGgExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AGgExpr__init_aggexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3532); +show_backtrace(1); } -if (var31){ -/* isa AExpr */ -cltype38 = type_parser_nodes__AExpr.color; -idtype39 = type_parser_nodes__AExpr.id; -if(var_new_child == NULL) { -var37 = 0; -} else { -if(cltype38 >= var_new_child->type->table_size) { -var37 = 0; +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3533); +show_backtrace(1); } else { -var37 = var_new_child->type->type_table[cltype38] == idtype39; +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (unlikely(!var37)) { -var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3395); -show_backtrace(1); } -{ -parser_prod__AIfexprExpr__n_then_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_then= on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3534); +show_backtrace(1); } -goto RET_LABEL; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3535); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -var41 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on */ -if (unlikely(var41 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3398); +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AGgExpr#init_aggexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AGgExpr__init_aggexpr(val* self, val* p0, val* p1) { +parser_prod__AGgExpr__init_aggexpr(self, p0, p1); /* Direct call parser_prod#AGgExpr#init_aggexpr on */ +RET_LABEL:; +} +/* method parser_prod#AGgExpr#replace_child for (self: AGgExpr, ANode, nullable ANode) */ +void parser_prod__AGgExpr__replace_child(val* self, val* p0, val* p1) { +val* var_old_child /* var old_child: ANode */; +val* var_new_child /* var new_child: nullable ANode */; +val* var /* : AExpr */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +val* var8 /* : AExpr */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +var_old_child = p0; +var_new_child = p1; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3540); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var41,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var41,var_other) on */ -var47 = var41 == var_other; -var45 = var47; -goto RET_LABEL46; -RET_LABEL46:(void)0; +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +var6 = var == var_other; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } -var43 = var45; -goto RET_LABEL44; -RET_LABEL44:(void)0; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -var42 = var43; +var1 = var2; } -if (var42){ -/* isa TKwelse */ -cltype49 = type_parser_nodes__TKwelse.color; -idtype50 = type_parser_nodes__TKwelse.id; +if (var1){ +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var48 = 0; +var7 = 0; } else { -if(cltype49 >= var_new_child->type->table_size) { -var48 = 0; +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var48 = var_new_child->type->type_table[cltype49] == idtype50; +var7 = var_new_child->type->type_table[cltype] == idtype; } } -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`", "TKwelse", var_class_name51); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3399); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3541); show_backtrace(1); } { -parser_prod__AIfexprExpr__n_kwelse_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_kwelse= on */ +parser_prod__AGgExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_expr= on */ } goto RET_LABEL; } else { } -var52 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on */ -if (unlikely(var52 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3402); +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3544); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var52,var_old_child) on */ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var52,var_other) on */ -var58 = var52 == var_other; -var56 = var58; -goto RET_LABEL57; -RET_LABEL57:(void)0; +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -var54 = var56; -goto RET_LABEL55; -RET_LABEL55:(void)0; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -var53 = var54; +var9 = var10; } -if (var53){ +if (var9){ /* isa AExpr */ -cltype60 = type_parser_nodes__AExpr.color; -idtype61 = type_parser_nodes__AExpr.id; +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var59 = 0; +var15 = 0; } else { -if(cltype60 >= var_new_child->type->table_size) { -var59 = 0; +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var59 = var_new_child->type->type_table[cltype60] == idtype61; +var15 = var_new_child->type->type_table[cltype16] == idtype17; } } -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`", "AExpr", var_class_name62); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3403); +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3545); show_backtrace(1); } { -parser_prod__AIfexprExpr__n_else_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_else= on */ +parser_prod__AGgExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AGgExpr#n_expr2= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AIfexprExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AIfexprExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AIfexprExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AIfexprExpr#replace_child on */ -RET_LABEL:; -} -/* method parser_prod#AIfexprExpr#n_kwif= for (self: AIfexprExpr, TKwif) */ -void parser_prod__AIfexprExpr__n_kwif_61d(val* self, val* p0) { -val* var_node /* var node: TKwif */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val = var_node; /* _n_kwif on */ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; -} -} -RET_LABEL:; -} -/* method parser_prod#AIfexprExpr#n_kwif= for (self: Object, TKwif) */ -void VIRTUAL_parser_prod__AIfexprExpr__n_kwif_61d(val* self, val* p0) { -parser_prod__AIfexprExpr__n_kwif_61d(self, p0); /* Direct call parser_prod#AIfexprExpr#n_kwif= on */ -RET_LABEL:; -} -/* method parser_prod#AIfexprExpr#n_expr= for (self: AIfexprExpr, AExpr) */ -void parser_prod__AIfexprExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val = var_node; /* _n_expr on */ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; -} -} -RET_LABEL:; -} -/* method parser_prod#AIfexprExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AIfexprExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AIfexprExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AIfexprExpr#n_expr= on */ -RET_LABEL:; -} -/* method parser_prod#AIfexprExpr#n_kwthen= for (self: AIfexprExpr, TKwthen) */ -void parser_prod__AIfexprExpr__n_kwthen_61d(val* self, val* p0) { -val* var_node /* var node: TKwthen */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val = var_node; /* _n_kwthen on */ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; -} -} -RET_LABEL:; -} -/* method parser_prod#AIfexprExpr#n_kwthen= for (self: Object, TKwthen) */ -void VIRTUAL_parser_prod__AIfexprExpr__n_kwthen_61d(val* self, val* p0) { -parser_prod__AIfexprExpr__n_kwthen_61d(self, p0); /* Direct call parser_prod#AIfexprExpr#n_kwthen= on */ +/* method parser_prod#AGgExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AGgExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AGgExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AGgExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AIfexprExpr#n_then= for (self: AIfexprExpr, AExpr) */ -void parser_prod__AIfexprExpr__n_then_61d(val* self, val* p0) { +/* method parser_prod#AGgExpr#n_expr= for (self: AGgExpr, AExpr) */ +void parser_prod__AGgExpr__n_expr_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val = var_node; /* _n_then on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { { /* Inline parser_nodes#ANode#parent= (var_node,self) on */ var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -5434,34 +4693,16 @@ RET_LABEL1:(void)0; } RET_LABEL:; } -/* method parser_prod#AIfexprExpr#n_then= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AIfexprExpr__n_then_61d(val* self, val* p0) { -parser_prod__AIfexprExpr__n_then_61d(self, p0); /* Direct call parser_prod#AIfexprExpr#n_then= on */ -RET_LABEL:; -} -/* method parser_prod#AIfexprExpr#n_kwelse= for (self: AIfexprExpr, TKwelse) */ -void parser_prod__AIfexprExpr__n_kwelse_61d(val* self, val* p0) { -val* var_node /* var node: TKwelse */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val = var_node; /* _n_kwelse on */ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; -} -} -RET_LABEL:; -} -/* method parser_prod#AIfexprExpr#n_kwelse= for (self: Object, TKwelse) */ -void VIRTUAL_parser_prod__AIfexprExpr__n_kwelse_61d(val* self, val* p0) { -parser_prod__AIfexprExpr__n_kwelse_61d(self, p0); /* Direct call parser_prod#AIfexprExpr#n_kwelse= on */ +/* method parser_prod#AGgExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AGgExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AGgExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AGgExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AIfexprExpr#n_else= for (self: AIfexprExpr, AExpr) */ -void parser_prod__AIfexprExpr__n_else_61d(val* self, val* p0) { +/* method parser_prod#AGgExpr#n_expr2= for (self: AGgExpr, AExpr) */ +void parser_prod__AGgExpr__n_expr2_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val = var_node; /* _n_else on */ +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ { { /* Inline parser_nodes#ANode#parent= (var_node,self) on */ var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -5470,242 +4711,102 @@ RET_LABEL1:(void)0; } RET_LABEL:; } -/* method parser_prod#AIfexprExpr#n_else= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AIfexprExpr__n_else_61d(val* self, val* p0) { -parser_prod__AIfexprExpr__n_else_61d(self, p0); /* Direct call parser_prod#AIfexprExpr#n_else= on */ +/* method parser_prod#AGgExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AGgExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AGgExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AGgExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#AIfexprExpr#visit_all for (self: AIfexprExpr, Visitor) */ -void parser_prod__AIfexprExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AGgExpr#visit_all for (self: AGgExpr, Visitor) */ +void parser_prod__AGgExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwif */; +val* var /* : AExpr */; val* var1 /* : AExpr */; -val* var2 /* : TKwthen */; -val* var3 /* : AExpr */; -val* var4 /* : TKwelse */; -val* var5 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3442); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3564); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on */ +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3443); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3565); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var2 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwthen"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3444); -show_backtrace(1); -} -{ -parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +RET_LABEL:; } -var3 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3445); -show_backtrace(1); +/* method parser_prod#AGgExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AGgExpr__visit_all(val* self, val* p0) { +parser_prod__AGgExpr__visit_all(self, p0); /* Direct call parser_prod#AGgExpr#visit_all on */ +RET_LABEL:; } -{ -parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var4 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on */ -if (unlikely(var4 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3446); -show_backtrace(1); -} -{ -parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var5 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3447); -show_backtrace(1); -} -{ -parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -RET_LABEL:; -} -/* method parser_prod#AIfexprExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AIfexprExpr__visit_all(val* self, val* p0) { -parser_prod__AIfexprExpr__visit_all(self, p0); /* Direct call parser_prod#AIfexprExpr#visit_all on */ -RET_LABEL:; -} -/* method parser_prod#AWhileExpr#init_awhileexpr for (self: AWhileExpr, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */ -void 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 */; +/* method parser_prod#AIsaExpr#init_aisaexpr for (self: AIsaExpr, nullable AExpr, nullable AType) */ +void parser_prod__AIsaExpr__init_aisaexpr(val* self, val* p0, val* p1) { val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_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 /* : null */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var11 /* : null */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; -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", "src/parser/parser_prod.nit", 3459); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_n_kwwhile; /* _n_kwwhile on */ -if (var_n_kwwhile == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3460); -show_backtrace(1); -} else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwwhile,self) on */ -if (unlikely(var_n_kwwhile == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); -show_backtrace(1); -} -var_n_kwwhile->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; -} -} +val* var_n_type /* var n_type: nullable AType */; +var_n_expr = p0; +var_n_type = p1; if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3461); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3574); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val = var_n_expr; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_n_expr; /* _n_expr on */ if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3462); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3575); show_backtrace(1); } else { { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL2:(void)0; +RET_LABEL1:(void)0; } } -if (unlikely(var_n_kwdo == NULL)) { +if (unlikely(var_n_type == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3463); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3576); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on */ -if (var_n_kwdo == NULL) { +self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_n_type; /* _n_type on */ +if (var_n_type == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3464); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3577); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on */ -if (unlikely(var_n_kwdo == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_type,self) on */ +if (unlikely(var_n_type == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_kwdo->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL3:(void)0; -} -} -self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_n_block; /* _n_block on */ -var = NULL; -if (var_n_block == NULL) { -var4 = 0; /* is null */ -} else { -var4 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_block,var) on */ -var_other = var; -{ -var8 = ((short int (*)(val*, val*))(var_n_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_block, var_other) /* == on */; -var7 = var8; -} -var9 = !var7; -var5 = var9; -goto RET_LABEL6; -RET_LABEL6:(void)0; -} -var4 = var5; -} -if (var4){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on */ -var_n_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL10:(void)0; -} -} -} else { -} -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ -var11 = NULL; -if (var_n_label == NULL) { -var12 = 0; /* is null */ -} else { -var12 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_label,var11) on */ -var_other = var11; -{ -var16 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on */; -var15 = var16; -} -var17 = !var15; -var13 = var17; -goto RET_LABEL14; -RET_LABEL14:(void)0; -} -var12 = var13; -} -if (var12){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on */ -var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL18:(void)0; -} +var_n_type->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AWhileExpr#init_awhileexpr for (self: Object, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */ -void VIRTUAL_parser_prod__AWhileExpr__init_awhileexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { -parser_prod__AWhileExpr__init_awhileexpr(self, p0, p1, p2, p3, p4); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on */ +/* method parser_prod#AIsaExpr#init_aisaexpr for (self: Object, nullable AExpr, nullable AType) */ +void VIRTUAL_parser_prod__AIsaExpr__init_aisaexpr(val* self, val* p0, val* p1) { +parser_prod__AIsaExpr__init_aisaexpr(self, p0, p1); /* Direct call parser_prod#AIsaExpr#init_aisaexpr on */ RET_LABEL:; } -/* method parser_prod#AWhileExpr#replace_child for (self: AWhileExpr, ANode, nullable ANode) */ -void parser_prod__AWhileExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AIsaExpr#replace_child for (self: AIsaExpr, ANode, nullable ANode) */ +void parser_prod__AIsaExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwwhile */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -5715,7 +4816,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : AExpr */; +val* var8 /* : AType */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -5724,46 +4825,19 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; -val* var19 /* : TKwdo */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -const char* var_class_name29; -val* var30 /* : nullable AExpr */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -short int var34 /* : Bool */; -short int var36 /* : Bool */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -const char* var_class_name40; -val* var41 /* : nullable ALabel */; -short int var42 /* : Bool */; -short int var43 /* : Bool */; -short int var45 /* : Bool */; -short int var47 /* : Bool */; -short int var48 /* : Bool */; -int cltype49; -int idtype50; -const char* var_class_name51; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on */ +var = self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwhile"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3473); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3582); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -5777,9 +4851,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TKwwhile */ -cltype = type_parser_nodes__TKwwhile.color; -idtype = type_parser_nodes__TKwwhile.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -5791,27 +4865,27 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwwhile", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3474); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3583); show_backtrace(1); } { -parser_prod__AWhileExpr__n_kwwhile_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_kwwhile= on */ +parser_prod__AIsaExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on */ +var8 = self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val; /* _n_type on */ if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3477); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3586); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -5825,9 +4899,9 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa AExpr */ -cltype16 = type_parser_nodes__AExpr.color; -idtype17 = type_parser_nodes__AExpr.id; +/* isa AType */ +cltype16 = type_parser_nodes__AType.color; +idtype17 = type_parser_nodes__AType.id; if(var_new_child == NULL) { var15 = 0; } else { @@ -5839,476 +4913,400 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3478); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3587); show_backtrace(1); } { -parser_prod__AWhileExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_expr= on */ +parser_prod__AIsaExpr__n_type_61d(self, var_new_child); /* Direct call parser_prod#AIsaExpr#n_type= on */ } goto RET_LABEL; } else { } -var19 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on */ -if (unlikely(var19 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3481); -show_backtrace(1); +RET_LABEL:; } +/* method parser_prod#AIsaExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AIsaExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AIsaExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AIsaExpr#replace_child on */ +RET_LABEL:; +} +/* method parser_prod#AIsaExpr#n_expr= for (self: AIsaExpr, AExpr) */ +void parser_prod__AIsaExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline kernel#Object#== (var19,var_old_child) on */ -var_other = var_old_child; -{ -{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ -var25 = var19 == var_other; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } } -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; +RET_LABEL:; } -var20 = var21; +/* method parser_prod#AIsaExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AIsaExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AIsaExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AIsaExpr#n_expr= on */ +RET_LABEL:; } -if (var20){ -/* isa TKwdo */ -cltype27 = type_parser_nodes__TKwdo.color; -idtype28 = type_parser_nodes__TKwdo.id; -if(var_new_child == NULL) { -var26 = 0; -} else { -if(cltype27 >= var_new_child->type->table_size) { -var26 = 0; -} else { -var26 = var_new_child->type->type_table[cltype27] == idtype28; +/* method parser_prod#AIsaExpr#n_type= for (self: AIsaExpr, AType) */ +void parser_prod__AIsaExpr__n_type_61d(val* self, val* p0) { +val* var_node /* var node: AType */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_node; /* _n_type on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } } -if (unlikely(!var26)) { -var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3482); +RET_LABEL:; +} +/* method parser_prod#AIsaExpr#n_type= for (self: Object, AType) */ +void VIRTUAL_parser_prod__AIsaExpr__n_type_61d(val* self, val* p0) { +parser_prod__AIsaExpr__n_type_61d(self, p0); /* Direct call parser_prod#AIsaExpr#n_type= on */ +RET_LABEL:; +} +/* method parser_prod#AIsaExpr#visit_all for (self: AIsaExpr, Visitor) */ +void parser_prod__AIsaExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AType */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3606); show_backtrace(1); } { -parser_prod__AWhileExpr__n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_kwdo= on */ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -goto RET_LABEL; -} else { +var1 = self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val; /* _n_type on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3607); +show_backtrace(1); } -var30 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on */ -if (var30 == NULL) { -var31 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var30,var_old_child) on */ -var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ -var36 = var30 == var_other; -var34 = var36; -goto RET_LABEL35; -RET_LABEL35:(void)0; +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } +RET_LABEL:; } -var32 = var34; -goto RET_LABEL33; -RET_LABEL33:(void)0; +/* method parser_prod#AIsaExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AIsaExpr__visit_all(val* self, val* p0) { +parser_prod__AIsaExpr__visit_all(self, p0); /* Direct call parser_prod#AIsaExpr#visit_all on */ +RET_LABEL:; } -var31 = var32; +/* method parser_prod#APlusExpr#init_aplusexpr for (self: APlusExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__APlusExpr__init_aplusexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3616); +show_backtrace(1); } -if (var31){ -/* isa nullable AExpr */ -cltype38 = type_nullable_parser_nodes__AExpr.color; -idtype39 = type_nullable_parser_nodes__AExpr.id; -if(var_new_child == NULL) { -var37 = 1; -} else { -if(cltype38 >= var_new_child->type->table_size) { -var37 = 0; +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3617); +show_backtrace(1); } else { -var37 = var_new_child->type->type_table[cltype38] == idtype39; +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (unlikely(!var37)) { -var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3486); -show_backtrace(1); } -{ -parser_prod__AWhileExpr__n_block_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_block= on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3618); +show_backtrace(1); } -goto RET_LABEL; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3619); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -var41 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var41 == NULL) { -var42 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var41,var_old_child) on */ -var_other = var_old_child; -{ -{ /* Inline kernel#Object#is_same_instance (var41,var_other) on */ -var47 = var41 == var_other; -var45 = var47; -goto RET_LABEL46; -RET_LABEL46:(void)0; +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } } -var43 = var45; -goto RET_LABEL44; -RET_LABEL44:(void)0; +RET_LABEL:; } -var42 = var43; +/* method parser_prod#APlusExpr#init_aplusexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__APlusExpr__init_aplusexpr(val* self, val* p0, val* p1) { +parser_prod__APlusExpr__init_aplusexpr(self, p0, p1); /* Direct call parser_prod#APlusExpr#init_aplusexpr on */ +RET_LABEL:; } -if (var42){ -/* isa nullable ALabel */ -cltype49 = type_nullable_parser_nodes__ALabel.color; -idtype50 = type_nullable_parser_nodes__ALabel.id; +/* method parser_prod#APlusExpr#replace_child for (self: APlusExpr, ANode, nullable ANode) */ +void parser_prod__APlusExpr__replace_child(val* self, val* p0, val* p1) { +val* var_old_child /* var old_child: ANode */; +val* var_new_child /* var new_child: nullable ANode */; +val* var /* : AExpr */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +val* var8 /* : AExpr */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +var_old_child = p0; +var_new_child = p1; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3624); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +var6 = var == var_other; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; +} +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var48 = 1; +var7 = 0; } else { -if(cltype49 >= var_new_child->type->table_size) { -var48 = 0; +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var48 = var_new_child->type->type_table[cltype49] == idtype50; +var7 = var_new_child->type->type_table[cltype] == idtype; } } -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 ALabel", var_class_name51); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3490); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3625); show_backtrace(1); } { -parser_prod__AWhileExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_label= on */ +parser_prod__APlusExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_expr= on */ } goto RET_LABEL; } else { } -RET_LABEL:; -} -/* method parser_prod#AWhileExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AWhileExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AWhileExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AWhileExpr#replace_child on */ -RET_LABEL:; +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3628); +show_backtrace(1); } -/* method parser_prod#AWhileExpr#n_kwwhile= for (self: AWhileExpr, TKwwhile) */ -void parser_prod__AWhileExpr__n_kwwhile_61d(val* self, val* p0) { -val* var_node /* var node: TKwwhile */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_node; /* _n_kwwhile on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; -} +{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -RET_LABEL:; } -/* method parser_prod#AWhileExpr#n_kwwhile= for (self: Object, TKwwhile) */ -void VIRTUAL_parser_prod__AWhileExpr__n_kwwhile_61d(val* self, val* p0) { -parser_prod__AWhileExpr__n_kwwhile_61d(self, p0); /* Direct call parser_prod#AWhileExpr#n_kwwhile= on */ -RET_LABEL:; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -/* method parser_prod#AWhileExpr#n_expr= for (self: AWhileExpr, AExpr) */ -void parser_prod__AWhileExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val = var_node; /* _n_expr on */ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; +var9 = var10; } +if (var9){ +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -RET_LABEL:; } -/* method parser_prod#AWhileExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AWhileExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AWhileExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AWhileExpr#n_expr= on */ -RET_LABEL:; +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3629); +show_backtrace(1); } -/* method parser_prod#AWhileExpr#n_kwdo= for (self: AWhileExpr, TKwdo) */ -void parser_prod__AWhileExpr__n_kwdo_61d(val* self, val* p0) { -val* var_node /* var node: TKwdo */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_node; /* _n_kwdo on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; +parser_prod__APlusExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#APlusExpr#n_expr2= on */ } +goto RET_LABEL; +} else { } RET_LABEL:; } -/* method parser_prod#AWhileExpr#n_kwdo= for (self: Object, TKwdo) */ -void VIRTUAL_parser_prod__AWhileExpr__n_kwdo_61d(val* self, val* p0) { -parser_prod__AWhileExpr__n_kwdo_61d(self, p0); /* Direct call parser_prod#AWhileExpr#n_kwdo= on */ +/* method parser_prod#APlusExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__APlusExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__APlusExpr__replace_child(self, p0, p1); /* Direct call parser_prod#APlusExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AWhileExpr#n_block= for (self: AWhileExpr, nullable AExpr) */ -void parser_prod__AWhileExpr__n_block_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +/* method parser_prod#APlusExpr#n_expr= for (self: APlusExpr, AExpr) */ +void parser_prod__APlusExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_node; /* _n_block on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AWhileExpr#n_block= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AWhileExpr__n_block_61d(val* self, val* p0) { -parser_prod__AWhileExpr__n_block_61d(self, p0); /* Direct call parser_prod#AWhileExpr#n_block= on */ +/* method parser_prod#APlusExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__APlusExpr__n_expr_61d(val* self, val* p0) { +parser_prod__APlusExpr__n_expr_61d(self, p0); /* Direct call parser_prod#APlusExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AWhileExpr#n_label= for (self: AWhileExpr, nullable ALabel) */ -void parser_prod__AWhileExpr__n_label_61d(val* self, val* p0) { -val* var_node /* var node: nullable ALabel */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +/* method parser_prod#APlusExpr#n_expr2= for (self: APlusExpr, AExpr) */ +void parser_prod__APlusExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AWhileExpr#n_label= for (self: Object, nullable ALabel) */ -void VIRTUAL_parser_prod__AWhileExpr__n_label_61d(val* self, val* p0) { -parser_prod__AWhileExpr__n_label_61d(self, p0); /* Direct call parser_prod#AWhileExpr#n_label= on */ +/* method parser_prod#APlusExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__APlusExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__APlusExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#APlusExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#AWhileExpr#visit_all for (self: AWhileExpr, Visitor) */ -void parser_prod__AWhileExpr__visit_all(val* self, val* p0) { +/* method parser_prod#APlusExpr#visit_all for (self: APlusExpr, Visitor) */ +void parser_prod__APlusExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwwhile */; +val* var /* : AExpr */; val* var1 /* : AExpr */; -val* var2 /* : TKwdo */; -val* var3 /* : nullable AExpr */; -val* var4 /* : nullable ALabel */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwhile"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3524); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3648); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on */ +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3525); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3649); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var2 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3526); -show_backtrace(1); -} -{ -parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var3 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on */ -{ -parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var4 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -{ -parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ -} RET_LABEL:; } -/* method parser_prod#AWhileExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AWhileExpr__visit_all(val* self, val* p0) { -parser_prod__AWhileExpr__visit_all(self, p0); /* Direct call parser_prod#AWhileExpr#visit_all on */ +/* method parser_prod#APlusExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__APlusExpr__visit_all(val* self, val* p0) { +parser_prod__APlusExpr__visit_all(self, p0); /* Direct call parser_prod#APlusExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ALoopExpr#init_aloopexpr for (self: ALoopExpr, nullable TKwloop, nullable AExpr, nullable ALabel) */ -void 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 */; -val* var /* : null */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -short int var7 /* : Bool */; -val* var9 /* : null */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; -short int var13 /* : Bool */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -var_n_kwloop = p0; -var_n_block = p1; -var_n_label = p2; -if (unlikely(var_n_kwloop == NULL)) { +/* method parser_prod#AMinusExpr#init_aminusexpr for (self: AMinusExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AMinusExpr__init_aminusexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3538); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3658); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var_n_kwloop; /* _n_kwloop on */ -if (var_n_kwloop == NULL) { +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3539); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3659); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwloop,self) on */ -if (unlikely(var_n_kwloop == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_kwloop->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_n_block; /* _n_block on */ -var = NULL; -if (var_n_block == NULL) { -var2 = 0; /* is null */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3660); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3661); +show_backtrace(1); } else { -var2 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_n_block,var) on */ -var_other = var; -{ -var6 = ((short int (*)(val*, val*))(var_n_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_block, var_other) /* == on */; -var5 = var6; +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -var7 = !var5; -var3 = var7; -goto RET_LABEL4; -RET_LABEL4:(void)0; -} -var2 = var3; -} -if (var2){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on */ -var_n_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL8:(void)0; -} -} -} else { -} -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ -var9 = NULL; -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,var9) on */ -var_other = var9; -{ -var14 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on */; -var13 = var14; -} -var15 = !var13; -var11 = var15; -goto RET_LABEL12; -RET_LABEL12:(void)0; -} -var10 = var11; -} -if (var10){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on */ -var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL16:(void)0; -} -} -} else { } RET_LABEL:; } -/* method parser_prod#ALoopExpr#init_aloopexpr for (self: Object, nullable TKwloop, nullable AExpr, nullable ALabel) */ -void VIRTUAL_parser_prod__ALoopExpr__init_aloopexpr(val* self, val* p0, val* p1, val* p2) { -parser_prod__ALoopExpr__init_aloopexpr(self, p0, p1, p2); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on */ +/* method parser_prod#AMinusExpr#init_aminusexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AMinusExpr__init_aminusexpr(val* self, val* p0, val* p1) { +parser_prod__AMinusExpr__init_aminusexpr(self, p0, p1); /* Direct call parser_prod#AMinusExpr#init_aminusexpr on */ RET_LABEL:; } -/* method parser_prod#ALoopExpr#replace_child for (self: ALoopExpr, ANode, nullable ANode) */ -void parser_prod__ALoopExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AMinusExpr#replace_child for (self: AMinusExpr, ANode, nullable ANode) */ +void parser_prod__AMinusExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwloop */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -6318,7 +5316,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : nullable AExpr */; +val* var8 /* : AExpr */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -6327,28 +5325,19 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; -val* var19 /* : nullable ALabel */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -const char* var_class_name29; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwloop"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3548); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3666); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -6362,9 +5351,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TKwloop */ -cltype = type_parser_nodes__TKwloop.color; -idtype = type_parser_nodes__TKwloop.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -6376,24 +5365,27 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwloop", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3549); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3667); show_backtrace(1); } { -parser_prod__ALoopExpr__n_kwloop_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_kwloop= on */ +parser_prod__AMinusExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on */ -if (var8 == NULL) { -var9 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3670); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -6407,11 +5399,11 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa nullable AExpr */ -cltype16 = type_nullable_parser_nodes__AExpr.color; -idtype17 = type_nullable_parser_nodes__AExpr.id; +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var15 = 1; +var15 = 0; } else { if(cltype16 >= var_new_child->type->table_size) { var15 = 0; @@ -6421,392 +5413,150 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3553); -show_backtrace(1); -} -{ -parser_prod__ALoopExpr__n_block_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_block= on */ -} -goto RET_LABEL; -} else { -} -var19 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var19 == NULL) { -var20 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var19,var_old_child) on */ -var_other = var_old_child; -{ -{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ -var25 = var19 == var_other; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; -} -} -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; -} -var20 = var21; -} -if (var20){ -/* isa nullable ALabel */ -cltype27 = type_nullable_parser_nodes__ALabel.color; -idtype28 = type_nullable_parser_nodes__ALabel.id; -if(var_new_child == NULL) { -var26 = 1; -} else { -if(cltype27 >= var_new_child->type->table_size) { -var26 = 0; -} else { -var26 = var_new_child->type->type_table[cltype27] == idtype28; -} -} -if (unlikely(!var26)) { -var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3557); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3671); show_backtrace(1); } { -parser_prod__ALoopExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_label= on */ +parser_prod__AMinusExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AMinusExpr#n_expr2= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ALoopExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ALoopExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ALoopExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ALoopExpr#replace_child on */ +/* method parser_prod#AMinusExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AMinusExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AMinusExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AMinusExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ALoopExpr#n_kwloop= for (self: ALoopExpr, TKwloop) */ -void parser_prod__ALoopExpr__n_kwloop_61d(val* self, val* p0) { -val* var_node /* var node: TKwloop */; +/* method parser_prod#AMinusExpr#n_expr= for (self: AMinusExpr, AExpr) */ +void parser_prod__AMinusExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var_node; /* _n_kwloop on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#ALoopExpr#n_kwloop= for (self: Object, TKwloop) */ -void VIRTUAL_parser_prod__ALoopExpr__n_kwloop_61d(val* self, val* p0) { -parser_prod__ALoopExpr__n_kwloop_61d(self, p0); /* Direct call parser_prod#ALoopExpr#n_kwloop= on */ -RET_LABEL:; -} -/* method parser_prod#ALoopExpr#n_block= for (self: ALoopExpr, nullable AExpr) */ -void parser_prod__ALoopExpr__n_block_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_node; /* _n_block on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} -} -} else { -} -RET_LABEL:; -} -/* method parser_prod#ALoopExpr#n_block= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__ALoopExpr__n_block_61d(val* self, val* p0) { -parser_prod__ALoopExpr__n_block_61d(self, p0); /* Direct call parser_prod#ALoopExpr#n_block= on */ +/* method parser_prod#AMinusExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AMinusExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AMinusExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AMinusExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#ALoopExpr#n_label= for (self: ALoopExpr, nullable ALabel) */ -void parser_prod__ALoopExpr__n_label_61d(val* self, val* p0) { -val* var_node /* var node: nullable ALabel */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +/* method parser_prod#AMinusExpr#n_expr2= for (self: AMinusExpr, AExpr) */ +void parser_prod__AMinusExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#ALoopExpr#n_label= for (self: Object, nullable ALabel) */ -void VIRTUAL_parser_prod__ALoopExpr__n_label_61d(val* self, val* p0) { -parser_prod__ALoopExpr__n_label_61d(self, p0); /* Direct call parser_prod#ALoopExpr#n_label= on */ +/* method parser_prod#AMinusExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AMinusExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AMinusExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AMinusExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#ALoopExpr#visit_all for (self: ALoopExpr, Visitor) */ -void parser_prod__ALoopExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AMinusExpr#visit_all for (self: AMinusExpr, Visitor) */ +void parser_prod__AMinusExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwloop */; -val* var1 /* : nullable AExpr */; -val* var2 /* : nullable ALabel */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwloop"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3581); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3690); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on */ -{ -parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3691); +show_backtrace(1); } -var2 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ { -parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#ALoopExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ALoopExpr__visit_all(val* self, val* p0) { -parser_prod__ALoopExpr__visit_all(self, p0); /* Direct call parser_prod#ALoopExpr#visit_all on */ +/* method parser_prod#AMinusExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AMinusExpr__visit_all(val* self, val* p0) { +parser_prod__AMinusExpr__visit_all(self, p0); /* Direct call parser_prod#AMinusExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AForExpr#init_aforexpr for (self: AForExpr, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */ -void parser_prod__AForExpr__init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -val* var_n_kwfor /* var n_kwfor: nullable TKwfor */; -val* var_n_ids /* var n_ids: Collection[Object] */; +/* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: AStarshipExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AStarshipExpr__init_astarshipexpr(val* self, val* p0, val* p1) { val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_kwdo /* var n_kwdo: nullable TKwdo */; -val* var_n_block /* var n_block: nullable AExpr */; -val* var_n_label /* var n_label: nullable ALabel */; -val* var /* : ANodes[TId] */; -val* var3 /* : ANodes[TId] */; -val* var6 /* : null */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; -short int var12 /* : Bool */; -val* var14 /* : null */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; -short int var19 /* : Bool */; -short int var20 /* : Bool */; -var_n_kwfor = p0; -var_n_ids = p1; -var_n_expr = p2; -var_n_kwdo = p3; -var_n_block = p4; -var_n_label = p5; -if (unlikely(var_n_kwfor == NULL)) { +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3596); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3700); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_n_kwfor; /* _n_kwfor on */ -if (var_n_kwfor == NULL) { +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3597); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3701); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwfor,self) on */ -if (unlikely(var_n_kwfor == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_kwfor->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -{ -{ /* Inline parser_nodes#AForExpr#n_ids (self) on */ -var3 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1604); +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3702); show_backtrace(1); } -var = var3; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3703); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL2:(void)0; } } -{ -parser_nodes__ANodes__unsafe_add_all(var, var_n_ids); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ -} -if (unlikely(var_n_expr == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3599); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3600); -show_backtrace(1); -} else { -{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ -if (unlikely(var_n_expr == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); -show_backtrace(1); -} -var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL4:(void)0; -} -} -if (unlikely(var_n_kwdo == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3601); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on */ -if (var_n_kwdo == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3602); -show_backtrace(1); -} else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on */ -if (unlikely(var_n_kwdo == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); -show_backtrace(1); -} -var_n_kwdo->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL5:(void)0; -} -} -self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_n_block; /* _n_block on */ -var6 = NULL; -if (var_n_block == NULL) { -var7 = 0; /* is null */ -} else { -var7 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_block,var6) on */ -var_other = var6; -{ -var11 = ((short int (*)(val*, val*))(var_n_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_block, var_other) /* == on */; -var10 = var11; -} -var12 = !var10; -var8 = var12; -goto RET_LABEL9; -RET_LABEL9:(void)0; -} -var7 = var8; -} -if (var7){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on */ -var_n_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL13:(void)0; -} -} -} else { -} -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ -var14 = NULL; -if (var_n_label == NULL) { -var15 = 0; /* is null */ -} else { -var15 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_label,var14) on */ -var_other = var14; -{ -var19 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on */; -var18 = var19; -} -var20 = !var18; -var16 = var20; -goto RET_LABEL17; -RET_LABEL17:(void)0; -} -var15 = var16; -} -if (var15){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on */ -var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL21:(void)0; -} -} -} else { -} RET_LABEL:; } -/* method parser_prod#AForExpr#init_aforexpr for (self: Object, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */ -void VIRTUAL_parser_prod__AForExpr__init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -parser_prod__AForExpr__init_aforexpr(self, p0, p1, p2, p3, p4, p5); /* Direct call parser_prod#AForExpr#init_aforexpr on */ +/* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AStarshipExpr__init_astarshipexpr(val* self, val* p0, val* p1) { +parser_prod__AStarshipExpr__init_astarshipexpr(self, p0, p1); /* Direct call parser_prod#AStarshipExpr#init_astarshipexpr on */ RET_LABEL:; } -/* method parser_prod#AForExpr#replace_child for (self: AForExpr, ANode, nullable ANode) */ -void parser_prod__AForExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AStarshipExpr#replace_child for (self: AStarshipExpr, ANode, nullable ANode) */ +void parser_prod__AStarshipExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwfor */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -6816,58 +5566,28 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : ANodes[TId] */; -val* var10 /* : ANodes[TId] */; -short int var11 /* : Bool */; -val* var12 /* : AExpr */; -short int var13 /* : Bool */; +val* var8 /* : AExpr */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; short int var14 /* : Bool */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -const char* var_class_name22; -val* var23 /* : TKwdo */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -short int var27 /* : Bool */; -short int var29 /* : Bool */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -const char* var_class_name33; -val* var34 /* : nullable AExpr */; -short int var35 /* : Bool */; -short int var36 /* : Bool */; -short int var38 /* : Bool */; -short int var40 /* : Bool */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -const char* var_class_name44; -val* var45 /* : nullable ALabel */; -short int var46 /* : Bool */; -short int var47 /* : Bool */; -short int var49 /* : Bool */; -short int var51 /* : Bool */; -short int var52 /* : Bool */; -int cltype53; -int idtype54; -const char* var_class_name55; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwfor"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3611); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3708); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -6881,9 +5601,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TKwfor */ -cltype = type_parser_nodes__TKwfor.color; -idtype = type_parser_nodes__TKwfor.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -6895,251 +5615,344 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwfor", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3612); -show_backtrace(1); -} -{ -parser_prod__AForExpr__n_kwfor_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwfor= on */ -} -goto RET_LABEL; -} else { -} -{ -{ /* Inline parser_nodes#AForExpr#n_ids (self) on */ -var10 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on */ -if (unlikely(var10 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1604); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3709); show_backtrace(1); } -var8 = var10; -RET_LABEL9:(void)0; -} -} { -var11 = parser_nodes__ANodes__replace_child(var8, var_old_child, var_new_child); +parser_prod__AStarshipExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_expr= on */ } -if (var11){ goto RET_LABEL; } else { } -var12 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var12 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3616); +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3712); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var12,var_old_child) on */ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var12,var_other) on */ -var18 = var12 == var_other; -var16 = var18; -goto RET_LABEL17; -RET_LABEL17:(void)0; +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -var14 = var16; -goto RET_LABEL15; -RET_LABEL15:(void)0; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -var13 = var14; +var9 = var10; } -if (var13){ +if (var9){ /* isa AExpr */ -cltype20 = type_parser_nodes__AExpr.color; -idtype21 = type_parser_nodes__AExpr.id; +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var19 = 0; +var15 = 0; } else { -if(cltype20 >= var_new_child->type->table_size) { -var19 = 0; +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var19 = var_new_child->type->type_table[cltype20] == idtype21; +var15 = var_new_child->type->type_table[cltype16] == idtype17; } } -if (unlikely(!var19)) { -var_class_name22 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name22); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3617); +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3713); show_backtrace(1); } { -parser_prod__AForExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_expr= on */ +parser_prod__AStarshipExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarshipExpr#n_expr2= on */ } goto RET_LABEL; } else { } -var23 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on */ -if (unlikely(var23 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3620); -show_backtrace(1); +RET_LABEL:; } +/* method parser_prod#AStarshipExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AStarshipExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AStarshipExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AStarshipExpr#replace_child on */ +RET_LABEL:; +} +/* method parser_prod#AStarshipExpr#n_expr= for (self: AStarshipExpr, AExpr) */ +void parser_prod__AStarshipExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline kernel#Object#== (var23,var_old_child) on */ -var_other = var_old_child; -{ -{ /* Inline kernel#Object#is_same_instance (var23,var_other) on */ -var29 = var23 == var_other; -var27 = var29; -goto RET_LABEL28; -RET_LABEL28:(void)0; +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } } -var25 = var27; -goto RET_LABEL26; -RET_LABEL26:(void)0; +RET_LABEL:; } -var24 = var25; +/* method parser_prod#AStarshipExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AStarshipExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AStarshipExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AStarshipExpr#n_expr= on */ +RET_LABEL:; } -if (var24){ -/* isa TKwdo */ -cltype31 = type_parser_nodes__TKwdo.color; -idtype32 = type_parser_nodes__TKwdo.id; -if(var_new_child == NULL) { -var30 = 0; -} else { -if(cltype31 >= var_new_child->type->table_size) { -var30 = 0; -} else { -var30 = var_new_child->type->type_table[cltype31] == idtype32; +/* method parser_prod#AStarshipExpr#n_expr2= for (self: AStarshipExpr, AExpr) */ +void parser_prod__AStarshipExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } } -if (unlikely(!var30)) { -var_class_name33 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name33); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3621); +RET_LABEL:; +} +/* method parser_prod#AStarshipExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AStarshipExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AStarshipExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AStarshipExpr#n_expr2= on */ +RET_LABEL:; +} +/* method parser_prod#AStarshipExpr#visit_all for (self: AStarshipExpr, Visitor) */ +void parser_prod__AStarshipExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3732); show_backtrace(1); } { -parser_prod__AForExpr__n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_kwdo= on */ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -goto RET_LABEL; +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3733); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +RET_LABEL:; +} +/* method parser_prod#AStarshipExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AStarshipExpr__visit_all(val* self, val* p0) { +parser_prod__AStarshipExpr__visit_all(self, p0); /* Direct call parser_prod#AStarshipExpr#visit_all on */ +RET_LABEL:; +} +/* method parser_prod#AStarExpr#init_astarexpr for (self: AStarExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AStarExpr__init_astarexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3742); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3743); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -var34 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on */ -if (var34 == NULL) { -var35 = 0; /* cannot be null */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3744); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3745); +show_backtrace(1); } else { -{ /* Inline kernel#Object#== (var34,var_old_child) on */ +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AStarExpr#init_astarexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AStarExpr__init_astarexpr(val* self, val* p0, val* p1) { +parser_prod__AStarExpr__init_astarexpr(self, p0, p1); /* Direct call parser_prod#AStarExpr#init_astarexpr on */ +RET_LABEL:; +} +/* method parser_prod#AStarExpr#replace_child for (self: AStarExpr, ANode, nullable ANode) */ +void parser_prod__AStarExpr__replace_child(val* self, val* p0, val* p1) { +val* var_old_child /* var old_child: ANode */; +val* var_new_child /* var new_child: nullable ANode */; +val* var /* : AExpr */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +val* var8 /* : AExpr */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +var_old_child = p0; +var_new_child = p1; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3750); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var34,var_other) on */ -var40 = var34 == var_other; -var38 = var40; -goto RET_LABEL39; -RET_LABEL39:(void)0; +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +var6 = var == var_other; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } -var36 = var38; -goto RET_LABEL37; -RET_LABEL37:(void)0; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -var35 = var36; +var1 = var2; } -if (var35){ -/* isa nullable AExpr */ -cltype42 = type_nullable_parser_nodes__AExpr.color; -idtype43 = type_nullable_parser_nodes__AExpr.id; +if (var1){ +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var41 = 1; +var7 = 0; } else { -if(cltype42 >= var_new_child->type->table_size) { -var41 = 0; +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var41 = var_new_child->type->type_table[cltype42] == idtype43; +var7 = var_new_child->type->type_table[cltype] == idtype; } } -if (unlikely(!var41)) { -var_class_name44 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name44); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3625); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3751); show_backtrace(1); } { -parser_prod__AForExpr__n_block_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_block= on */ +parser_prod__AStarExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_expr= on */ } goto RET_LABEL; } else { } -var45 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var45 == NULL) { -var46 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var45,var_old_child) on */ +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3754); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var45,var_other) on */ -var51 = var45 == var_other; -var49 = var51; -goto RET_LABEL50; -RET_LABEL50:(void)0; +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -var47 = var49; -goto RET_LABEL48; -RET_LABEL48:(void)0; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -var46 = var47; +var9 = var10; } -if (var46){ -/* isa nullable ALabel */ -cltype53 = type_nullable_parser_nodes__ALabel.color; -idtype54 = type_nullable_parser_nodes__ALabel.id; +if (var9){ +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var52 = 1; +var15 = 0; } else { -if(cltype53 >= var_new_child->type->table_size) { -var52 = 0; +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var52 = var_new_child->type->type_table[cltype53] == idtype54; +var15 = var_new_child->type->type_table[cltype16] == idtype17; } } -if (unlikely(!var52)) { -var_class_name55 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name55); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3629); +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3755); show_backtrace(1); } { -parser_prod__AForExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#AForExpr#n_label= on */ +parser_prod__AStarExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarExpr#n_expr2= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AForExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AForExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AForExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AForExpr#replace_child on */ +/* method parser_prod#AStarExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AStarExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AStarExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AStarExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AForExpr#n_kwfor= for (self: AForExpr, TKwfor) */ -void parser_prod__AForExpr__n_kwfor_61d(val* self, val* p0) { -val* var_node /* var node: TKwfor */; +/* method parser_prod#AStarExpr#n_expr= for (self: AStarExpr, AExpr) */ +void parser_prod__AStarExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_node; /* _n_kwfor on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#AForExpr#n_kwfor= for (self: Object, TKwfor) */ -void VIRTUAL_parser_prod__AForExpr__n_kwfor_61d(val* self, val* p0) { -parser_prod__AForExpr__n_kwfor_61d(self, p0); /* Direct call parser_prod#AForExpr#n_kwfor= on */ +/* method parser_prod#AStarExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AStarExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AStarExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AStarExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AForExpr#n_expr= for (self: AForExpr, AExpr) */ -void parser_prod__AForExpr__n_expr_61d(val* self, val* p0) { +/* method parser_prod#AStarExpr#n_expr2= for (self: AStarExpr, AExpr) */ +void parser_prod__AStarExpr__n_expr2_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_node; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ { { /* Inline parser_nodes#ANode#parent= (var_node,self) on */ var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -7148,330 +5961,352 @@ RET_LABEL1:(void)0; } RET_LABEL:; } -/* method parser_prod#AForExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AForExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AForExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AForExpr#n_expr= on */ +/* method parser_prod#AStarExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AStarExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AStarExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AStarExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#AForExpr#n_kwdo= for (self: AForExpr, TKwdo) */ -void parser_prod__AForExpr__n_kwdo_61d(val* self, val* p0) { -val* var_node /* var node: TKwdo */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_node; /* _n_kwdo on */ +/* method parser_prod#AStarExpr#visit_all for (self: AStarExpr, Visitor) */ +void parser_prod__AStarExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3774); +show_backtrace(1); +} { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3775); +show_backtrace(1); } +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AForExpr#n_kwdo= for (self: Object, TKwdo) */ -void VIRTUAL_parser_prod__AForExpr__n_kwdo_61d(val* self, val* p0) { -parser_prod__AForExpr__n_kwdo_61d(self, p0); /* Direct call parser_prod#AForExpr#n_kwdo= on */ +/* method parser_prod#AStarExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AStarExpr__visit_all(val* self, val* p0) { +parser_prod__AStarExpr__visit_all(self, p0); /* Direct call parser_prod#AStarExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AForExpr#n_block= for (self: AForExpr, nullable AExpr) */ -void parser_prod__AForExpr__n_block_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_node; /* _n_block on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ +/* method parser_prod#AStarstarExpr#init_astarstarexpr for (self: AStarstarExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AStarstarExpr__init_astarstarexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3784); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3785); +show_backtrace(1); } else { -var1 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; } -var1 = var2; +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3786); +show_backtrace(1); } -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3787); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AForExpr#n_block= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AForExpr__n_block_61d(val* self, val* p0) { -parser_prod__AForExpr__n_block_61d(self, p0); /* Direct call parser_prod#AForExpr#n_block= on */ +/* method parser_prod#AStarstarExpr#init_astarstarexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AStarstarExpr__init_astarstarexpr(val* self, val* p0, val* p1) { +parser_prod__AStarstarExpr__init_astarstarexpr(self, p0, p1); /* Direct call parser_prod#AStarstarExpr#init_astarstarexpr on */ RET_LABEL:; } -/* method parser_prod#AForExpr#n_label= for (self: AForExpr, nullable ALabel) */ -void parser_prod__AForExpr__n_label_61d(val* self, val* p0) { -val* var_node /* var node: nullable ALabel */; -val* var /* : null */; +/* method parser_prod#AStarstarExpr#replace_child for (self: AStarstarExpr, ANode, nullable ANode) */ +void parser_prod__AStarstarExpr__replace_child(val* self, val* p0, val* p1) { +val* var_old_child /* var old_child: ANode */; +val* var_new_child /* var new_child: nullable ANode */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; short int var4 /* : Bool */; -short int var5 /* : Bool */; short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +val* var8 /* : AExpr */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +var_old_child = p0; +var_new_child = p1; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3792); +show_backtrace(1); } -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; { -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; +{ /* Inline kernel#Object#== (var,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +var6 = var == var_other; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } -var6 = !var4; -var2 = var6; +} +var2 = var4; goto RET_LABEL3; RET_LABEL3:(void)0; } var1 = var2; } if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var7 = 0; +} else { +if(cltype >= var_new_child->type->table_size) { +var7 = 0; +} else { +var7 = var_new_child->type->type_table[cltype] == idtype; } } -} else { +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3793); +show_backtrace(1); } -RET_LABEL:; +{ +parser_prod__AStarstarExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_expr= on */ } -/* method parser_prod#AForExpr#n_label= for (self: Object, nullable ALabel) */ -void VIRTUAL_parser_prod__AForExpr__n_label_61d(val* self, val* p0) { -parser_prod__AForExpr__n_label_61d(self, p0); /* Direct call parser_prod#AForExpr#n_label= on */ -RET_LABEL:; +goto RET_LABEL; +} else { } -/* method parser_prod#AForExpr#visit_all for (self: AForExpr, Visitor) */ -void parser_prod__AForExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TKwfor */; -val* var1 /* : ANodes[TId] */; -val* var3 /* : ANodes[TId] */; -val* var4 /* : AExpr */; -val* var5 /* : TKwdo */; -val* var6 /* : nullable AExpr */; -val* var7 /* : nullable ALabel */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on */ -if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwfor"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3663); +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3796); show_backtrace(1); } { -parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ -} +{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var_other = var_old_child; { -{ /* Inline parser_nodes#AForExpr#n_ids (self) on */ -var3 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1604); -show_backtrace(1); +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -var1 = var3; -RET_LABEL2:(void)0; } +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -{ -parser_nodes__ANodes__visit_all(var1, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ +var9 = var10; } -var4 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var4 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3665); -show_backtrace(1); +if (var9){ +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -{ -parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var5 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3666); +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3797); show_backtrace(1); } { -parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var6 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on */ -{ -parser_nodes__Visitor__enter_visit(var_v, var6); /* Direct call parser_nodes#Visitor#enter_visit on */ +parser_prod__AStarstarExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AStarstarExpr#n_expr2= on */ } -var7 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -{ -parser_nodes__Visitor__enter_visit(var_v, var7); /* Direct call parser_nodes#Visitor#enter_visit on */ +goto RET_LABEL; +} else { } RET_LABEL:; } -/* method parser_prod#AForExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AForExpr__visit_all(val* self, val* p0) { -parser_prod__AForExpr__visit_all(self, p0); /* Direct call parser_prod#AForExpr#visit_all on */ +/* method parser_prod#AStarstarExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AStarstarExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AStarstarExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AStarstarExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AAssertExpr#init_aassertexpr for (self: AAssertExpr, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */ -void parser_prod__AAssertExpr__init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -val* var_n_kwassert /* var n_kwassert: nullable TKwassert */; -val* var_n_id /* var n_id: nullable TId */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_else /* var n_else: nullable AExpr */; -val* var /* : null */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -short int var7 /* : Bool */; -val* var10 /* : null */; -short int var11 /* : Bool */; -short int var12 /* : Bool */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -var_n_kwassert = p0; -var_n_id = p1; -var_n_expr = p2; -var_n_else = p3; -if (unlikely(var_n_kwassert == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3679); -show_backtrace(1); +/* method parser_prod#AStarstarExpr#n_expr= for (self: AStarstarExpr, AExpr) */ +void parser_prod__AStarstarExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_n_kwassert; /* _n_kwassert on */ -if (var_n_kwassert == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3680); -show_backtrace(1); -} else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwassert,self) on */ -if (unlikely(var_n_kwassert == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); -show_backtrace(1); } -var_n_kwassert->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL:; +} +/* method parser_prod#AStarstarExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AStarstarExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AStarstarExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AStarstarExpr#n_expr= on */ +RET_LABEL:; +} +/* method parser_prod#AStarstarExpr#n_expr2= for (self: AStarstarExpr, AExpr) */ +void parser_prod__AStarstarExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_n_id; /* _n_id on */ -var = NULL; -if (var_n_id == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ +RET_LABEL:; } -if (0) { -{ /* Inline kernel#Object#!= (var_n_id,var) on */ -var_other = var; -{ -var6 = ((short int (*)(val*, val*))(var_n_id->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_id, var_other) /* == on */; -var5 = var6; +/* method parser_prod#AStarstarExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AStarstarExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AStarstarExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AStarstarExpr#n_expr2= on */ +RET_LABEL:; } -var7 = !var5; -var3 = var7; -goto RET_LABEL4; -RET_LABEL4:(void)0; +/* method parser_prod#AStarstarExpr#visit_all for (self: AStarstarExpr, Visitor) */ +void parser_prod__AStarstarExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3816); +show_backtrace(1); } -var2 = var3; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3817); +show_backtrace(1); } -if (var2){ { -{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ -var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL8:(void)0; +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } +RET_LABEL:; } -} else { +/* method parser_prod#AStarstarExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AStarstarExpr__visit_all(val* self, val* p0) { +parser_prod__AStarstarExpr__visit_all(self, p0); /* Direct call parser_prod#AStarstarExpr#visit_all on */ +RET_LABEL:; } +/* method parser_prod#ASlashExpr#init_aslashexpr for (self: ASlashExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__ASlashExpr__init_aslashexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3683); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3826); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_n_expr; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3684); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3827); show_backtrace(1); } else { { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL9:(void)0; -} -} -self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_n_else; /* _n_else on */ -var10 = NULL; -if (var_n_else == NULL) { -var11 = 0; /* is null */ -} else { -var11 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_n_else,var10) on */ -var_other = var10; -{ -var15 = ((short int (*)(val*, val*))(var_n_else->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_else, var_other) /* == on */; -var14 = var15; +RET_LABEL1:(void)0; } -var16 = !var14; -var12 = var16; -goto RET_LABEL13; -RET_LABEL13:(void)0; } -var11 = var12; +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3828); +show_backtrace(1); } -if (var11){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_n_else,self) on */ -var_n_else->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL17:(void)0; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3829); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -} else { } RET_LABEL:; } -/* method parser_prod#AAssertExpr#init_aassertexpr for (self: Object, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */ -void VIRTUAL_parser_prod__AAssertExpr__init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__AAssertExpr__init_aassertexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on */ +/* method parser_prod#ASlashExpr#init_aslashexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__ASlashExpr__init_aslashexpr(val* self, val* p0, val* p1) { +parser_prod__ASlashExpr__init_aslashexpr(self, p0, p1); /* Direct call parser_prod#ASlashExpr#init_aslashexpr on */ RET_LABEL:; } -/* method parser_prod#AAssertExpr#replace_child for (self: AAssertExpr, ANode, nullable ANode) */ -void parser_prod__AAssertExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ASlashExpr#replace_child for (self: ASlashExpr, ANode, nullable ANode) */ +void parser_prod__ASlashExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwassert */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -7481,7 +6316,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : nullable TId */; +val* var8 /* : AExpr */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -7490,37 +6325,19 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; -val* var19 /* : AExpr */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -const char* var_class_name29; -val* var30 /* : nullable AExpr */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -short int var34 /* : Bool */; -short int var36 /* : Bool */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -const char* var_class_name40; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwassert"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3691); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3834); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -7534,9 +6351,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TKwassert */ -cltype = type_parser_nodes__TKwassert.color; -idtype = type_parser_nodes__TKwassert.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -7548,24 +6365,27 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwassert", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3692); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3835); show_backtrace(1); } { -parser_prod__AAssertExpr__n_kwassert_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_kwassert= on */ +parser_prod__ASlashExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ASlashExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on */ -if (var8 == NULL) { -var9 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3838); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -7579,11 +6399,11 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa nullable TId */ -cltype16 = type_nullable_parser_nodes__TId.color; -idtype17 = type_nullable_parser_nodes__TId.id; +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var15 = 1; +var15 = 0; } else { if(cltype16 >= var_new_child->type->table_size) { var15 = 0; @@ -7593,187 +6413,296 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3696); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3839); show_backtrace(1); } { -parser_prod__AAssertExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_id= on */ +parser_prod__ASlashExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ASlashExpr#n_expr2= on */ } goto RET_LABEL; } else { } -var19 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var19 == NULL)) { +RET_LABEL:; +} +/* method parser_prod#ASlashExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ASlashExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ASlashExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ASlashExpr#replace_child on */ +RET_LABEL:; +} +/* method parser_prod#ASlashExpr#n_expr= for (self: ASlashExpr, AExpr) */ +void parser_prod__ASlashExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#ASlashExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ASlashExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ASlashExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ASlashExpr#n_expr= on */ +RET_LABEL:; +} +/* method parser_prod#ASlashExpr#n_expr2= for (self: ASlashExpr, AExpr) */ +void parser_prod__ASlashExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#ASlashExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ASlashExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__ASlashExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#ASlashExpr#n_expr2= on */ +RET_LABEL:; +} +/* method parser_prod#ASlashExpr#visit_all for (self: ASlashExpr, Visitor) */ +void parser_prod__ASlashExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3699); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3858); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var19,var_old_child) on */ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3859); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +RET_LABEL:; +} +/* method parser_prod#ASlashExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ASlashExpr__visit_all(val* self, val* p0) { +parser_prod__ASlashExpr__visit_all(self, p0); /* Direct call parser_prod#ASlashExpr#visit_all on */ +RET_LABEL:; +} +/* method parser_prod#APercentExpr#init_apercentexpr for (self: APercentExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__APercentExpr__init_apercentexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +var_n_expr = p0; +var_n_expr2 = p1; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3868); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3869); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3870); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ +if (var_n_expr2 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3871); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#APercentExpr#init_apercentexpr for (self: Object, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__APercentExpr__init_apercentexpr(val* self, val* p0, val* p1) { +parser_prod__APercentExpr__init_apercentexpr(self, p0, p1); /* Direct call parser_prod#APercentExpr#init_apercentexpr on */ +RET_LABEL:; +} +/* method parser_prod#APercentExpr#replace_child for (self: APercentExpr, ANode, nullable ANode) */ +void parser_prod__APercentExpr__replace_child(val* self, val* p0, val* p1) { +val* var_old_child /* var old_child: ANode */; +val* var_new_child /* var new_child: nullable ANode */; +val* var /* : AExpr */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +val* var8 /* : AExpr */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +var_old_child = p0; +var_new_child = p1; +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3876); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ -var25 = var19 == var_other; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +var6 = var == var_other; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -var20 = var21; +var1 = var2; } -if (var20){ +if (var1){ /* isa AExpr */ -cltype27 = type_parser_nodes__AExpr.color; -idtype28 = type_parser_nodes__AExpr.id; +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var26 = 0; +var7 = 0; } else { -if(cltype27 >= var_new_child->type->table_size) { -var26 = 0; +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var26 = var_new_child->type->type_table[cltype27] == idtype28; +var7 = var_new_child->type->type_table[cltype] == idtype; } } -if (unlikely(!var26)) { -var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3700); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3877); show_backtrace(1); } { -parser_prod__AAssertExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_expr= on */ +parser_prod__APercentExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#APercentExpr#n_expr= on */ } goto RET_LABEL; } else { } -var30 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on */ -if (var30 == NULL) { -var31 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var30,var_old_child) on */ +var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3880); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ -var36 = var30 == var_other; -var34 = var36; -goto RET_LABEL35; -RET_LABEL35:(void)0; +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -var32 = var34; -goto RET_LABEL33; -RET_LABEL33:(void)0; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -var31 = var32; +var9 = var10; } -if (var31){ -/* isa nullable AExpr */ -cltype38 = type_nullable_parser_nodes__AExpr.color; -idtype39 = type_nullable_parser_nodes__AExpr.id; +if (var9){ +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var37 = 1; +var15 = 0; } else { -if(cltype38 >= var_new_child->type->table_size) { -var37 = 0; +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var37 = var_new_child->type->type_table[cltype38] == idtype39; +var15 = var_new_child->type->type_table[cltype16] == idtype17; } } -if (unlikely(!var37)) { -var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3704); +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3881); show_backtrace(1); } { -parser_prod__AAssertExpr__n_else_61d(self, var_new_child); /* Direct call parser_prod#AAssertExpr#n_else= on */ +parser_prod__APercentExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#APercentExpr#n_expr2= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AAssertExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AAssertExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AAssertExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAssertExpr#replace_child on */ +/* method parser_prod#APercentExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__APercentExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__APercentExpr__replace_child(self, p0, p1); /* Direct call parser_prod#APercentExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AAssertExpr#n_kwassert= for (self: AAssertExpr, TKwassert) */ -void parser_prod__AAssertExpr__n_kwassert_61d(val* self, val* p0) { -val* var_node /* var node: TKwassert */; +/* method parser_prod#APercentExpr#n_expr= for (self: APercentExpr, AExpr) */ +void parser_prod__APercentExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_node; /* _n_kwassert on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#AAssertExpr#n_kwassert= for (self: Object, TKwassert) */ -void VIRTUAL_parser_prod__AAssertExpr__n_kwassert_61d(val* self, val* p0) { -parser_prod__AAssertExpr__n_kwassert_61d(self, p0); /* Direct call parser_prod#AAssertExpr#n_kwassert= on */ -RET_LABEL:; -} -/* method parser_prod#AAssertExpr#n_id= for (self: AAssertExpr, nullable TId) */ -void parser_prod__AAssertExpr__n_id_61d(val* self, val* p0) { -val* var_node /* var node: nullable TId */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_node; /* _n_id on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} -} -} else { -} -RET_LABEL:; -} -/* method parser_prod#AAssertExpr#n_id= for (self: Object, nullable TId) */ -void VIRTUAL_parser_prod__AAssertExpr__n_id_61d(val* self, val* p0) { -parser_prod__AAssertExpr__n_id_61d(self, p0); /* Direct call parser_prod#AAssertExpr#n_id= on */ +/* method parser_prod#APercentExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__APercentExpr__n_expr_61d(val* self, val* p0) { +parser_prod__APercentExpr__n_expr_61d(self, p0); /* Direct call parser_prod#APercentExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AAssertExpr#n_expr= for (self: AAssertExpr, AExpr) */ -void parser_prod__AAssertExpr__n_expr_61d(val* self, val* p0) { +/* method parser_prod#APercentExpr#n_expr2= for (self: APercentExpr, AExpr) */ +void parser_prod__APercentExpr__n_expr2_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_node; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ { { /* Inline parser_nodes#ANode#parent= (var_node,self) on */ var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -7782,142 +6711,84 @@ RET_LABEL1:(void)0; } RET_LABEL:; } -/* method parser_prod#AAssertExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AAssertExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AAssertExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AAssertExpr#n_expr= on */ -RET_LABEL:; -} -/* method parser_prod#AAssertExpr#n_else= for (self: AAssertExpr, nullable AExpr) */ -void parser_prod__AAssertExpr__n_else_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_node; /* _n_else on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var) on */ -var_other = var; -{ -var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -var4 = var5; -} -var6 = !var4; -var2 = var6; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -var1 = var2; -} -if (var1){ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL7:(void)0; -} -} -} else { -} -RET_LABEL:; -} -/* method parser_prod#AAssertExpr#n_else= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AAssertExpr__n_else_61d(val* self, val* p0) { -parser_prod__AAssertExpr__n_else_61d(self, p0); /* Direct call parser_prod#AAssertExpr#n_else= on */ +/* method parser_prod#APercentExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__APercentExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__APercentExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#APercentExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#AAssertExpr#visit_all for (self: AAssertExpr, Visitor) */ -void parser_prod__AAssertExpr__visit_all(val* self, val* p0) { +/* method parser_prod#APercentExpr#visit_all for (self: APercentExpr, Visitor) */ +void parser_prod__APercentExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwassert */; -val* var1 /* : nullable TId */; -val* var2 /* : AExpr */; -val* var3 /* : nullable AExpr */; +val* var /* : AExpr */; +val* var1 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwassert"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3733); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3900); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on */ -{ -parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var2 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3735); +var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3901); show_backtrace(1); } { -parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var3 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on */ -{ -parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AAssertExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AAssertExpr__visit_all(val* self, val* p0) { -parser_prod__AAssertExpr__visit_all(self, p0); /* Direct call parser_prod#AAssertExpr#visit_all on */ +/* method parser_prod#APercentExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__APercentExpr__visit_all(val* self, val* p0) { +parser_prod__APercentExpr__visit_all(self, p0); /* Direct call parser_prod#APercentExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AOnceExpr#init_aonceexpr for (self: AOnceExpr, nullable TKwonce, nullable AExpr) */ -void parser_prod__AOnceExpr__init_aonceexpr(val* self, val* p0, val* p1) { -val* var_n_kwonce /* var n_kwonce: nullable TKwonce */; +/* method parser_prod#AUminusExpr#init_auminusexpr for (self: AUminusExpr, nullable TMinus, nullable AExpr) */ +void parser_prod__AUminusExpr__init_auminusexpr(val* self, val* p0, val* p1) { +val* var_n_minus /* var n_minus: nullable TMinus */; val* var_n_expr /* var n_expr: nullable AExpr */; -var_n_kwonce = p0; +var_n_minus = p0; var_n_expr = p1; -if (unlikely(var_n_kwonce == NULL)) { +if (unlikely(var_n_minus == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3745); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3910); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_n_kwonce; /* _n_kwonce on */ -if (var_n_kwonce == NULL) { +self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_n_minus; /* _n_minus on */ +if (var_n_minus == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3746); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3911); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwonce,self) on */ -if (unlikely(var_n_kwonce == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_minus,self) on */ +if (unlikely(var_n_minus == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_kwonce->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_minus->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3747); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3912); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_n_expr; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3748); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3913); show_backtrace(1); } else { { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -7926,16 +6797,16 @@ RET_LABEL2:(void)0; } RET_LABEL:; } -/* method parser_prod#AOnceExpr#init_aonceexpr for (self: Object, nullable TKwonce, nullable AExpr) */ -void VIRTUAL_parser_prod__AOnceExpr__init_aonceexpr(val* self, val* p0, val* p1) { -parser_prod__AOnceExpr__init_aonceexpr(self, p0, p1); /* Direct call parser_prod#AOnceExpr#init_aonceexpr on */ +/* method parser_prod#AUminusExpr#init_auminusexpr for (self: Object, nullable TMinus, nullable AExpr) */ +void VIRTUAL_parser_prod__AUminusExpr__init_auminusexpr(val* self, val* p0, val* p1) { +parser_prod__AUminusExpr__init_auminusexpr(self, p0, p1); /* Direct call parser_prod#AUminusExpr#init_auminusexpr on */ RET_LABEL:; } -/* method parser_prod#AOnceExpr#replace_child for (self: AOnceExpr, ANode, nullable ANode) */ -void parser_prod__AOnceExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AUminusExpr#replace_child for (self: AUminusExpr, ANode, nullable ANode) */ +void parser_prod__AUminusExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwonce */; +val* var /* : TMinus */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -7956,17 +6827,17 @@ int idtype17; const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on */ +var = self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val; /* _n_minus on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwonce"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3753); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_minus"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3918); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -7978,11 +6849,11 @@ goto RET_LABEL3; RET_LABEL3:(void)0; } var1 = var2; -} -if (var1){ -/* isa TKwonce */ -cltype = type_parser_nodes__TKwonce.color; -idtype = type_parser_nodes__TKwonce.id; +} +if (var1){ +/* isa TMinus */ +cltype = type_parser_nodes__TMinus.color; +idtype = type_parser_nodes__TMinus.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -7994,20 +6865,20 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwonce", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3754); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TMinus", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3919); show_backtrace(1); } { -parser_prod__AOnceExpr__n_kwonce_61d(self, var_new_child); /* Direct call parser_prod#AOnceExpr#n_kwonce= on */ +parser_prod__AUminusExpr__n_minus_61d(self, var_new_child); /* Direct call parser_prod#AUminusExpr#n_minus= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on */ +var8 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3757); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3922); show_backtrace(1); } { @@ -8043,45 +6914,45 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3758); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3923); show_backtrace(1); } { -parser_prod__AOnceExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOnceExpr#n_expr= on */ +parser_prod__AUminusExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AUminusExpr#n_expr= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AOnceExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AOnceExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AOnceExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AOnceExpr#replace_child on */ +/* method parser_prod#AUminusExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AUminusExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AUminusExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AUminusExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AOnceExpr#n_kwonce= for (self: AOnceExpr, TKwonce) */ -void parser_prod__AOnceExpr__n_kwonce_61d(val* self, val* p0) { -val* var_node /* var node: TKwonce */; +/* method parser_prod#AUminusExpr#n_minus= for (self: AUminusExpr, TMinus) */ +void parser_prod__AUminusExpr__n_minus_61d(val* self, val* p0) { +val* var_node /* var node: TMinus */; var_node = p0; -self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_node; /* _n_kwonce on */ +self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_node; /* _n_minus on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#AOnceExpr#n_kwonce= for (self: Object, TKwonce) */ -void VIRTUAL_parser_prod__AOnceExpr__n_kwonce_61d(val* self, val* p0) { -parser_prod__AOnceExpr__n_kwonce_61d(self, p0); /* Direct call parser_prod#AOnceExpr#n_kwonce= on */ +/* method parser_prod#AUminusExpr#n_minus= for (self: Object, TMinus) */ +void VIRTUAL_parser_prod__AUminusExpr__n_minus_61d(val* self, val* p0) { +parser_prod__AUminusExpr__n_minus_61d(self, p0); /* Direct call parser_prod#AUminusExpr#n_minus= on */ RET_LABEL:; } -/* method parser_prod#AOnceExpr#n_expr= for (self: AOnceExpr, AExpr) */ -void parser_prod__AOnceExpr__n_expr_61d(val* self, val* p0) { +/* method parser_prod#AUminusExpr#n_expr= for (self: AUminusExpr, AExpr) */ +void parser_prod__AUminusExpr__n_expr_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_node; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { { /* Inline parser_nodes#ANode#parent= (var_node,self) on */ var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -8090,30 +6961,30 @@ RET_LABEL1:(void)0; } RET_LABEL:; } -/* method parser_prod#AOnceExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AOnceExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AOnceExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AOnceExpr#n_expr= on */ +/* method parser_prod#AUminusExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AUminusExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AUminusExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AUminusExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AOnceExpr#visit_all for (self: AOnceExpr, Visitor) */ -void parser_prod__AOnceExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AUminusExpr#visit_all for (self: AUminusExpr, Visitor) */ +void parser_prod__AUminusExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwonce */; +val* var /* : TMinus */; val* var1 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on */ +var = self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val; /* _n_minus on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwonce"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3777); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_minus"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3942); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on */ +var1 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3778); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3943); show_backtrace(1); } { @@ -8121,71 +6992,133 @@ parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Vis } RET_LABEL:; } -/* method parser_prod#AOnceExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AOnceExpr__visit_all(val* self, val* p0) { -parser_prod__AOnceExpr__visit_all(self, p0); /* Direct call parser_prod#AOnceExpr#visit_all on */ +/* method parser_prod#AUminusExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AUminusExpr__visit_all(val* self, val* p0) { +parser_prod__AUminusExpr__visit_all(self, p0); /* Direct call parser_prod#AUminusExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AOrExpr#init_aorexpr for (self: AOrExpr, nullable AExpr, nullable AExpr) */ -void parser_prod__AOrExpr__init_aorexpr(val* self, val* p0, val* p1) { -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_expr2 /* var n_expr2: nullable AExpr */; -var_n_expr = p0; -var_n_expr2 = p1; -if (unlikely(var_n_expr == NULL)) { +/* method parser_prod#ANewExpr#init_anewexpr for (self: ANewExpr, nullable TKwnew, nullable AType, nullable TId, nullable AExprs) */ +void parser_prod__ANewExpr__init_anewexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +val* var_n_kwnew /* var n_kwnew: nullable TKwnew */; +val* var_n_type /* var n_type: nullable AType */; +val* var_n_id /* var n_id: nullable TId */; +val* var_n_args /* var n_args: nullable AExprs */; +val* var /* : null */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +var_n_kwnew = p0; +var_n_type = p1; +var_n_id = p2; +var_n_args = p3; +if (unlikely(var_n_kwnew == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3858); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3954); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { +self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_n_kwnew; /* _n_kwnew on */ +if (var_n_kwnew == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3859); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3955); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ -if (unlikely(var_n_expr == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwnew,self) on */ +if (unlikely(var_n_kwnew == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_kwnew->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -if (unlikely(var_n_expr2 == NULL)) { +if (unlikely(var_n_type == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3860); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3956); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ -if (var_n_expr2 == NULL) { +self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_n_type; /* _n_type on */ +if (var_n_type == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3861); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3957); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ -if (unlikely(var_n_expr2 == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_type,self) on */ +if (unlikely(var_n_type == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_type->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL2:(void)0; } } +self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_n_id; /* _n_id on */ +var = NULL; +if (var_n_id == NULL) { +var3 = 0; /* is null */ +} else { +var3 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_id,var) on */ +var_other = var; +{ +var7 = ((short int (*)(val*, val*))(var_n_id->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_id, var_other) /* == on */; +var6 = var7; +} +var8 = !var6; +var4 = var8; +goto RET_LABEL5; +RET_LABEL5:(void)0; +} +var3 = var4; +} +if (var3){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL9:(void)0; +} +} +} else { +} +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3960); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_n_args; /* _n_args on */ +if (var_n_args == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3961); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_args,self) on */ +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_args->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL10:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#AOrExpr#init_aorexpr for (self: Object, nullable AExpr, nullable AExpr) */ -void VIRTUAL_parser_prod__AOrExpr__init_aorexpr(val* self, val* p0, val* p1) { -parser_prod__AOrExpr__init_aorexpr(self, p0, p1); /* Direct call parser_prod#AOrExpr#init_aorexpr on */ +/* method parser_prod#ANewExpr#init_anewexpr for (self: Object, nullable TKwnew, nullable AType, nullable TId, nullable AExprs) */ +void VIRTUAL_parser_prod__ANewExpr__init_anewexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +parser_prod__ANewExpr__init_anewexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#ANewExpr#init_anewexpr on */ RET_LABEL:; } -/* method parser_prod#AOrExpr#replace_child for (self: AOrExpr, ANode, nullable ANode) */ -void parser_prod__AOrExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ANewExpr#replace_child for (self: ANewExpr, ANode, nullable ANode) */ +void parser_prod__ANewExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : AExpr */; +val* var /* : TKwnew */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -8195,7 +7128,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : AExpr */; +val* var8 /* : AType */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -8204,19 +7137,37 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; +val* var19 /* : nullable TId */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : AExprs */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +const char* var_class_name40; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on */ +var = self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3866); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnew"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3966); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -8230,9 +7181,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa AExpr */ -cltype = type_parser_nodes__AExpr.color; -idtype = type_parser_nodes__AExpr.id; +/* isa TKwnew */ +cltype = type_parser_nodes__TKwnew.color; +idtype = type_parser_nodes__TKwnew.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -8244,27 +7195,27 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3867); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnew", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3967); show_backtrace(1); } { -parser_prod__AOrExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_expr= on */ +parser_prod__ANewExpr__n_kwnew_61d(self, var_new_child); /* Direct call parser_prod#ANewExpr#n_kwnew= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on */ +var8 = self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val; /* _n_type on */ if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3870); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3970); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -8278,9 +7229,9 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa AExpr */ -cltype16 = type_parser_nodes__AExpr.color; -idtype17 = type_parser_nodes__AExpr.id; +/* isa AType */ +cltype16 = type_parser_nodes__AType.color; +idtype17 = type_parser_nodes__AType.id; if(var_new_child == NULL) { var15 = 0; } else { @@ -8292,147 +7243,321 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3871); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3971); show_backtrace(1); } { -parser_prod__AOrExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AOrExpr#n_expr2= on */ +parser_prod__ANewExpr__n_type_61d(self, var_new_child); /* Direct call parser_prod#ANewExpr#n_type= on */ +} +goto RET_LABEL; +} else { +} +var19 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on */ +if (var19 == NULL) { +var20 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var19,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ +var25 = var19 == var_other; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +if (var20){ +/* isa nullable TId */ +cltype27 = type_nullable_parser_nodes__TId.color; +idtype28 = type_nullable_parser_nodes__TId.id; +if(var_new_child == NULL) { +var26 = 1; +} else { +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; +} else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; +} +} +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3975); +show_backtrace(1); +} +{ +parser_prod__ANewExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#ANewExpr#n_id= on */ +} +goto RET_LABEL; +} else { +} +var30 = self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val; /* _n_args on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3978); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var30,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ +var36 = var30 == var_other; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; +} +} +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +var31 = var32; +} +if (var31){ +/* isa AExprs */ +cltype38 = type_parser_nodes__AExprs.color; +idtype39 = type_parser_nodes__AExprs.id; +if(var_new_child == NULL) { +var37 = 0; +} else { +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; +} else { +var37 = var_new_child->type->type_table[cltype38] == idtype39; +} +} +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 3979); +show_backtrace(1); +} +{ +parser_prod__ANewExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ANewExpr#n_args= on */ } goto RET_LABEL; } else { } -RET_LABEL:; +RET_LABEL:; +} +/* method parser_prod#ANewExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ANewExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ANewExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ANewExpr#replace_child on */ +RET_LABEL:; +} +/* method parser_prod#ANewExpr#n_kwnew= for (self: ANewExpr, TKwnew) */ +void parser_prod__ANewExpr__n_kwnew_61d(val* self, val* p0) { +val* var_node /* var node: TKwnew */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_node; /* _n_kwnew on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#ANewExpr#n_kwnew= for (self: Object, TKwnew) */ +void VIRTUAL_parser_prod__ANewExpr__n_kwnew_61d(val* self, val* p0) { +parser_prod__ANewExpr__n_kwnew_61d(self, p0); /* Direct call parser_prod#ANewExpr#n_kwnew= on */ +RET_LABEL:; +} +/* method parser_prod#ANewExpr#n_type= for (self: ANewExpr, AType) */ +void parser_prod__ANewExpr__n_type_61d(val* self, val* p0) { +val* var_node /* var node: AType */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_node; /* _n_type on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#ANewExpr#n_type= for (self: Object, AType) */ +void VIRTUAL_parser_prod__ANewExpr__n_type_61d(val* self, val* p0) { +parser_prod__ANewExpr__n_type_61d(self, p0); /* Direct call parser_prod#ANewExpr#n_type= on */ +RET_LABEL:; +} +/* method parser_prod#ANewExpr#n_id= for (self: ANewExpr, nullable TId) */ +void parser_prod__ANewExpr__n_id_61d(val* self, val* p0) { +val* var_node /* var node: nullable TId */; +val* var /* : null */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_node; /* _n_id on */ +var = NULL; +if (var_node == NULL) { +var1 = 0; /* is null */ +} else { +var1 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#AOrExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AOrExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AOrExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AOrExpr#replace_child on */ -RET_LABEL:; +var1 = var2; } -/* method parser_prod#AOrExpr#n_expr= for (self: AOrExpr, AExpr) */ -void parser_prod__AOrExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_node; /* _n_expr on */ +if (var1){ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; } } +} else { +} RET_LABEL:; } -/* method parser_prod#AOrExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AOrExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AOrExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AOrExpr#n_expr= on */ +/* method parser_prod#ANewExpr#n_id= for (self: Object, nullable TId) */ +void VIRTUAL_parser_prod__ANewExpr__n_id_61d(val* self, val* p0) { +parser_prod__ANewExpr__n_id_61d(self, p0); /* Direct call parser_prod#ANewExpr#n_id= on */ RET_LABEL:; } -/* method parser_prod#AOrExpr#n_expr2= for (self: AOrExpr, AExpr) */ -void parser_prod__AOrExpr__n_expr2_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; +/* method parser_prod#ANewExpr#n_args= for (self: ANewExpr, AExprs) */ +void parser_prod__ANewExpr__n_args_61d(val* self, val* p0) { +val* var_node /* var node: AExprs */; var_node = p0; -self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_node; /* _n_expr2 on */ +self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_node; /* _n_args on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#AOrExpr#n_expr2= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AOrExpr__n_expr2_61d(val* self, val* p0) { -parser_prod__AOrExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AOrExpr#n_expr2= on */ +/* method parser_prod#ANewExpr#n_args= for (self: Object, AExprs) */ +void VIRTUAL_parser_prod__ANewExpr__n_args_61d(val* self, val* p0) { +parser_prod__ANewExpr__n_args_61d(self, p0); /* Direct call parser_prod#ANewExpr#n_args= on */ RET_LABEL:; } -/* method parser_prod#AOrExpr#visit_all for (self: AOrExpr, Visitor) */ -void parser_prod__AOrExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ANewExpr#visit_all for (self: ANewExpr, Visitor) */ +void parser_prod__ANewExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : AExpr */; -val* var1 /* : AExpr */; +val* var /* : TKwnew */; +val* var1 /* : AType */; +val* var2 /* : nullable TId */; +val* var3 /* : AExprs */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on */ +var = self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3890); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnew"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4008); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on */ +var1 = self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val; /* _n_type on */ if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3891); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4009); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } +var2 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var3 = self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val; /* _n_args on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4011); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#AOrExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AOrExpr__visit_all(val* self, val* p0) { -parser_prod__AOrExpr__visit_all(self, p0); /* Direct call parser_prod#AOrExpr#visit_all on */ +/* method parser_prod#ANewExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ANewExpr__visit_all(val* self, val* p0) { +parser_prod__ANewExpr__visit_all(self, p0); /* Direct call parser_prod#ANewExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AAndExpr#init_aandexpr for (self: AAndExpr, nullable AExpr, nullable AExpr) */ -void parser_prod__AAndExpr__init_aandexpr(val* self, val* p0, val* p1) { +/* method parser_prod#AAttrExpr#init_aattrexpr for (self: AAttrExpr, nullable AExpr, nullable TAttrid) */ +void parser_prod__AAttrExpr__init_aattrexpr(val* self, val* p0, val* p1) { val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_expr2 /* var n_expr2: nullable AExpr */; +val* var_n_id /* var n_id: nullable TAttrid */; var_n_expr = p0; -var_n_expr2 = p1; +var_n_id = p1; if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3900); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4020); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_n_expr; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on */ if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3901); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4021); show_backtrace(1); } else { { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -if (unlikely(var_n_expr2 == NULL)) { +if (unlikely(var_n_id == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3902); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4022); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ -if (var_n_expr2 == NULL) { +self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on */ +if (var_n_id == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3903); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4023); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ -if (unlikely(var_n_expr2 == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ +if (unlikely(var_n_id == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL2:(void)0; } } RET_LABEL:; } -/* method parser_prod#AAndExpr#init_aandexpr for (self: Object, nullable AExpr, nullable AExpr) */ -void VIRTUAL_parser_prod__AAndExpr__init_aandexpr(val* self, val* p0, val* p1) { -parser_prod__AAndExpr__init_aandexpr(self, p0, p1); /* Direct call parser_prod#AAndExpr#init_aandexpr on */ +/* method parser_prod#AAttrExpr#init_aattrexpr for (self: Object, nullable AExpr, nullable TAttrid) */ +void VIRTUAL_parser_prod__AAttrExpr__init_aattrexpr(val* self, val* p0, val* p1) { +parser_prod__AAttrExpr__init_aattrexpr(self, p0, p1); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on */ RET_LABEL:; } -/* method parser_prod#AAndExpr#replace_child for (self: AAndExpr, ANode, nullable ANode) */ -void parser_prod__AAndExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AAttrExpr#replace_child for (self: AAttrExpr, ANode, nullable ANode) */ +void parser_prod__AAttrExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : AExpr */; @@ -8445,7 +7570,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : AExpr */; +val* var8 /* : TAttrid */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -8456,10 +7581,10 @@ int idtype17; const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on */ +var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3908); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4028); show_backtrace(1); } { @@ -8495,26 +7620,26 @@ var7 = var_new_child->type->type_table[cltype] == idtype; if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3909); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4029); show_backtrace(1); } { -parser_prod__AAndExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_expr= on */ +parser_prod__AAttrExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAttrExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on */ +var8 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on */ if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3912); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4032); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -8528,9 +7653,9 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa AExpr */ -cltype16 = type_parser_nodes__AExpr.color; -idtype17 = type_parser_nodes__AExpr.id; +/* isa TAttrid */ +cltype16 = type_parser_nodes__TAttrid.color; +idtype17 = type_parser_nodes__TAttrid.id; if(var_new_child == NULL) { var15 = 0; } else { @@ -8542,28 +7667,28 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3913); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAttrid", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4033); show_backtrace(1); } { -parser_prod__AAndExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AAndExpr#n_expr2= on */ +parser_prod__AAttrExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAttrExpr#n_id= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AAndExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AAndExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AAndExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAndExpr#replace_child on */ +/* method parser_prod#AAttrExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AAttrExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AAttrExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAttrExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AAndExpr#n_expr= for (self: AAndExpr, AExpr) */ -void parser_prod__AAndExpr__n_expr_61d(val* self, val* p0) { +/* method parser_prod#AAttrExpr#n_expr= for (self: AAttrExpr, AExpr) */ +void parser_prod__AAttrExpr__n_expr_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_node; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on */ { { /* Inline parser_nodes#ANode#parent= (var_node,self) on */ var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -8572,48 +7697,48 @@ RET_LABEL1:(void)0; } RET_LABEL:; } -/* method parser_prod#AAndExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AAndExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AAndExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AAndExpr#n_expr= on */ +/* method parser_prod#AAttrExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AAttrExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AAttrExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AAttrExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AAndExpr#n_expr2= for (self: AAndExpr, AExpr) */ -void parser_prod__AAndExpr__n_expr2_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; +/* method parser_prod#AAttrExpr#n_id= for (self: AAttrExpr, TAttrid) */ +void parser_prod__AAttrExpr__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TAttrid */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_node; /* _n_expr2 on */ +self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#AAndExpr#n_expr2= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AAndExpr__n_expr2_61d(val* self, val* p0) { -parser_prod__AAndExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AAndExpr#n_expr2= on */ +/* method parser_prod#AAttrExpr#n_id= for (self: Object, TAttrid) */ +void VIRTUAL_parser_prod__AAttrExpr__n_id_61d(val* self, val* p0) { +parser_prod__AAttrExpr__n_id_61d(self, p0); /* Direct call parser_prod#AAttrExpr#n_id= on */ RET_LABEL:; } -/* method parser_prod#AAndExpr#visit_all for (self: AAndExpr, Visitor) */ -void parser_prod__AAndExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AAttrExpr#visit_all for (self: AAttrExpr, Visitor) */ +void parser_prod__AAttrExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; val* var /* : AExpr */; -val* var1 /* : AExpr */; +val* var1 /* : TAttrid */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on */ +var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3932); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4052); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on */ +var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on */ if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3933); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4053); show_backtrace(1); } { @@ -8621,68 +7746,114 @@ parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Vis } RET_LABEL:; } -/* method parser_prod#AAndExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AAndExpr__visit_all(val* self, val* p0) { -parser_prod__AAndExpr__visit_all(self, p0); /* Direct call parser_prod#AAndExpr#visit_all on */ +/* method parser_prod#AAttrExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AAttrExpr__visit_all(val* self, val* p0) { +parser_prod__AAttrExpr__visit_all(self, p0); /* Direct call parser_prod#AAttrExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: AOrElseExpr, nullable AExpr, nullable AExpr) */ -void parser_prod__AOrElseExpr__init_aorelseexpr(val* self, val* p0, val* p1) { +/* method parser_prod#AAttrAssignExpr#init_aattrassignexpr for (self: AAttrAssignExpr, nullable AExpr, nullable TAttrid, nullable TAssign, nullable AExpr) */ +void parser_prod__AAttrAssignExpr__init_aattrassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) { val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_expr2 /* var n_expr2: nullable AExpr */; +val* var_n_id /* var n_id: nullable TAttrid */; +val* var_n_assign /* var n_assign: nullable TAssign */; +val* var_n_value /* var n_value: nullable AExpr */; var_n_expr = p0; -var_n_expr2 = p1; +var_n_id = p1; +var_n_assign = p2; +var_n_value = p3; if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3942); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4064); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_n_expr; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on */ if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3943); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4065); show_backtrace(1); } else { { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -if (unlikely(var_n_expr2 == NULL)) { +if (unlikely(var_n_id == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3944); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4066); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ -if (var_n_expr2 == NULL) { +self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on */ +if (var_n_id == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3945); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4067); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ -if (unlikely(var_n_expr2 == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ +if (unlikely(var_n_id == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL2:(void)0; } } +if (unlikely(var_n_assign == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4068); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on */ +if (var_n_assign == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4069); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_assign,self) on */ +if (unlikely(var_n_assign == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_assign->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; +} +} +if (unlikely(var_n_value == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4070); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on */ +if (var_n_value == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4071); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_value,self) on */ +if (unlikely(var_n_value == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL4:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: Object, nullable AExpr, nullable AExpr) */ -void VIRTUAL_parser_prod__AOrElseExpr__init_aorelseexpr(val* self, val* p0, val* p1) { -parser_prod__AOrElseExpr__init_aorelseexpr(self, p0, p1); /* Direct call parser_prod#AOrElseExpr#init_aorelseexpr on */ +/* method parser_prod#AAttrAssignExpr#init_aattrassignexpr for (self: Object, nullable AExpr, nullable TAttrid, nullable TAssign, nullable AExpr) */ +void VIRTUAL_parser_prod__AAttrAssignExpr__init_aattrassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +parser_prod__AAttrAssignExpr__init_aattrassignexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#AAttrAssignExpr#init_aattrassignexpr on */ RET_LABEL:; } -/* method parser_prod#AOrElseExpr#replace_child for (self: AOrElseExpr, ANode, nullable ANode) */ -void parser_prod__AOrElseExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AAttrAssignExpr#replace_child for (self: AAttrAssignExpr, ANode, nullable ANode) */ +void parser_prod__AAttrAssignExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : AExpr */; @@ -8695,7 +7866,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : AExpr */; +val* var8 /* : TAttrid */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -8704,12 +7875,30 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; +val* var19 /* : TAssign */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : AExpr */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +const char* var_class_name40; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val; /* _n_expr on */ +var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3950); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4076); show_backtrace(1); } { @@ -8734,86 +7923,182 @@ if (var1){ cltype = type_parser_nodes__AExpr.color; idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var7 = 0; +var7 = 0; +} else { +if(cltype >= var_new_child->type->table_size) { +var7 = 0; +} else { +var7 = var_new_child->type->type_table[cltype] == idtype; +} +} +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4077); +show_backtrace(1); +} +{ +parser_prod__AAttrAssignExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAttrAssignExpr#n_expr= on */ +} +goto RET_LABEL; +} else { +} +var8 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4080); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +} +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; +} +if (var9){ +/* isa TAttrid */ +cltype16 = type_parser_nodes__TAttrid.color; +idtype17 = type_parser_nodes__TAttrid.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAttrid", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4081); +show_backtrace(1); +} +{ +parser_prod__AAttrAssignExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAttrAssignExpr#n_id= on */ +} +goto RET_LABEL; +} else { +} +var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4084); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var19,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ +var25 = var19 == var_other; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +if (var20){ +/* isa TAssign */ +cltype27 = type_parser_nodes__TAssign.color; +idtype28 = type_parser_nodes__TAssign.id; +if(var_new_child == NULL) { +var26 = 0; } else { -if(cltype >= var_new_child->type->table_size) { -var7 = 0; +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -var7 = var_new_child->type->type_table[cltype] == idtype; +var26 = var_new_child->type->type_table[cltype27] == idtype28; } } -if (unlikely(!var7)) { -var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3951); +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAssign", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4085); show_backtrace(1); } { -parser_prod__AOrElseExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_expr= on */ +parser_prod__AAttrAssignExpr__n_assign_61d(self, var_new_child); /* Direct call parser_prod#AAttrAssignExpr#n_assign= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on */ -if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3954); +var30 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4088); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +{ /* Inline kernel#Object#== (var30,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ -var14 = var8 == var_other; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ +var36 = var30 == var_other; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -var9 = var10; +var31 = var32; } -if (var9){ +if (var31){ /* isa AExpr */ -cltype16 = type_parser_nodes__AExpr.color; -idtype17 = type_parser_nodes__AExpr.id; +cltype38 = type_parser_nodes__AExpr.color; +idtype39 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var15 = 0; +var37 = 0; } else { -if(cltype16 >= var_new_child->type->table_size) { -var15 = 0; +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -var15 = var_new_child->type->type_table[cltype16] == idtype17; +var37 = var_new_child->type->type_table[cltype38] == idtype39; } } -if (unlikely(!var15)) { -var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3955); +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4089); show_backtrace(1); } { -parser_prod__AOrElseExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AOrElseExpr#n_expr2= on */ +parser_prod__AAttrAssignExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#AAttrAssignExpr#n_value= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AOrElseExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AOrElseExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AOrElseExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AOrElseExpr#replace_child on */ +/* method parser_prod#AAttrAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AAttrAssignExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AAttrAssignExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAttrAssignExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AOrElseExpr#n_expr= for (self: AOrElseExpr, AExpr) */ -void parser_prod__AOrElseExpr__n_expr_61d(val* self, val* p0) { +/* method parser_prod#AAttrAssignExpr#n_expr= for (self: AAttrAssignExpr, AExpr) */ +void parser_prod__AAttrAssignExpr__n_expr_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_node; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on */ { { /* Inline parser_nodes#ANode#parent= (var_node,self) on */ var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -8822,16 +8107,52 @@ RET_LABEL1:(void)0; } RET_LABEL:; } -/* method parser_prod#AOrElseExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AOrElseExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AOrElseExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AOrElseExpr#n_expr= on */ +/* method parser_prod#AAttrAssignExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AAttrAssignExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AAttrAssignExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AAttrAssignExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AOrElseExpr#n_expr2= for (self: AOrElseExpr, AExpr) */ -void parser_prod__AOrElseExpr__n_expr2_61d(val* self, val* p0) { +/* method parser_prod#AAttrAssignExpr#n_id= for (self: AAttrAssignExpr, TAttrid) */ +void parser_prod__AAttrAssignExpr__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TAttrid */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AAttrAssignExpr#n_id= for (self: Object, TAttrid) */ +void VIRTUAL_parser_prod__AAttrAssignExpr__n_id_61d(val* self, val* p0) { +parser_prod__AAttrAssignExpr__n_id_61d(self, p0); /* Direct call parser_prod#AAttrAssignExpr#n_id= on */ +RET_LABEL:; +} +/* method parser_prod#AAttrAssignExpr#n_assign= for (self: AAttrAssignExpr, TAssign) */ +void parser_prod__AAttrAssignExpr__n_assign_61d(val* self, val* p0) { +val* var_node /* var node: TAssign */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AAttrAssignExpr#n_assign= for (self: Object, TAssign) */ +void VIRTUAL_parser_prod__AAttrAssignExpr__n_assign_61d(val* self, val* p0) { +parser_prod__AAttrAssignExpr__n_assign_61d(self, p0); /* Direct call parser_prod#AAttrAssignExpr#n_assign= on */ +RET_LABEL:; +} +/* method parser_prod#AAttrAssignExpr#n_value= for (self: AAttrAssignExpr, AExpr) */ +void parser_prod__AAttrAssignExpr__n_value_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_node; /* _n_expr2 on */ +self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on */ { { /* Inline parser_nodes#ANode#parent= (var_node,self) on */ var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -8840,99 +8161,165 @@ RET_LABEL1:(void)0; } RET_LABEL:; } -/* method parser_prod#AOrElseExpr#n_expr2= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AOrElseExpr__n_expr2_61d(val* self, val* p0) { -parser_prod__AOrElseExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AOrElseExpr#n_expr2= on */ +/* method parser_prod#AAttrAssignExpr#n_value= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AAttrAssignExpr__n_value_61d(val* self, val* p0) { +parser_prod__AAttrAssignExpr__n_value_61d(self, p0); /* Direct call parser_prod#AAttrAssignExpr#n_value= on */ RET_LABEL:; } -/* method parser_prod#AOrElseExpr#visit_all for (self: AOrElseExpr, Visitor) */ -void parser_prod__AOrElseExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AAttrAssignExpr#visit_all for (self: AAttrAssignExpr, Visitor) */ +void parser_prod__AAttrAssignExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; val* var /* : AExpr */; -val* var1 /* : AExpr */; +val* var1 /* : TAttrid */; +val* var2 /* : TAssign */; +val* var3 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val; /* _n_expr on */ +var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3974); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4118); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on */ +var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on */ if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3975); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4119); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } +var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4120); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4121); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#AOrElseExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AOrElseExpr__visit_all(val* self, val* p0) { -parser_prod__AOrElseExpr__visit_all(self, p0); /* Direct call parser_prod#AOrElseExpr#visit_all on */ +/* method parser_prod#AAttrAssignExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AAttrAssignExpr__visit_all(val* self, val* p0) { +parser_prod__AAttrAssignExpr__visit_all(self, p0); /* Direct call parser_prod#AAttrAssignExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: AImpliesExpr, nullable AExpr, nullable AExpr) */ -void parser_prod__AImpliesExpr__init_aimpliesexpr(val* self, val* p0, val* p1) { +/* method parser_prod#AAttrReassignExpr#init_aattrreassignexpr for (self: AAttrReassignExpr, nullable AExpr, nullable TAttrid, nullable AAssignOp, nullable AExpr) */ +void parser_prod__AAttrReassignExpr__init_aattrreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) { val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_expr2 /* var n_expr2: nullable AExpr */; +val* var_n_id /* var n_id: nullable TAttrid */; +val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */; +val* var_n_value /* var n_value: nullable AExpr */; var_n_expr = p0; -var_n_expr2 = p1; +var_n_id = p1; +var_n_assign_op = p2; +var_n_value = p3; if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3984); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4132); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_n_expr; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on */ if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3985); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4133); show_backtrace(1); } else { { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -if (unlikely(var_n_expr2 == NULL)) { +if (unlikely(var_n_id == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3986); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4134); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ -if (var_n_expr2 == NULL) { +self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on */ +if (var_n_id == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3987); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4135); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ -if (unlikely(var_n_expr2 == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ +if (unlikely(var_n_id == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL2:(void)0; } } +if (unlikely(var_n_assign_op == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4136); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on */ +if (var_n_assign_op == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4137); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_assign_op,self) on */ +if (unlikely(var_n_assign_op == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_assign_op->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; +} +} +if (unlikely(var_n_value == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4138); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on */ +if (var_n_value == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4139); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_value,self) on */ +if (unlikely(var_n_value == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL4:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: Object, nullable AExpr, nullable AExpr) */ -void VIRTUAL_parser_prod__AImpliesExpr__init_aimpliesexpr(val* self, val* p0, val* p1) { -parser_prod__AImpliesExpr__init_aimpliesexpr(self, p0, p1); /* Direct call parser_prod#AImpliesExpr#init_aimpliesexpr on */ +/* method parser_prod#AAttrReassignExpr#init_aattrreassignexpr for (self: Object, nullable AExpr, nullable TAttrid, nullable AAssignOp, nullable AExpr) */ +void VIRTUAL_parser_prod__AAttrReassignExpr__init_aattrreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +parser_prod__AAttrReassignExpr__init_aattrreassignexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#AAttrReassignExpr#init_aattrreassignexpr on */ RET_LABEL:; } -/* method parser_prod#AImpliesExpr#replace_child for (self: AImpliesExpr, ANode, nullable ANode) */ -void parser_prod__AImpliesExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AAttrReassignExpr#replace_child for (self: AAttrReassignExpr, ANode, nullable ANode) */ +void parser_prod__AAttrReassignExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : AExpr */; @@ -8945,7 +8332,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : AExpr */; +val* var8 /* : TAttrid */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -8954,12 +8341,30 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; +val* var19 /* : AAssignOp */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : AExpr */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +const char* var_class_name40; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val; /* _n_expr on */ +var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3992); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4144); show_backtrace(1); } { @@ -8989,81 +8394,177 @@ var7 = 0; if(cltype >= var_new_child->type->table_size) { var7 = 0; } else { -var7 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; +} +} +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4145); +show_backtrace(1); +} +{ +parser_prod__AAttrReassignExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAttrReassignExpr#n_expr= on */ +} +goto RET_LABEL; +} else { +} +var8 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4148); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +} +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; +} +if (var9){ +/* isa TAttrid */ +cltype16 = type_parser_nodes__TAttrid.color; +idtype17 = type_parser_nodes__TAttrid.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAttrid", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4149); +show_backtrace(1); +} +{ +parser_prod__AAttrReassignExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAttrReassignExpr#n_id= on */ +} +goto RET_LABEL; +} else { +} +var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4152); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var19,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ +var25 = var19 == var_other; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +if (var20){ +/* isa AAssignOp */ +cltype27 = type_parser_nodes__AAssignOp.color; +idtype28 = type_parser_nodes__AAssignOp.id; +if(var_new_child == NULL) { +var26 = 0; +} else { +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; +} else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; } } -if (unlikely(!var7)) { -var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3993); +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AAssignOp", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4153); show_backtrace(1); } { -parser_prod__AImpliesExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr= on */ +parser_prod__AAttrReassignExpr__n_assign_op_61d(self, var_new_child); /* Direct call parser_prod#AAttrReassignExpr#n_assign_op= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on */ -if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3996); +var30 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4156); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +{ /* Inline kernel#Object#== (var30,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ -var14 = var8 == var_other; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ +var36 = var30 == var_other; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -var9 = var10; +var31 = var32; } -if (var9){ +if (var31){ /* isa AExpr */ -cltype16 = type_parser_nodes__AExpr.color; -idtype17 = type_parser_nodes__AExpr.id; +cltype38 = type_parser_nodes__AExpr.color; +idtype39 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var15 = 0; +var37 = 0; } else { -if(cltype16 >= var_new_child->type->table_size) { -var15 = 0; +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -var15 = var_new_child->type->type_table[cltype16] == idtype17; +var37 = var_new_child->type->type_table[cltype38] == idtype39; } } -if (unlikely(!var15)) { -var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 3997); +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4157); show_backtrace(1); } { -parser_prod__AImpliesExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AImpliesExpr#n_expr2= on */ +parser_prod__AAttrReassignExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#AAttrReassignExpr#n_value= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AImpliesExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AImpliesExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AImpliesExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AImpliesExpr#replace_child on */ +/* method parser_prod#AAttrReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AAttrReassignExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AAttrReassignExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAttrReassignExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AImpliesExpr#n_expr= for (self: AImpliesExpr, AExpr) */ -void parser_prod__AImpliesExpr__n_expr_61d(val* self, val* p0) { +/* method parser_prod#AAttrReassignExpr#n_expr= for (self: AAttrReassignExpr, AExpr) */ +void parser_prod__AAttrReassignExpr__n_expr_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_node; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on */ { { /* Inline parser_nodes#ANode#parent= (var_node,self) on */ var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -9072,16 +8573,52 @@ RET_LABEL1:(void)0; } RET_LABEL:; } -/* method parser_prod#AImpliesExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AImpliesExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AImpliesExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AImpliesExpr#n_expr= on */ +/* method parser_prod#AAttrReassignExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AAttrReassignExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AAttrReassignExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AAttrReassignExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AImpliesExpr#n_expr2= for (self: AImpliesExpr, AExpr) */ -void parser_prod__AImpliesExpr__n_expr2_61d(val* self, val* p0) { +/* method parser_prod#AAttrReassignExpr#n_id= for (self: AAttrReassignExpr, TAttrid) */ +void parser_prod__AAttrReassignExpr__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TAttrid */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AAttrReassignExpr#n_id= for (self: Object, TAttrid) */ +void VIRTUAL_parser_prod__AAttrReassignExpr__n_id_61d(val* self, val* p0) { +parser_prod__AAttrReassignExpr__n_id_61d(self, p0); /* Direct call parser_prod#AAttrReassignExpr#n_id= on */ +RET_LABEL:; +} +/* method parser_prod#AAttrReassignExpr#n_assign_op= for (self: AAttrReassignExpr, AAssignOp) */ +void parser_prod__AAttrReassignExpr__n_assign_op_61d(val* self, val* p0) { +val* var_node /* var node: AAssignOp */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AAttrReassignExpr#n_assign_op= for (self: Object, AAssignOp) */ +void VIRTUAL_parser_prod__AAttrReassignExpr__n_assign_op_61d(val* self, val* p0) { +parser_prod__AAttrReassignExpr__n_assign_op_61d(self, p0); /* Direct call parser_prod#AAttrReassignExpr#n_assign_op= on */ +RET_LABEL:; +} +/* method parser_prod#AAttrReassignExpr#n_value= for (self: AAttrReassignExpr, AExpr) */ +void parser_prod__AAttrReassignExpr__n_value_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_node; /* _n_expr2 on */ +self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on */ { { /* Inline parser_nodes#ANode#parent= (var_node,self) on */ var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -9090,102 +8627,145 @@ RET_LABEL1:(void)0; } RET_LABEL:; } -/* method parser_prod#AImpliesExpr#n_expr2= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AImpliesExpr__n_expr2_61d(val* self, val* p0) { -parser_prod__AImpliesExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AImpliesExpr#n_expr2= on */ +/* method parser_prod#AAttrReassignExpr#n_value= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AAttrReassignExpr__n_value_61d(val* self, val* p0) { +parser_prod__AAttrReassignExpr__n_value_61d(self, p0); /* Direct call parser_prod#AAttrReassignExpr#n_value= on */ RET_LABEL:; } -/* method parser_prod#AImpliesExpr#visit_all for (self: AImpliesExpr, Visitor) */ -void parser_prod__AImpliesExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AAttrReassignExpr#visit_all for (self: AAttrReassignExpr, Visitor) */ +void parser_prod__AAttrReassignExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; val* var /* : AExpr */; -val* var1 /* : AExpr */; +val* var1 /* : TAttrid */; +val* var2 /* : AAssignOp */; +val* var3 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val; /* _n_expr on */ +var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4016); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4186); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on */ +var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on */ if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4017); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4187); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } +var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4188); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4189); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#AImpliesExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AImpliesExpr__visit_all(val* self, val* p0) { -parser_prod__AImpliesExpr__visit_all(self, p0); /* Direct call parser_prod#AImpliesExpr#visit_all on */ +/* method parser_prod#AAttrReassignExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AAttrReassignExpr__visit_all(val* self, val* p0) { +parser_prod__AAttrReassignExpr__visit_all(self, p0); /* Direct call parser_prod#AAttrReassignExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ANotExpr#init_anotexpr for (self: ANotExpr, nullable TKwnot, nullable AExpr) */ -void parser_prod__ANotExpr__init_anotexpr(val* self, val* p0, val* p1) { -val* var_n_kwnot /* var n_kwnot: nullable TKwnot */; +/* method parser_prod#ACallExpr#init_acallexpr for (self: ACallExpr, nullable AExpr, nullable TId, nullable AExprs) */ +void parser_prod__ACallExpr__init_acallexpr(val* self, val* p0, val* p1, val* p2) { val* var_n_expr /* var n_expr: nullable AExpr */; -var_n_kwnot = p0; -var_n_expr = p1; -if (unlikely(var_n_kwnot == NULL)) { +val* var_n_id /* var n_id: nullable TId */; +val* var_n_args /* var n_args: nullable AExprs */; +var_n_expr = p0; +var_n_id = p1; +var_n_args = p2; +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4026); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4199); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on */ -if (var_n_kwnot == NULL) { +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4027); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4200); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_kwnot,self) on */ -if (unlikely(var_n_kwnot == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_kwnot->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -if (unlikely(var_n_expr == NULL)) { +if (unlikely(var_n_id == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4028); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4201); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { +self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on */ +if (var_n_id == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4029); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4202); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ -if (unlikely(var_n_expr == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ +if (unlikely(var_n_id == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL2:(void)0; } } +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4203); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on */ +if (var_n_args == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4204); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_args,self) on */ +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_args->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#ANotExpr#init_anotexpr for (self: Object, nullable TKwnot, nullable AExpr) */ -void VIRTUAL_parser_prod__ANotExpr__init_anotexpr(val* self, val* p0, val* p1) { -parser_prod__ANotExpr__init_anotexpr(self, p0, p1); /* Direct call parser_prod#ANotExpr#init_anotexpr on */ +/* method parser_prod#ACallExpr#init_acallexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs) */ +void VIRTUAL_parser_prod__ACallExpr__init_acallexpr(val* self, val* p0, val* p1, val* p2) { +parser_prod__ACallExpr__init_acallexpr(self, p0, p1, p2); /* Direct call parser_prod#ACallExpr#init_acallexpr on */ RET_LABEL:; } -/* method parser_prod#ANotExpr#replace_child for (self: ANotExpr, ANode, nullable ANode) */ -void parser_prod__ANotExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ACallExpr#replace_child for (self: ACallExpr, ANode, nullable ANode) */ +void parser_prod__ACallExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwnot */; +val* var /* : AExpr */; short int var1 /* : Bool */; short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; @@ -9195,7 +8775,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : AExpr */; +val* var8 /* : TId */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -9204,19 +8784,28 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; +val* var19 /* : AExprs */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4034); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4209); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ var6 = var == var_other; var4 = var6; goto RET_LABEL5; @@ -9230,9 +8819,9 @@ RET_LABEL3:(void)0; var1 = var2; } if (var1){ -/* isa TKwnot */ -cltype = type_parser_nodes__TKwnot.color; -idtype = type_parser_nodes__TKwnot.id; +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { var7 = 0; } else { @@ -9244,27 +8833,27 @@ var7 = var_new_child->type->type_table[cltype] == idtype; } if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwnot", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4035); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4210); show_backtrace(1); } { -parser_prod__ANotExpr__n_kwnot_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_kwnot= on */ +parser_prod__ACallExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ACallExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on */ +var8 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on */ if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4038); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4213); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -9278,9 +8867,9 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa AExpr */ -cltype16 = type_parser_nodes__AExpr.color; -idtype17 = type_parser_nodes__AExpr.id; +/* isa TId */ +cltype16 = type_parser_nodes__TId.color; +idtype17 = type_parser_nodes__TId.id; if(var_new_child == NULL) { var15 = 0; } else { @@ -9292,147 +8881,292 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4039); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4214); show_backtrace(1); } { -parser_prod__ANotExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANotExpr#n_expr= on */ +parser_prod__ACallExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#ACallExpr#n_id= on */ +} +goto RET_LABEL; +} else { +} +var19 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4217); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var19,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ +var25 = var19 == var_other; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +if (var20){ +/* isa AExprs */ +cltype27 = type_parser_nodes__AExprs.color; +idtype28 = type_parser_nodes__AExprs.id; +if(var_new_child == NULL) { +var26 = 0; +} else { +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; +} else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; +} +} +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4218); +show_backtrace(1); +} +{ +parser_prod__ACallExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ACallExpr#n_args= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ANotExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ANotExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ANotExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ANotExpr#replace_child on */ +/* method parser_prod#ACallExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ACallExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ACallExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ACallExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ANotExpr#n_kwnot= for (self: ANotExpr, TKwnot) */ -void parser_prod__ANotExpr__n_kwnot_61d(val* self, val* p0) { -val* var_node /* var node: TKwnot */; +/* method parser_prod#ACallExpr#n_expr= for (self: ACallExpr, AExpr) */ +void parser_prod__ACallExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#ACallExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ACallExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ACallExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ACallExpr#n_expr= on */ +RET_LABEL:; +} +/* method parser_prod#ACallExpr#n_id= for (self: ACallExpr, TId) */ +void parser_prod__ACallExpr__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TId */; var_node = p0; -self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_node; /* _n_kwnot on */ +self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#ANotExpr#n_kwnot= for (self: Object, TKwnot) */ -void VIRTUAL_parser_prod__ANotExpr__n_kwnot_61d(val* self, val* p0) { -parser_prod__ANotExpr__n_kwnot_61d(self, p0); /* Direct call parser_prod#ANotExpr#n_kwnot= on */ +/* method parser_prod#ACallExpr#n_id= for (self: Object, TId) */ +void VIRTUAL_parser_prod__ACallExpr__n_id_61d(val* self, val* p0) { +parser_prod__ACallExpr__n_id_61d(self, p0); /* Direct call parser_prod#ACallExpr#n_id= on */ RET_LABEL:; } -/* method parser_prod#ANotExpr#n_expr= for (self: ANotExpr, AExpr) */ -void parser_prod__ANotExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; +/* method parser_prod#ACallExpr#n_args= for (self: ACallExpr, AExprs) */ +void parser_prod__ACallExpr__n_args_61d(val* self, val* p0) { +val* var_node /* var node: AExprs */; var_node = p0; -self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_node; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on */ { -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method parser_prod#ANotExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ANotExpr__n_expr_61d(val* self, val* p0) { -parser_prod__ANotExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ANotExpr#n_expr= on */ +/* method parser_prod#ACallExpr#n_args= for (self: Object, AExprs) */ +void VIRTUAL_parser_prod__ACallExpr__n_args_61d(val* self, val* p0) { +parser_prod__ACallExpr__n_args_61d(self, p0); /* Direct call parser_prod#ACallExpr#n_args= on */ RET_LABEL:; } -/* method parser_prod#ANotExpr#visit_all for (self: ANotExpr, Visitor) */ -void parser_prod__ANotExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ACallExpr#visit_all for (self: ACallExpr, Visitor) */ +void parser_prod__ACallExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwnot */; -val* var1 /* : AExpr */; +val* var /* : AExpr */; +val* var1 /* : TId */; +val* var2 /* : AExprs */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnot"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4058); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4242); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on */ +var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on */ if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4059); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4243); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } +var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4244); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#ANotExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ANotExpr__visit_all(val* self, val* p0) { -parser_prod__ANotExpr__visit_all(self, p0); /* Direct call parser_prod#ANotExpr#visit_all on */ +/* method parser_prod#ACallExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ACallExpr__visit_all(val* self, val* p0) { +parser_prod__ACallExpr__visit_all(self, p0); /* Direct call parser_prod#ACallExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AEqExpr#init_aeqexpr for (self: AEqExpr, nullable AExpr, nullable AExpr) */ -void parser_prod__AEqExpr__init_aeqexpr(val* self, val* p0, val* p1) { +/* method parser_prod#ACallAssignExpr#init_acallassignexpr for (self: ACallAssignExpr, nullable AExpr, nullable TId, nullable AExprs, nullable TAssign, nullable AExpr) */ +void parser_prod__ACallAssignExpr__init_acallassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_expr2 /* var n_expr2: nullable AExpr */; +val* var_n_id /* var n_id: nullable TId */; +val* var_n_args /* var n_args: nullable AExprs */; +val* var_n_assign /* var n_assign: nullable TAssign */; +val* var_n_value /* var n_value: nullable AExpr */; var_n_expr = p0; -var_n_expr2 = p1; +var_n_id = p1; +var_n_args = p2; +var_n_assign = p3; +var_n_value = p4; if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4068); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4256); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4069); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4257); show_backtrace(1); } else { { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -if (unlikely(var_n_expr2 == NULL)) { +if (unlikely(var_n_id == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4070); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4258); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ -if (var_n_expr2 == NULL) { +self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on */ +if (var_n_id == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4071); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4259); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ -if (unlikely(var_n_expr2 == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ +if (unlikely(var_n_id == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL2:(void)0; } } +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4260); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on */ +if (var_n_args == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4261); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_args,self) on */ +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_args->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; +} +} +if (unlikely(var_n_assign == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4262); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on */ +if (var_n_assign == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4263); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_assign,self) on */ +if (unlikely(var_n_assign == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_assign->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL4:(void)0; +} +} +if (unlikely(var_n_value == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4264); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on */ +if (var_n_value == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4265); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_value,self) on */ +if (unlikely(var_n_value == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL5:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#AEqExpr#init_aeqexpr for (self: Object, nullable AExpr, nullable AExpr) */ -void VIRTUAL_parser_prod__AEqExpr__init_aeqexpr(val* self, val* p0, val* p1) { -parser_prod__AEqExpr__init_aeqexpr(self, p0, p1); /* Direct call parser_prod#AEqExpr#init_aeqexpr on */ +/* method parser_prod#ACallAssignExpr#init_acallassignexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs, nullable TAssign, nullable AExpr) */ +void VIRTUAL_parser_prod__ACallAssignExpr__init_acallassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +parser_prod__ACallAssignExpr__init_acallassignexpr(self, p0, p1, p2, p3, p4); /* Direct call parser_prod#ACallAssignExpr#init_acallassignexpr on */ RET_LABEL:; } -/* method parser_prod#AEqExpr#replace_child for (self: AEqExpr, ANode, nullable ANode) */ -void parser_prod__AEqExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ACallAssignExpr#replace_child for (self: ACallAssignExpr, ANode, nullable ANode) */ +void parser_prod__ACallAssignExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : AExpr */; @@ -9445,7 +9179,7 @@ short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -val* var8 /* : AExpr */; +val* var8 /* : TId */; short int var9 /* : Bool */; short int var10 /* : Bool */; short int var12 /* : Bool */; @@ -9454,12 +9188,39 @@ short int var15 /* : Bool */; int cltype16; int idtype17; const char* var_class_name18; +val* var19 /* : AExprs */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : TAssign */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +const char* var_class_name40; +val* var41 /* : AExpr */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; +short int var47 /* : Bool */; +short int var48 /* : Bool */; +int cltype49; +int idtype50; +const char* var_class_name51; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4076); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4270); show_backtrace(1); } { @@ -9495,26 +9256,26 @@ var7 = var_new_child->type->type_table[cltype] == idtype; if (unlikely(!var7)) { var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4077); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4271); show_backtrace(1); } { -parser_prod__AEqExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr= on */ +parser_prod__ACallAssignExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_expr= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +var8 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on */ if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4080); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4274); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +{ /* Inline kernel#Object#== (var8,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ var14 = var8 == var_other; var12 = var14; goto RET_LABEL13; @@ -9528,9 +9289,9 @@ RET_LABEL11:(void)0; var9 = var10; } if (var9){ -/* isa AExpr */ -cltype16 = type_parser_nodes__AExpr.color; -idtype17 = type_parser_nodes__AExpr.id; +/* isa TId */ +cltype16 = type_parser_nodes__TId.color; +idtype17 = type_parser_nodes__TId.id; if(var_new_child == NULL) { var15 = 0; } else { @@ -9542,278 +9303,172 @@ var15 = var_new_child->type->type_table[cltype16] == idtype17; } if (unlikely(!var15)) { var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4081); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4275); show_backtrace(1); } { -parser_prod__AEqExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AEqExpr#n_expr2= on */ +parser_prod__ACallAssignExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_id= on */ } goto RET_LABEL; } else { } -RET_LABEL:; -} -/* method parser_prod#AEqExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AEqExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AEqExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AEqExpr#replace_child on */ -RET_LABEL:; -} -/* method parser_prod#AEqExpr#n_expr= for (self: AEqExpr, AExpr) */ -void parser_prod__AEqExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; -} -} -RET_LABEL:; -} -/* method parser_prod#AEqExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AEqExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AEqExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AEqExpr#n_expr= on */ -RET_LABEL:; -} -/* method parser_prod#AEqExpr#n_expr2= for (self: AEqExpr, AExpr) */ -void parser_prod__AEqExpr__n_expr2_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ -{ -{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ -var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; -} -} -RET_LABEL:; -} -/* method parser_prod#AEqExpr#n_expr2= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AEqExpr__n_expr2_61d(val* self, val* p0) { -parser_prod__AEqExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AEqExpr#n_expr2= on */ -RET_LABEL:; -} -/* method parser_prod#AEqExpr#visit_all for (self: AEqExpr, Visitor) */ -void parser_prod__AEqExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : AExpr */; -val* var1 /* : AExpr */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4100); +var19 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4278); show_backtrace(1); } { -parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ -} -var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ -if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4101); -show_backtrace(1); -} +{ /* Inline kernel#Object#== (var19,var_old_child) on */ +var_other = var_old_child; { -parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ +var25 = var19 == var_other; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; } -RET_LABEL:; } -/* method parser_prod#AEqExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AEqExpr__visit_all(val* self, val* p0) { -parser_prod__AEqExpr__visit_all(self, p0); /* Direct call parser_prod#AEqExpr#visit_all on */ -RET_LABEL:; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -/* method parser_prod#ANeExpr#init_aneexpr for (self: ANeExpr, nullable AExpr, nullable AExpr) */ -void parser_prod__ANeExpr__init_aneexpr(val* self, val* p0, val* p1) { -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_expr2 /* var n_expr2: nullable AExpr */; -var_n_expr = p0; -var_n_expr2 = p1; -if (unlikely(var_n_expr == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4110); -show_backtrace(1); +var20 = var21; } -self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4111); -show_backtrace(1); +if (var20){ +/* isa AExprs */ +cltype27 = type_parser_nodes__AExprs.color; +idtype28 = type_parser_nodes__AExprs.id; +if(var_new_child == NULL) { +var26 = 0; } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ -if (unlikely(var_n_expr == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); -show_backtrace(1); -} -var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL1:(void)0; -} -} -if (unlikely(var_n_expr2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4112); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ -if (var_n_expr2 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4113); -show_backtrace(1); +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ -if (unlikely(var_n_expr2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); -show_backtrace(1); +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL2:(void)0; } +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExprs", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4279); +show_backtrace(1); } -RET_LABEL:; +{ +parser_prod__ACallAssignExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_args= on */ } -/* method parser_prod#ANeExpr#init_aneexpr for (self: Object, nullable AExpr, nullable AExpr) */ -void VIRTUAL_parser_prod__ANeExpr__init_aneexpr(val* self, val* p0, val* p1) { -parser_prod__ANeExpr__init_aneexpr(self, p0, p1); /* Direct call parser_prod#ANeExpr#init_aneexpr on */ -RET_LABEL:; +goto RET_LABEL; +} else { } -/* method parser_prod#ANeExpr#replace_child for (self: ANeExpr, ANode, nullable ANode) */ -void parser_prod__ANeExpr__replace_child(val* self, val* p0, val* p1) { -val* var_old_child /* var old_child: ANode */; -val* var_new_child /* var new_child: nullable ANode */; -val* var /* : AExpr */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; -short int var6 /* : Bool */; -short int var7 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -val* var8 /* : AExpr */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -short int var12 /* : Bool */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -const char* var_class_name18; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4118); +var30 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4282); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var,var_old_child) on */ +{ /* Inline kernel#Object#== (var30,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ -var6 = var == var_other; -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; +{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ +var36 = var30 == var_other; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } -var2 = var4; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -var1 = var2; +var31 = var32; } -if (var1){ -/* isa AExpr */ -cltype = type_parser_nodes__AExpr.color; -idtype = type_parser_nodes__AExpr.id; +if (var31){ +/* isa TAssign */ +cltype38 = type_parser_nodes__TAssign.color; +idtype39 = type_parser_nodes__TAssign.id; if(var_new_child == NULL) { -var7 = 0; +var37 = 0; } else { -if(cltype >= var_new_child->type->table_size) { -var7 = 0; +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -var7 = var_new_child->type->type_table[cltype] == idtype; +var37 = var_new_child->type->type_table[cltype38] == idtype39; } } -if (unlikely(!var7)) { -var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4119); +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAssign", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4283); show_backtrace(1); } { -parser_prod__ANeExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr= on */ +parser_prod__ACallAssignExpr__n_assign_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_assign= on */ } goto RET_LABEL; } else { } -var8 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ -if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4122); +var41 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var41 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4286); show_backtrace(1); } { -{ /* Inline kernel#Object#== (var8,var_old_child) on */ +{ /* Inline kernel#Object#== (var41,var_old_child) on */ var_other = var_old_child; { -{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ -var14 = var8 == var_other; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +{ /* Inline kernel#Object#is_same_instance (var41,var_other) on */ +var47 = var41 == var_other; +var45 = var47; +goto RET_LABEL46; +RET_LABEL46:(void)0; } } -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; } -var9 = var10; +var42 = var43; } -if (var9){ +if (var42){ /* isa AExpr */ -cltype16 = type_parser_nodes__AExpr.color; -idtype17 = type_parser_nodes__AExpr.id; +cltype49 = type_parser_nodes__AExpr.color; +idtype50 = type_parser_nodes__AExpr.id; if(var_new_child == NULL) { -var15 = 0; +var48 = 0; } else { -if(cltype16 >= var_new_child->type->table_size) { -var15 = 0; +if(cltype49 >= var_new_child->type->table_size) { +var48 = 0; } else { -var15 = var_new_child->type->type_table[cltype16] == idtype17; +var48 = var_new_child->type->type_table[cltype49] == idtype50; } } -if (unlikely(!var15)) { -var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4123); +if (unlikely(!var48)) { +var_class_name51 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4287); show_backtrace(1); } { -parser_prod__ANeExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ANeExpr#n_expr2= on */ +parser_prod__ACallAssignExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#ACallAssignExpr#n_value= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ANeExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ANeExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ANeExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ANeExpr#replace_child on */ +/* method parser_prod#ACallAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ACallAssignExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ACallAssignExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ACallAssignExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ANeExpr#n_expr= for (self: ANeExpr, AExpr) */ -void parser_prod__ANeExpr__n_expr_61d(val* self, val* p0) { +/* method parser_prod#ACallAssignExpr#n_expr= for (self: ACallAssignExpr, AExpr) */ +void parser_prod__ACallAssignExpr__n_expr_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on */ { { /* Inline parser_nodes#ANode#parent= (var_node,self) on */ var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -9822,16 +9477,70 @@ RET_LABEL1:(void)0; } RET_LABEL:; } -/* method parser_prod#ANeExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ANeExpr__n_expr_61d(val* self, val* p0) { -parser_prod__ANeExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ANeExpr#n_expr= on */ +/* method parser_prod#ACallAssignExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ACallAssignExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ACallAssignExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ACallAssignExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#ANeExpr#n_expr2= for (self: ANeExpr, AExpr) */ -void parser_prod__ANeExpr__n_expr2_61d(val* self, val* p0) { +/* method parser_prod#ACallAssignExpr#n_id= for (self: ACallAssignExpr, TId) */ +void parser_prod__ACallAssignExpr__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TId */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#ACallAssignExpr#n_id= for (self: Object, TId) */ +void VIRTUAL_parser_prod__ACallAssignExpr__n_id_61d(val* self, val* p0) { +parser_prod__ACallAssignExpr__n_id_61d(self, p0); /* Direct call parser_prod#ACallAssignExpr#n_id= on */ +RET_LABEL:; +} +/* method parser_prod#ACallAssignExpr#n_args= for (self: ACallAssignExpr, AExprs) */ +void parser_prod__ACallAssignExpr__n_args_61d(val* self, val* p0) { +val* var_node /* var node: AExprs */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#ACallAssignExpr#n_args= for (self: Object, AExprs) */ +void VIRTUAL_parser_prod__ACallAssignExpr__n_args_61d(val* self, val* p0) { +parser_prod__ACallAssignExpr__n_args_61d(self, p0); /* Direct call parser_prod#ACallAssignExpr#n_args= on */ +RET_LABEL:; +} +/* method parser_prod#ACallAssignExpr#n_assign= for (self: ACallAssignExpr, TAssign) */ +void parser_prod__ACallAssignExpr__n_assign_61d(val* self, val* p0) { +val* var_node /* var node: TAssign */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#ACallAssignExpr#n_assign= for (self: Object, TAssign) */ +void VIRTUAL_parser_prod__ACallAssignExpr__n_assign_61d(val* self, val* p0) { +parser_prod__ACallAssignExpr__n_assign_61d(self, p0); /* Direct call parser_prod#ACallAssignExpr#n_assign= on */ +RET_LABEL:; +} +/* method parser_prod#ACallAssignExpr#n_value= for (self: ACallAssignExpr, AExpr) */ +void parser_prod__ACallAssignExpr__n_value_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on */ +self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on */ { { /* Inline parser_nodes#ANode#parent= (var_node,self) on */ var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ @@ -9840,94 +9549,193 @@ RET_LABEL1:(void)0; } RET_LABEL:; } -/* method parser_prod#ANeExpr#n_expr2= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ANeExpr__n_expr2_61d(val* self, val* p0) { -parser_prod__ANeExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#ANeExpr#n_expr2= on */ +/* method parser_prod#ACallAssignExpr#n_value= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ACallAssignExpr__n_value_61d(val* self, val* p0) { +parser_prod__ACallAssignExpr__n_value_61d(self, p0); /* Direct call parser_prod#ACallAssignExpr#n_value= on */ RET_LABEL:; } -/* method parser_prod#ANeExpr#visit_all for (self: ANeExpr, Visitor) */ -void parser_prod__ANeExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ACallAssignExpr#visit_all for (self: ACallAssignExpr, Visitor) */ +void parser_prod__ACallAssignExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; val* var /* : AExpr */; -val* var1 /* : AExpr */; +val* var1 /* : TId */; +val* var2 /* : AExprs */; +val* var3 /* : TAssign */; +val* var4 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4142); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4321); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ +var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on */ if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4143); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4322); show_backtrace(1); } { parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } +var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4323); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4324); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var4 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4325); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#ANeExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ANeExpr__visit_all(val* self, val* p0) { -parser_prod__ANeExpr__visit_all(self, p0); /* Direct call parser_prod#ANeExpr#visit_all on */ +/* method parser_prod#ACallAssignExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ACallAssignExpr__visit_all(val* self, val* p0) { +parser_prod__ACallAssignExpr__visit_all(self, p0); /* Direct call parser_prod#ACallAssignExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ALtExpr#init_altexpr for (self: ALtExpr, nullable AExpr, nullable AExpr) */ -void parser_prod__ALtExpr__init_altexpr(val* self, val* p0, val* p1) { +/* method parser_prod#ACallReassignExpr#init_acallreassignexpr for (self: ACallReassignExpr, nullable AExpr, nullable TId, nullable AExprs, nullable AAssignOp, nullable AExpr) */ +void parser_prod__ACallReassignExpr__init_acallreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_expr2 /* var n_expr2: nullable AExpr */; +val* var_n_id /* var n_id: nullable TId */; +val* var_n_args /* var n_args: nullable AExprs */; +val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */; +val* var_n_value /* var n_value: nullable AExpr */; var_n_expr = p0; -var_n_expr2 = p1; +var_n_id = p1; +var_n_args = p2; +var_n_assign_op = p3; +var_n_value = p4; if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4152); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4337); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ if (var_n_expr == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4153); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4338); show_backtrace(1); } else { { /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ if (unlikely(var_n_expr == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL1:(void)0; } } -if (unlikely(var_n_expr2 == NULL)) { +if (unlikely(var_n_id == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4154); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4339); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ -if (var_n_expr2 == NULL) { +self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on */ +if (var_n_id == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_prod.nit", 4155); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4340); show_backtrace(1); } else { -{ /* Inline parser_nodes#ANode#parent= (var_n_expr2,self) on */ -if (unlikely(var_n_expr2 == NULL)) { +{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ +if (unlikely(var_n_id == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ RET_LABEL2:(void)0; } } +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4341); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on */ +if (var_n_args == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4342); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_args,self) on */ +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_args->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; +} +} +if (unlikely(var_n_assign_op == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4343); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on */ +if (var_n_assign_op == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4344); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_assign_op,self) on */ +if (unlikely(var_n_assign_op == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_assign_op->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL4:(void)0; +} +} +if (unlikely(var_n_value == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4345); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on */ +if (var_n_value == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4346); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_value,self) on */ +if (unlikely(var_n_value == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL5:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#ALtExpr#init_altexpr for (self: Object, nullable AExpr, nullable AExpr) */ -void VIRTUAL_parser_prod__ALtExpr__init_altexpr(val* self, val* p0, val* p1) { -parser_prod__ALtExpr__init_altexpr(self, p0, p1); /* Direct call parser_prod#ALtExpr#init_altexpr on */ +/* method parser_prod#ACallReassignExpr#init_acallreassignexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs, nullable AAssignOp, nullable AExpr) */ +void VIRTUAL_parser_prod__ACallReassignExpr__init_acallreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +parser_prod__ACallReassignExpr__init_acallreassignexpr(self, p0, p1, p2, p3, p4); /* Direct call parser_prod#ACallReassignExpr#init_acallreassignexpr on */ RET_LABEL:; }