X-Git-Url: http://nitlanguage.org diff --git a/c_src/parser_prod.sep.4.c b/c_src/parser_prod.sep.4.c index 012ddca..8cf050b 100644 --- a/c_src/parser_prod.sep.4.c +++ b/c_src/parser_prod.sep.4.c @@ -1,9888 +1,9751 @@ #include "parser_prod.sep.0.h" -/* method parser_prod#AInitExpr#visit_all for (self: AInitExpr, Visitor) */ -void parser_prod__AInitExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : AExpr */; -val* var1 /* : TKwinit */; -val* var2 /* : AExprs */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8075); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val; /* _n_kwinit on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwinit", "src/parser/parser_prod.nit", 8076); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val; /* _n_args on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8077); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -RET_LABEL:; -} -/* method parser_prod#AInitExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AInitExpr__visit_all(val* self, val* p0) { -parser_prod__AInitExpr__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#ABraExpr#empty_init for (self: ABraExpr) */ -void parser_prod__ABraExpr__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#ABraExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ABraExpr__empty_init(val* self) { -parser_prod__ABraExpr__empty_init(self); -RET_LABEL:; -} -/* method parser_prod#ABraExpr#init_abraexpr for (self: ABraExpr, nullable AExpr, nullable AExprs, Collection[Object]) */ -void parser_prod__ABraExpr__init_abraexpr(val* self, val* p0, val* p1, val* p2) { -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_args /* var n_args: nullable AExprs */; -val* var_n_closure_defs /* var n_closure_defs: Collection[Object] */; -val* var /* : Iterator[nullable Object] */; -short int var1 /* : Bool */; -val* var2 /* : nullable Object */; -val* var_n /* var n: Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var4 /* : ANodes[AClosureDef] */; -var_n_expr = p0; -var_n_args = p1; -var_n_closure_defs = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraExpr__empty_init]))(self) /* empty_init on */; -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8090); -exit(1); -} -self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8091); -exit(1); -} else { -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; -} -if (var_n_args == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8092); -exit(1); -} -self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on */ -if (var_n_args == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8093); -exit(1); -} else { -((void (*)(val*, val*))(var_n_args->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_args, self) /* parent= on */; -} -var = ((val* (*)(val*))(var_n_closure_defs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_closure_defs) /* iterator on */; -for(;;) { -var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on */; -if(!var1) break; -var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on */; -var_n = var2; -/* isa AClosureDef */ -cltype = type_parser_nodes__AClosureDef.color; -idtype = type_parser_nodes__AClosureDef.id; -if(cltype >= var_n->type->table_size) { -var3 = 0; -} else { -var3 = var_n->type->type_table[cltype] == idtype; -} -if (!var3) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8095); -exit(1); -} -var4 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8096); -exit(1); -} -((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on */; -((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on */; -} -BREAK_label: (void)0; -RET_LABEL:; -} -/* method parser_prod#ABraExpr#init_abraexpr for (self: Object, nullable AExpr, nullable AExprs, Collection[Object]) */ -void VIRTUAL_parser_prod__ABraExpr__init_abraexpr(val* self, val* p0, val* p1, val* p2) { -parser_prod__ABraExpr__init_abraexpr(self, p0, p1, p2); -RET_LABEL:; -} -/* method parser_prod#ABraExpr#replace_child for (self: ABraExpr, ANode, nullable ANode) */ -void parser_prod__ABraExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ACallReassignExpr#replace_child for (self: ACallReassignExpr, ANode, nullable ANode) */ +void parser_prod__ACallReassignExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : AExpr */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; +short int 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; -val* var5 /* : AExprs */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : TId */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : Range[Int] */; -long var13 /* : Int */; -val* var14 /* : ANodes[AClosureDef] */; -long var15 /* : Int */; -val* var16 /* : Discrete */; -val* var17 /* : Discrete */; -val* var18 /* : Iterator[nullable Object] */; -short int var19 /* : Bool */; -val* var20 /* : nullable Object */; -long var_i /* var i: Int */; -long var21 /* : Int */; -val* var22 /* : ANodes[AClosureDef] */; -val* var23 /* : nullable Object */; -short int var24 /* : Bool */; -val* var25 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : AExprs */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; short int var26 /* : Bool */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : ANodes[AClosureDef] */; -val* var31 /* : ANodes[AClosureDef] */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : AAssignOp */; +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 */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8103); -exit(1); +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", 4351); +show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ +} +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) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8106); -exit(1); } -self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8109); -exit(1); +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", 4352); +show_backtrace(1); +} +{ +parser_prod__ACallReassignExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ACallReassignExpr#n_expr= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8113); -exit(1); +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_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4355); +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; } -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ +if (var9){ +/* isa TId */ +cltype16 = type_parser_nodes__TId.color; +idtype17 = type_parser_nodes__TId.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var8 = 1; /* arg is null and recv is not */ +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExprs */ -cltype10 = type_parser_nodes__AExprs.color; -idtype11 = type_parser_nodes__AExprs.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4356); +show_backtrace(1); +} +{ +parser_prod__ACallReassignExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#ACallReassignExpr#n_id= on */ +} +goto RET_LABEL; } else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8116); -exit(1); +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", 4359); +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; } -self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_new_child; /* _n_args on */ +} +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 { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8119); -exit(1); +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", 4360); +show_backtrace(1); +} +{ +parser_prod__ACallReassignExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ACallReassignExpr#n_args= on */ } goto RET_LABEL; } else { } -var12 = NEW_range__Range(&type_range__Rangekernel__Int); -var13 = 0; -var14 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on */ -if (var14 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8123); -exit(1); -} -var15 = ((long (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__length]))(var14) /* length on */; -var16 = BOX_kernel__Int(var13); /* autobox from Int to Discrete */ -var17 = BOX_kernel__Int(var15); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var12->class->vft[COLOR_range__Range__without_last]))(var12, var16, var17) /* without_last on */; -CHECK_NEW_range__Range(var12); -var18 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Collection__iterator]))(var12) /* iterator on */; -for(;;) { -var19 = ((short int (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var18) /* is_ok on */; -if(!var19) break; -var20 = ((val* (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__item]))(var18) /* item on */; -var21 = ((struct instance_kernel__Int*)var20)->value; /* autounbox from nullable Object to Int */; -var_i = var21; -var22 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on */ -if (var22 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8124); -exit(1); -} -var23 = ((val* (*)(val*, long))(var22->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var22, var_i) /* [] on */; -var24 = ((short int (*)(val*, val*))(var23->class->vft[COLOR_kernel__Object___61d_61d]))(var23, var_old_child) /* == on */; -if (var24){ -var25 = NULL; -if (var_new_child == NULL) { -var26 = 0; /* is null */ -} else { -var26 = 1; /* arg is null and recv is not */ -} -if (var26){ -/* isa AClosureDef */ -cltype28 = type_parser_nodes__AClosureDef.color; -idtype29 = type_parser_nodes__AClosureDef.id; -if(cltype28 >= var_new_child->type->table_size) { -var27 = 0; -} else { -var27 = var_new_child->type->type_table[cltype28] == idtype29; -} -if (!var27) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8126); -exit(1); -} -var30 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on */ -if (var30 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8127); -exit(1); +var30 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4363); +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; } -((void (*)(val*, long, val*))(var30->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var30, var_i, var_new_child) /* []= on */; -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; +var31 = var32; +} +if (var31){ +/* isa AAssignOp */ +cltype38 = type_parser_nodes__AAssignOp.color; +idtype39 = type_parser_nodes__AAssignOp.id; +if(var_new_child == NULL) { +var37 = 0; +} else { +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -var31 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on */ -if (var31 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8130); -exit(1); +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`", "AAssignOp", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4364); +show_backtrace(1); } -((void (*)(val*, long))(var31->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var31, var_i) /* remove_at on */; +{ +parser_prod__ACallReassignExpr__n_assign_op_61d(self, var_new_child); /* Direct call parser_prod#ACallReassignExpr#n_assign_op= on */ } goto RET_LABEL; } else { } -CONTINUE_label: (void)0; -((void (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__next]))(var18) /* next on */; +var41 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___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", 4367); +show_backtrace(1); +} +{ +{ /* 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; +} +} +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; +} +var42 = var43; +} +if (var42){ +/* isa AExpr */ +cltype49 = type_parser_nodes__AExpr.color; +idtype50 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var48 = 0; +} else { +if(cltype49 >= var_new_child->type->table_size) { +var48 = 0; +} else { +var48 = var_new_child->type->type_table[cltype49] == idtype50; +} +} +if (unlikely(!var48)) { +var_class_name51 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4368); +show_backtrace(1); +} +{ +parser_prod__ACallReassignExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#ACallReassignExpr#n_value= on */ +} +goto RET_LABEL; +} else { } -BREAK_label: (void)0; RET_LABEL:; } -/* method parser_prod#ABraExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ABraExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ABraExpr__replace_child(self, p0, p1); +/* method parser_prod#ACallReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ACallReassignExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ACallReassignExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ACallReassignExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ABraExpr#n_expr= for (self: ABraExpr, AExpr) */ -void parser_prod__ABraExpr__n_expr_61d(val* self, val* p0) { +/* method parser_prod#ACallReassignExpr#n_expr= for (self: ACallReassignExpr, AExpr) */ +void parser_prod__ACallReassignExpr__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 */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= 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 */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#ABraExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ABraExpr__n_expr_61d(val* self, val* p0) { -parser_prod__ABraExpr__n_expr_61d(self, p0); +/* method parser_prod#ACallReassignExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ACallReassignExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ACallReassignExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ACallReassignExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#ABraExpr#n_args= for (self: ABraExpr, AExprs) */ -void parser_prod__ABraExpr__n_args_61d(val* self, val* p0) { -val* var_node /* var node: AExprs */; +/* method parser_prod#ACallReassignExpr#n_id= for (self: ACallReassignExpr, TId) */ +void parser_prod__ACallReassignExpr__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TId */; var_node = p0; -self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= 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 */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#ABraExpr#n_args= for (self: Object, AExprs) */ -void VIRTUAL_parser_prod__ABraExpr__n_args_61d(val* self, val* p0) { -parser_prod__ABraExpr__n_args_61d(self, p0); +/* method parser_prod#ACallReassignExpr#n_id= for (self: Object, TId) */ +void VIRTUAL_parser_prod__ACallReassignExpr__n_id_61d(val* self, val* p0) { +parser_prod__ACallReassignExpr__n_id_61d(self, p0); /* Direct call parser_prod#ACallReassignExpr#n_id= on */ RET_LABEL:; } -/* method parser_prod#ABraExpr#visit_all for (self: ABraExpr, Visitor) */ -void parser_prod__ABraExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : AExpr */; -val* var1 /* : AExprs */; -val* var2 /* : ANodes[AClosureDef] */; -val* var3 /* : Iterator[nullable Object] */; -short int var4 /* : Bool */; -val* var5 /* : nullable Object */; -val* var_n /* var n: AClosureDef */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8151); -exit(1); +/* method parser_prod#ACallReassignExpr#n_args= for (self: ACallReassignExpr, AExprs) */ +void parser_prod__ACallReassignExpr__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; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8152); -exit(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__ASendExpr___n_closure_defs].val; /* _n_closure_defs on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8153); -exit(1); +RET_LABEL:; +} +/* method parser_prod#ACallReassignExpr#n_args= for (self: Object, AExprs) */ +void VIRTUAL_parser_prod__ACallReassignExpr__n_args_61d(val* self, val* p0) { +parser_prod__ACallReassignExpr__n_args_61d(self, p0); /* Direct call parser_prod#ACallReassignExpr#n_args= on */ +RET_LABEL:; +} +/* method parser_prod#ACallReassignExpr#n_assign_op= for (self: ACallReassignExpr, AAssignOp) */ +void parser_prod__ACallReassignExpr__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; } -var3 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__iterator]))(var2) /* iterator on */; -for(;;) { -var4 = ((short int (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var3) /* is_ok on */; -if(!var4) break; -var5 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__item]))(var3) /* item on */; -var_n = var5; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__next]))(var3) /* next on */; } -BREAK_label: (void)0; RET_LABEL:; } -/* method parser_prod#ABraExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ABraExpr__visit_all(val* self, val* p0) { -parser_prod__ABraExpr__visit_all(self, p0); +/* method parser_prod#ACallReassignExpr#n_assign_op= for (self: Object, AAssignOp) */ +void VIRTUAL_parser_prod__ACallReassignExpr__n_assign_op_61d(val* self, val* p0) { +parser_prod__ACallReassignExpr__n_assign_op_61d(self, p0); /* Direct call parser_prod#ACallReassignExpr#n_assign_op= on */ RET_LABEL:; } -/* method parser_prod#ABraAssignExpr#empty_init for (self: ABraAssignExpr) */ -void parser_prod__ABraAssignExpr__empty_init(val* self) { +/* method parser_prod#ACallReassignExpr#n_value= for (self: ACallReassignExpr, AExpr) */ +void parser_prod__ACallReassignExpr__n_value_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on */ +{ +{ /* 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#ABraAssignExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ABraAssignExpr__empty_init(val* self) { -parser_prod__ABraAssignExpr__empty_init(self); +/* method parser_prod#ACallReassignExpr#n_value= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ACallReassignExpr__n_value_61d(val* self, val* p0) { +parser_prod__ACallReassignExpr__n_value_61d(self, p0); /* Direct call parser_prod#ACallReassignExpr#n_value= on */ RET_LABEL:; } -/* method parser_prod#ABraAssignExpr#init_abraassignexpr for (self: ABraAssignExpr, nullable AExpr, nullable AExprs, nullable TAssign, nullable AExpr) */ -void parser_prod__ABraAssignExpr__init_abraassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -val* var_n_expr /* var n_expr: nullable AExpr */; -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_args = p1; -var_n_assign = p2; -var_n_value = p3; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraAssignExpr__empty_init]))(self) /* empty_init on */; -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8169); -exit(1); +/* method parser_prod#ACallReassignExpr#visit_all for (self: ACallReassignExpr, Visitor) */ +void parser_prod__ACallReassignExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : TId */; +val* var2 /* : AExprs */; +val* var3 /* : AAssignOp */; +val* var4 /* : 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", 4402); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8170); -exit(1); -} else { -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var_n_args == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8171); -exit(1); +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_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4403); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on */ -if (var_n_args == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8172); -exit(1); -} else { -((void (*)(val*, val*))(var_n_args->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_args, self) /* parent= on */; +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var_n_assign == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8173); -exit(1); +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", 4404); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on */ -if (var_n_assign == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8174); -exit(1); -} else { -((void (*)(val*, val*))(var_n_assign->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_assign, self) /* parent= on */; +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var_n_value == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8175); -exit(1); +var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4405); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on */ -if (var_n_value == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8176); -exit(1); -} else { -((void (*)(val*, val*))(var_n_value->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_value, self) /* parent= on */; +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var4 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___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", 4406); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#ABraAssignExpr#init_abraassignexpr for (self: Object, nullable AExpr, nullable AExprs, nullable TAssign, nullable AExpr) */ -void VIRTUAL_parser_prod__ABraAssignExpr__init_abraassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__ABraAssignExpr__init_abraassignexpr(self, p0, p1, p2, p3); +/* method parser_prod#ACallReassignExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ACallReassignExpr__visit_all(val* self, val* p0) { +parser_prod__ACallReassignExpr__visit_all(self, p0); /* Direct call parser_prod#ACallReassignExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ABraAssignExpr#replace_child for (self: ABraAssignExpr, ANode, nullable ANode) */ -void parser_prod__ABraAssignExpr__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 */; +/* method parser_prod#ASuperExpr#init_asuperexpr for (self: ASuperExpr, nullable AQualified, nullable TKwsuper, nullable AExprs) */ +void parser_prod__ASuperExpr__init_asuperexpr(val* self, val* p0, val* p1, val* p2) { +val* var_n_qualified /* var n_qualified: nullable AQualified */; +val* var_n_kwsuper /* var n_kwsuper: nullable TKwsuper */; +val* var_n_args /* var n_args: nullable AExprs */; +val* var /* : null */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var4 /* : Bool */; -int cltype; -int idtype; -val* var5 /* : AExprs */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : TAssign */; -short int var13 /* : Bool */; -val* var14 /* : null */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : AExpr */; -short int var20 /* : Bool */; -val* var21 /* : null */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8181); -exit(1); -} -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype = type_parser_nodes__AExpr.color; -idtype = type_parser_nodes__AExpr.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var_n_qualified = p0; +var_n_kwsuper = p1; +var_n_args = p2; +self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var_n_qualified; /* _n_qualified on */ +var = NULL; +if (var_n_qualified == NULL) { +var1 = 0; /* is null */ } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var1 = 1; /* arg is null and recv is not */ } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8184); -exit(1); +if (0) { +{ /* Inline kernel#Object#!= (var_n_qualified,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_qualified->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_qualified, var_other) /* == on */; +var4 = var5; } -self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8187); -exit(1); +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -goto RET_LABEL; -} else { +var1 = var2; } -var5 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8191); -exit(1); +if (var1){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_qualified,self) on */ +var_n_qualified->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; } -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExprs */ -cltype10 = type_parser_nodes__AExprs.color; -idtype11 = type_parser_nodes__AExprs.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; } else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8194); -exit(1); +if (unlikely(var_n_kwsuper == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4418); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_new_child; /* _n_args on */ +self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val = var_n_kwsuper; /* _n_kwsuper on */ +if (var_n_kwsuper == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4419); +show_backtrace(1); } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8197); -exit(1); +{ /* Inline parser_nodes#ANode#parent= (var_n_kwsuper,self) on */ +if (unlikely(var_n_kwsuper == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -goto RET_LABEL; -} else { +var_n_kwsuper->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; } -var12 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign", "src/parser/parser_prod.nit", 8201); -exit(1); } -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ -} else { -var15 = 1; /* arg is null and recv is not */ +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4420); +show_backtrace(1); } -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TAssign */ -cltype17 = type_parser_nodes__TAssign.color; -idtype18 = type_parser_nodes__TAssign.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; +self->attrs[COLOR_parser_nodes__ASuperExpr___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", 4421); +show_backtrace(1); } else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; +{ /* 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); } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8204); -exit(1); +var_n_args->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL9:(void)0; } -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8207); -exit(1); } -goto RET_LABEL; -} else { +RET_LABEL:; } -var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ -if (var19 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8211); -exit(1); +/* method parser_prod#ASuperExpr#init_asuperexpr for (self: Object, nullable AQualified, nullable TKwsuper, nullable AExprs) */ +void VIRTUAL_parser_prod__ASuperExpr__init_asuperexpr(val* self, val* p0, val* p1, val* p2) { +parser_prod__ASuperExpr__init_asuperexpr(self, p0, p1, p2); /* Direct call parser_prod#ASuperExpr#init_asuperexpr on */ +RET_LABEL:; } -var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on */; -if (var20){ -var21 = NULL; -if (var_new_child == NULL) { -var22 = 0; /* is null */ +/* method parser_prod#ASuperExpr#replace_child for (self: ASuperExpr, ANode, nullable ANode) */ +void parser_prod__ASuperExpr__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 AQualified */; +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 /* : TKwsuper */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : AExprs */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +var_old_child = p0; +var_new_child = p1; +var = self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on */ +if (var == NULL) { +var1 = 0; /* cannot be null */ +} else { +{ /* 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 nullable AQualified */ +cltype = type_nullable_parser_nodes__AQualified.color; +idtype = type_nullable_parser_nodes__AQualified.id; +if(var_new_child == NULL) { +var7 = 1; +} else { +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var22 = 1; /* arg is null and recv is not */ +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 AQualified", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4427); +show_backtrace(1); +} +{ +parser_prod__ASuperExpr__n_qualified_61d(self, var_new_child); /* Direct call parser_prod#ASuperExpr#n_qualified= on */ } -if (var22){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype24 = type_parser_nodes__AExpr.color; -idtype25 = type_parser_nodes__AExpr.id; -if(cltype24 >= var_new_child->type->table_size) { -var23 = 0; +goto RET_LABEL; } else { -var23 = var_new_child->type->type_table[cltype24] == idtype25; } -if (!var23) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8214); -exit(1); +var8 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val; /* _n_kwsuper on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwsuper"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4430); +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; } -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on */ +var9 = var10; +} +if (var9){ +/* isa TKwsuper */ +cltype16 = type_parser_nodes__TKwsuper.color; +idtype17 = type_parser_nodes__TKwsuper.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8217); -exit(1); +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`", "TKwsuper", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4431); +show_backtrace(1); +} +{ +parser_prod__ASuperExpr__n_kwsuper_61d(self, var_new_child); /* Direct call parser_prod#ASuperExpr#n_kwsuper= on */ } goto RET_LABEL; } else { } -RET_LABEL:; +var19 = self->attrs[COLOR_parser_nodes__ASuperExpr___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", 4434); +show_backtrace(1); } -/* method parser_prod#ABraAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ABraAssignExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ABraAssignExpr__replace_child(self, p0, p1); -RET_LABEL:; +{ +{ /* 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", 4435); +show_backtrace(1); +} +{ +parser_prod__ASuperExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ASuperExpr#n_args= on */ +} +goto RET_LABEL; +} else { } -/* method parser_prod#ABraAssignExpr#n_expr= for (self: ABraAssignExpr, AExpr) */ -void parser_prod__ABraAssignExpr__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 */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#ABraAssignExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ABraAssignExpr__n_expr_61d(val* self, val* p0) { -parser_prod__ABraAssignExpr__n_expr_61d(self, p0); +/* method parser_prod#ASuperExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ASuperExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ASuperExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ASuperExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ABraAssignExpr#n_args= for (self: ABraAssignExpr, AExprs) */ -void parser_prod__ABraAssignExpr__n_args_61d(val* self, val* p0) { -val* var_node /* var node: AExprs */; +/* method parser_prod#ASuperExpr#n_qualified= for (self: ASuperExpr, nullable AQualified) */ +void parser_prod__ASuperExpr__n_qualified_61d(val* self, val* p0) { +val* var_node /* var node: nullable AQualified */; +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__ABraFormExpr___n_args].val = var_node; /* _n_args on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var_node; /* _n_qualified 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#ABraAssignExpr#n_args= for (self: Object, AExprs) */ -void VIRTUAL_parser_prod__ABraAssignExpr__n_args_61d(val* self, val* p0) { -parser_prod__ABraAssignExpr__n_args_61d(self, p0); +/* method parser_prod#ASuperExpr#n_qualified= for (self: Object, nullable AQualified) */ +void VIRTUAL_parser_prod__ASuperExpr__n_qualified_61d(val* self, val* p0) { +parser_prod__ASuperExpr__n_qualified_61d(self, p0); /* Direct call parser_prod#ASuperExpr#n_qualified= on */ RET_LABEL:; } -/* method parser_prod#ABraAssignExpr#n_assign= for (self: ABraAssignExpr, TAssign) */ -void parser_prod__ABraAssignExpr__n_assign_61d(val* self, val* p0) { -val* var_node /* var node: TAssign */; +/* method parser_prod#ASuperExpr#n_kwsuper= for (self: ASuperExpr, TKwsuper) */ +void parser_prod__ASuperExpr__n_kwsuper_61d(val* self, val* p0) { +val* var_node /* var node: TKwsuper */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val = var_node; /* _n_kwsuper 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#ABraAssignExpr#n_assign= for (self: Object, TAssign) */ -void VIRTUAL_parser_prod__ABraAssignExpr__n_assign_61d(val* self, val* p0) { -parser_prod__ABraAssignExpr__n_assign_61d(self, p0); +/* method parser_prod#ASuperExpr#n_kwsuper= for (self: Object, TKwsuper) */ +void VIRTUAL_parser_prod__ASuperExpr__n_kwsuper_61d(val* self, val* p0) { +parser_prod__ASuperExpr__n_kwsuper_61d(self, p0); /* Direct call parser_prod#ASuperExpr#n_kwsuper= on */ RET_LABEL:; } -/* method parser_prod#ABraAssignExpr#n_value= for (self: ABraAssignExpr, AExpr) */ -void parser_prod__ABraAssignExpr__n_value_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; +/* method parser_prod#ASuperExpr#n_args= for (self: ASuperExpr, AExprs) */ +void parser_prod__ASuperExpr__n_args_61d(val* self, val* p0) { +val* var_node /* var node: AExprs */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ASuperExpr___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#ABraAssignExpr#n_value= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ABraAssignExpr__n_value_61d(val* self, val* p0) { -parser_prod__ABraAssignExpr__n_value_61d(self, p0); +/* method parser_prod#ASuperExpr#n_args= for (self: Object, AExprs) */ +void VIRTUAL_parser_prod__ASuperExpr__n_args_61d(val* self, val* p0) { +parser_prod__ASuperExpr__n_args_61d(self, p0); /* Direct call parser_prod#ASuperExpr#n_args= on */ RET_LABEL:; } -/* method parser_prod#ABraAssignExpr#visit_all for (self: ABraAssignExpr, Visitor) */ -void parser_prod__ABraAssignExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ASuperExpr#visit_all for (self: ASuperExpr, Visitor) */ +void parser_prod__ASuperExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : AExpr */; -val* var1 /* : AExprs */; -val* var2 /* : TAssign */; -val* var3 /* : AExpr */; +val* var /* : nullable AQualified */; +val* var1 /* : TKwsuper */; +val* var2 /* : AExprs */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8247); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8248); -exit(1); +var = self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign", "src/parser/parser_prod.nit", 8249); -exit(1); +var1 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val; /* _n_kwsuper on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwsuper"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4460); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8250); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -RET_LABEL:; +var2 = self->attrs[COLOR_parser_nodes__ASuperExpr___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", 4461); +show_backtrace(1); } -/* method parser_prod#ABraAssignExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ABraAssignExpr__visit_all(val* self, val* p0) { -parser_prod__ABraAssignExpr__visit_all(self, p0); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ABraReassignExpr#empty_init for (self: ABraReassignExpr) */ -void parser_prod__ABraReassignExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#ABraReassignExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ABraReassignExpr__empty_init(val* self) { -parser_prod__ABraReassignExpr__empty_init(self); +/* method parser_prod#ASuperExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ASuperExpr__visit_all(val* self, val* p0) { +parser_prod__ASuperExpr__visit_all(self, p0); /* Direct call parser_prod#ASuperExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ABraReassignExpr#init_abrareassignexpr for (self: ABraReassignExpr, nullable AExpr, nullable AExprs, nullable AAssignOp, nullable AExpr) */ -void parser_prod__ABraReassignExpr__init_abrareassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +/* method parser_prod#AInitExpr#init_ainitexpr for (self: AInitExpr, nullable AExpr, nullable TKwinit, nullable AExprs) */ +void parser_prod__AInitExpr__init_ainitexpr(val* self, val* p0, val* p1, val* p2) { val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_kwinit /* var n_kwinit: nullable TKwinit */; 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_args = p1; -var_n_assign_op = p2; -var_n_value = p3; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraReassignExpr__empty_init]))(self) /* empty_init on */; -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8264); -exit(1); -} -self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ +var_n_kwinit = p1; +var_n_args = p2; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4471); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on */ if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8265); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4472); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; +{ /* 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 (var_n_args == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8266); -exit(1); +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on */ -if (var_n_args == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8267); -exit(1); -} else { -((void (*)(val*, val*))(var_n_args->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_args, self) /* parent= on */; } -if (var_n_assign_op == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8268); -exit(1); +if (unlikely(var_n_kwinit == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4473); +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) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8269); -exit(1); +self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val = var_n_kwinit; /* _n_kwinit on */ +if (var_n_kwinit == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4474); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_assign_op->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_assign_op, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwinit,self) on */ +if (unlikely(var_n_kwinit == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_value == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8270); -exit(1); +var_n_kwinit->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on */ -if (var_n_value == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8271); -exit(1); +} +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4475); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AInitExpr___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", 4476); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_value->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_value, self) /* parent= on */; +{ /* 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#ABraReassignExpr#init_abrareassignexpr for (self: Object, nullable AExpr, nullable AExprs, nullable AAssignOp, nullable AExpr) */ -void VIRTUAL_parser_prod__ABraReassignExpr__init_abrareassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__ABraReassignExpr__init_abrareassignexpr(self, p0, p1, p2, p3); +/* method parser_prod#AInitExpr#init_ainitexpr for (self: Object, nullable AExpr, nullable TKwinit, nullable AExprs) */ +void VIRTUAL_parser_prod__AInitExpr__init_ainitexpr(val* self, val* p0, val* p1, val* p2) { +parser_prod__AInitExpr__init_ainitexpr(self, p0, p1, p2); /* Direct call parser_prod#AInitExpr#init_ainitexpr on */ RET_LABEL:; } -/* method parser_prod#ABraReassignExpr#replace_child for (self: ABraReassignExpr, ANode, nullable ANode) */ -void parser_prod__ABraReassignExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AInitExpr#replace_child for (self: AInitExpr, ANode, nullable ANode) */ +void parser_prod__AInitExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : AExpr */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; +short int 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; -val* var5 /* : AExprs */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : TKwinit */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : AAssignOp */; -short int var13 /* : Bool */; -val* var14 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : AExpr */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : AExprs */; short int var20 /* : Bool */; -val* var21 /* : null */; -short int var22 /* : Bool */; +short int var21 /* : Bool */; short int var23 /* : Bool */; -int cltype24; -int idtype25; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8276); -exit(1); +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", 4481); +show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ +} +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) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8279); -exit(1); } -self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8282); -exit(1); +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", 4482); +show_backtrace(1); +} +{ +parser_prod__AInitExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AInitExpr#n_expr= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8286); -exit(1); +var8 = self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val; /* _n_kwinit on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwinit"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4485); +show_backtrace(1); } -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExprs */ -cltype10 = type_parser_nodes__AExprs.color; -idtype11 = type_parser_nodes__AExprs.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8289); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_new_child; /* _n_args on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8292); -exit(1); +var9 = var10; } -goto RET_LABEL; +if (var9){ +/* isa TKwinit */ +cltype16 = type_parser_nodes__TKwinit.color; +idtype17 = type_parser_nodes__TKwinit.id; +if(var_new_child == NULL) { +var15 = 0; } else { -} -var12 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign_op", "src/parser/parser_prod.nit", 8296); -exit(1); -} -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var15 = 1; /* arg is null and recv is not */ +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAssignOp */ -cltype17 = type_parser_nodes__AAssignOp.color; -idtype18 = type_parser_nodes__AAssignOp.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; -} else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8299); -exit(1); +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`", "TKwinit", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4486); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8302); -exit(1); +{ +parser_prod__AInitExpr__n_kwinit_61d(self, var_new_child); /* Direct call parser_prod#AInitExpr#n_kwinit= on */ } goto RET_LABEL; } else { } -var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ -if (var19 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8306); -exit(1); +var19 = self->attrs[COLOR_parser_nodes__AInitExpr___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", 4489); +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; } -var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on */; if (var20){ -var21 = NULL; -if (var_new_child == NULL) { -var22 = 0; /* is null */ +/* isa AExprs */ +cltype27 = type_parser_nodes__AExprs.color; +idtype28 = type_parser_nodes__AExprs.id; +if(var_new_child == NULL) { +var26 = 0; } else { -var22 = 1; /* arg is null and recv is not */ -} -if (var22){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype24 = type_parser_nodes__AExpr.color; -idtype25 = type_parser_nodes__AExpr.id; -if(cltype24 >= var_new_child->type->table_size) { -var23 = 0; +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -var23 = var_new_child->type->type_table[cltype24] == idtype25; +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -if (!var23) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8309); -exit(1); } -self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8312); -exit(1); +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", 4490); +show_backtrace(1); +} +{ +parser_prod__AInitExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#AInitExpr#n_args= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ABraReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ABraReassignExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ABraReassignExpr__replace_child(self, p0, p1); +/* method parser_prod#AInitExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AInitExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AInitExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AInitExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ABraReassignExpr#n_expr= for (self: ABraReassignExpr, AExpr) */ -void parser_prod__ABraReassignExpr__n_expr_61d(val* self, val* p0) { +/* method parser_prod#AInitExpr#n_expr= for (self: AInitExpr, AExpr) */ +void parser_prod__AInitExpr__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 */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +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; } -/* method parser_prod#ABraReassignExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ABraReassignExpr__n_expr_61d(val* self, val* p0) { -parser_prod__ABraReassignExpr__n_expr_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#ABraReassignExpr#n_args= for (self: ABraReassignExpr, AExprs) */ -void parser_prod__ABraReassignExpr__n_args_61d(val* self, val* p0) { -val* var_node /* var node: AExprs */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_node; /* _n_args on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#ABraReassignExpr#n_args= for (self: Object, AExprs) */ -void VIRTUAL_parser_prod__ABraReassignExpr__n_args_61d(val* self, val* p0) { -parser_prod__ABraReassignExpr__n_args_61d(self, p0); +/* method parser_prod#AInitExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AInitExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AInitExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AInitExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#ABraReassignExpr#n_assign_op= for (self: ABraReassignExpr, AAssignOp) */ -void parser_prod__ABraReassignExpr__n_assign_op_61d(val* self, val* p0) { -val* var_node /* var node: AAssignOp */; +/* method parser_prod#AInitExpr#n_kwinit= for (self: AInitExpr, TKwinit) */ +void parser_prod__AInitExpr__n_kwinit_61d(val* self, val* p0) { +val* var_node /* var node: TKwinit */; var_node = p0; -self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val = var_node; /* _n_kwinit 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#ABraReassignExpr#n_assign_op= for (self: Object, AAssignOp) */ -void VIRTUAL_parser_prod__ABraReassignExpr__n_assign_op_61d(val* self, val* p0) { -parser_prod__ABraReassignExpr__n_assign_op_61d(self, p0); +/* method parser_prod#AInitExpr#n_kwinit= for (self: Object, TKwinit) */ +void VIRTUAL_parser_prod__AInitExpr__n_kwinit_61d(val* self, val* p0) { +parser_prod__AInitExpr__n_kwinit_61d(self, p0); /* Direct call parser_prod#AInitExpr#n_kwinit= on */ RET_LABEL:; } -/* method parser_prod#ABraReassignExpr#n_value= for (self: ABraReassignExpr, AExpr) */ -void parser_prod__ABraReassignExpr__n_value_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; +/* method parser_prod#AInitExpr#n_args= for (self: AInitExpr, AExprs) */ +void parser_prod__AInitExpr__n_args_61d(val* self, val* p0) { +val* var_node /* var node: AExprs */; var_node = p0; -self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AInitExpr___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#ABraReassignExpr#n_value= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ABraReassignExpr__n_value_61d(val* self, val* p0) { -parser_prod__ABraReassignExpr__n_value_61d(self, p0); +/* method parser_prod#AInitExpr#n_args= for (self: Object, AExprs) */ +void VIRTUAL_parser_prod__AInitExpr__n_args_61d(val* self, val* p0) { +parser_prod__AInitExpr__n_args_61d(self, p0); /* Direct call parser_prod#AInitExpr#n_args= on */ RET_LABEL:; } -/* method parser_prod#ABraReassignExpr#visit_all for (self: ABraReassignExpr, Visitor) */ -void parser_prod__ABraReassignExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AInitExpr#visit_all for (self: AInitExpr, Visitor) */ +void parser_prod__AInitExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; val* var /* : AExpr */; -val* var1 /* : AExprs */; -val* var2 /* : AAssignOp */; -val* var3 /* : AExpr */; +val* var1 /* : TKwinit */; +val* var2 /* : AExprs */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8342); -exit(1); +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", 4514); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8343); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign_op", "src/parser/parser_prod.nit", 8344); -exit(1); +var1 = self->attrs[COLOR_parser_nodes__AInitExpr___n_kwinit].val; /* _n_kwinit on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwinit"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4515); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8345); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -RET_LABEL:; +var2 = self->attrs[COLOR_parser_nodes__AInitExpr___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", 4516); +show_backtrace(1); } -/* method parser_prod#ABraReassignExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ABraReassignExpr__visit_all(val* self, val* p0) { -parser_prod__ABraReassignExpr__visit_all(self, p0); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AClosureCallExpr#empty_init for (self: AClosureCallExpr) */ -void parser_prod__AClosureCallExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AClosureCallExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AClosureCallExpr__empty_init(val* self) { -parser_prod__AClosureCallExpr__empty_init(self); +/* method parser_prod#AInitExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AInitExpr__visit_all(val* self, val* p0) { +parser_prod__AInitExpr__visit_all(self, p0); /* Direct call parser_prod#AInitExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AClosureCallExpr#init_aclosurecallexpr for (self: AClosureCallExpr, nullable TId, nullable AExprs, Collection[Object]) */ -void parser_prod__AClosureCallExpr__init_aclosurecallexpr(val* self, val* p0, val* p1, val* p2) { -val* var_n_id /* var n_id: nullable TId */; +/* method parser_prod#ABraExpr#init_abraexpr for (self: ABraExpr, nullable AExpr, nullable AExprs) */ +void parser_prod__ABraExpr__init_abraexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: nullable AExpr */; val* var_n_args /* var n_args: nullable AExprs */; -val* var_n_closure_defs /* var n_closure_defs: Collection[Object] */; -val* var /* : Iterator[nullable Object] */; -short int var1 /* : Bool */; -val* var2 /* : nullable Object */; -val* var_n /* var n: Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var4 /* : ANodes[AClosureDef] */; -var_n_id = p0; +var_n_expr = p0; var_n_args = p1; -var_n_closure_defs = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AClosureCallExpr__empty_init]))(self) /* empty_init on */; -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8358); -exit(1); +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4525); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8359); -exit(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", 4526); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; +{ /* 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 (var_n_args == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8360); -exit(1); } -self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_args].val = var_n_args; /* _n_args on */ +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4527); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val = var_n_args; /* _n_args on */ if (var_n_args == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8361); -exit(1); -} else { -((void (*)(val*, val*))(var_n_args->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_args, self) /* parent= on */; -} -var = ((val* (*)(val*))(var_n_closure_defs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_closure_defs) /* iterator on */; -for(;;) { -var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on */; -if(!var1) break; -var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on */; -var_n = var2; -/* isa AClosureDef */ -cltype = type_parser_nodes__AClosureDef.color; -idtype = type_parser_nodes__AClosureDef.id; -if(cltype >= var_n->type->table_size) { -var3 = 0; -} else { -var3 = var_n->type->type_table[cltype] == idtype; -} -if (!var3) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8363); -exit(1); -} -var4 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_closure_defs].val; /* _n_closure_defs on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8364); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4528); +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_LABEL2:(void)0; } -((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on */; -((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on */; } -BREAK_label: (void)0; RET_LABEL:; } -/* method parser_prod#AClosureCallExpr#init_aclosurecallexpr for (self: Object, nullable TId, nullable AExprs, Collection[Object]) */ -void VIRTUAL_parser_prod__AClosureCallExpr__init_aclosurecallexpr(val* self, val* p0, val* p1, val* p2) { -parser_prod__AClosureCallExpr__init_aclosurecallexpr(self, p0, p1, p2); +/* method parser_prod#ABraExpr#init_abraexpr for (self: Object, nullable AExpr, nullable AExprs) */ +void VIRTUAL_parser_prod__ABraExpr__init_abraexpr(val* self, val* p0, val* p1) { +parser_prod__ABraExpr__init_abraexpr(self, p0, p1); /* Direct call parser_prod#ABraExpr#init_abraexpr on */ RET_LABEL:; } -/* method parser_prod#AClosureCallExpr#replace_child for (self: AClosureCallExpr, ANode, nullable ANode) */ -void parser_prod__AClosureCallExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ABraExpr#replace_child for (self: ABraExpr, ANode, nullable ANode) */ +void parser_prod__ABraExpr__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 /* : AExpr */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : AExprs */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : AExprs */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : Range[Int] */; -long var13 /* : Int */; -val* var14 /* : ANodes[AClosureDef] */; -long var15 /* : Int */; -val* var16 /* : Discrete */; -val* var17 /* : Discrete */; -val* var18 /* : Iterator[nullable Object] */; -short int var19 /* : Bool */; -val* var20 /* : nullable Object */; -long var_i /* var i: Int */; -long var21 /* : Int */; -val* var22 /* : ANodes[AClosureDef] */; -val* var23 /* : nullable Object */; -short int var24 /* : Bool */; -val* var25 /* : null */; -short int var26 /* : Bool */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : ANodes[AClosureDef] */; -val* var31 /* : ANodes[AClosureDef] */; +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__AClosureCallExpr___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8371); -exit(1); +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", 4533); +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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TId */ -cltype = type_parser_nodes__TId.color; -idtype = type_parser_nodes__TId.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8374); -exit(1); } -self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8377); -exit(1); +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", 4534); +show_backtrace(1); +} +{ +parser_prod__ABraExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ABraExpr#n_expr= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_args].val; /* _n_args on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8381); -exit(1); +var8 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4537); +show_backtrace(1); } -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExprs */ -cltype10 = type_parser_nodes__AExprs.color; -idtype11 = type_parser_nodes__AExprs.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8384); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_args].val = var_new_child; /* _n_args on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8387); -exit(1); +var9 = var10; } -goto RET_LABEL; +if (var9){ +/* isa AExprs */ +cltype16 = type_parser_nodes__AExprs.color; +idtype17 = type_parser_nodes__AExprs.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; } -var12 = NEW_range__Range(&type_range__Rangekernel__Int); -var13 = 0; -var14 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_closure_defs].val; /* _n_closure_defs on */ -if (var14 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8391); -exit(1); -} -var15 = ((long (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__length]))(var14) /* length on */; -var16 = BOX_kernel__Int(var13); /* autobox from Int to Discrete */ -var17 = BOX_kernel__Int(var15); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var12->class->vft[COLOR_range__Range__without_last]))(var12, var16, var17) /* without_last on */; -CHECK_NEW_range__Range(var12); -var18 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Collection__iterator]))(var12) /* iterator on */; -for(;;) { -var19 = ((short int (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var18) /* is_ok on */; -if(!var19) break; -var20 = ((val* (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__item]))(var18) /* item on */; -var21 = ((struct instance_kernel__Int*)var20)->value; /* autounbox from nullable Object to Int */; -var_i = var21; -var22 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_closure_defs].val; /* _n_closure_defs on */ -if (var22 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8392); -exit(1); -} -var23 = ((val* (*)(val*, long))(var22->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var22, var_i) /* [] on */; -var24 = ((short int (*)(val*, val*))(var23->class->vft[COLOR_kernel__Object___61d_61d]))(var23, var_old_child) /* == on */; -if (var24){ -var25 = NULL; -if (var_new_child == NULL) { -var26 = 0; /* is null */ -} else { -var26 = 1; /* arg is null and recv is not */ -} -if (var26){ -/* isa AClosureDef */ -cltype28 = type_parser_nodes__AClosureDef.color; -idtype29 = type_parser_nodes__AClosureDef.id; -if(cltype28 >= var_new_child->type->table_size) { -var27 = 0; -} else { -var27 = var_new_child->type->type_table[cltype28] == idtype29; -} -if (!var27) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8394); -exit(1); -} -var30 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_closure_defs].val; /* _n_closure_defs on */ -if (var30 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8395); -exit(1); } -((void (*)(val*, long, val*))(var30->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var30, var_i, var_new_child) /* []= on */; -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -} else { -var31 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_closure_defs].val; /* _n_closure_defs on */ -if (var31 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8398); -exit(1); +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`", "AExprs", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4538); +show_backtrace(1); } -((void (*)(val*, long))(var31->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var31, var_i) /* remove_at on */; +{ +parser_prod__ABraExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ABraExpr#n_args= on */ } goto RET_LABEL; } else { } -CONTINUE_label: (void)0; -((void (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__next]))(var18) /* next on */; -} -BREAK_label: (void)0; RET_LABEL:; } -/* method parser_prod#AClosureCallExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AClosureCallExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AClosureCallExpr__replace_child(self, p0, p1); +/* method parser_prod#ABraExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ABraExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ABraExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ABraExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AClosureCallExpr#n_id= for (self: AClosureCallExpr, TId) */ -void parser_prod__AClosureCallExpr__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TId */; +/* method parser_prod#ABraExpr#n_expr= for (self: ABraExpr, AExpr) */ +void parser_prod__ABraExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_id].val = var_node; /* _n_id on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= 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 */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#AClosureCallExpr#n_id= for (self: Object, TId) */ -void VIRTUAL_parser_prod__AClosureCallExpr__n_id_61d(val* self, val* p0) { -parser_prod__AClosureCallExpr__n_id_61d(self, p0); +/* method parser_prod#ABraExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ABraExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ABraExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ABraExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AClosureCallExpr#n_args= for (self: AClosureCallExpr, AExprs) */ -void parser_prod__AClosureCallExpr__n_args_61d(val* self, val* p0) { +/* method parser_prod#ABraExpr#n_args= for (self: ABraExpr, AExprs) */ +void parser_prod__ABraExpr__n_args_61d(val* self, val* p0) { val* var_node /* var node: AExprs */; var_node = p0; -self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_args].val = var_node; /* _n_args on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ABraFormExpr___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#AClosureCallExpr#n_args= for (self: Object, AExprs) */ -void VIRTUAL_parser_prod__AClosureCallExpr__n_args_61d(val* self, val* p0) { -parser_prod__AClosureCallExpr__n_args_61d(self, p0); +/* method parser_prod#ABraExpr#n_args= for (self: Object, AExprs) */ +void VIRTUAL_parser_prod__ABraExpr__n_args_61d(val* self, val* p0) { +parser_prod__ABraExpr__n_args_61d(self, p0); /* Direct call parser_prod#ABraExpr#n_args= on */ RET_LABEL:; } -/* method parser_prod#AClosureCallExpr#visit_all for (self: AClosureCallExpr, Visitor) */ -void parser_prod__AClosureCallExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ABraExpr#visit_all for (self: ABraExpr, Visitor) */ +void parser_prod__ABraExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TId */; +val* var /* : AExpr */; val* var1 /* : AExprs */; -val* var2 /* : ANodes[AClosureDef] */; -val* var3 /* : Iterator[nullable Object] */; -short int var4 /* : Bool */; -val* var5 /* : nullable Object */; -val* var_n /* var n: AClosureDef */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8419); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_args].val; /* _n_args on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_args", "src/parser/parser_prod.nit", 8420); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__AClosureCallExpr___n_closure_defs].val; /* _n_closure_defs on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_closure_defs", "src/parser/parser_prod.nit", 8421); -exit(1); +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", 4557); +show_backtrace(1); } -var3 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__iterator]))(var2) /* iterator on */; -for(;;) { -var4 = ((short int (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var3) /* is_ok on */; -if(!var4) break; -var5 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__item]))(var3) /* item on */; -var_n = var5; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__next]))(var3) /* next on */; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -BREAK_label: (void)0; -RET_LABEL:; +var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4558); +show_backtrace(1); } -/* method parser_prod#AClosureCallExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AClosureCallExpr__visit_all(val* self, val* p0) { -parser_prod__AClosureCallExpr__visit_all(self, p0); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AVarExpr#empty_init for (self: AVarExpr) */ -void parser_prod__AVarExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AVarExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AVarExpr__empty_init(val* self) { -parser_prod__AVarExpr__empty_init(self); +/* method parser_prod#ABraExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ABraExpr__visit_all(val* self, val* p0) { +parser_prod__ABraExpr__visit_all(self, p0); /* Direct call parser_prod#ABraExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AVarExpr#init_avarexpr for (self: AVarExpr, nullable TId) */ -void parser_prod__AVarExpr__init_avarexpr(val* self, val* p0) { -val* var_n_id /* var n_id: nullable TId */; -var_n_id = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVarExpr__empty_init]))(self) /* empty_init on */; -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8434); -exit(1); +/* method parser_prod#ABraAssignExpr#init_abraassignexpr for (self: ABraAssignExpr, nullable AExpr, nullable AExprs, nullable TAssign, nullable AExpr) */ +void parser_prod__ABraAssignExpr__init_abraassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +val* var_n_expr /* var n_expr: nullable AExpr */; +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_args = p1; +var_n_assign = p2; +var_n_value = p3; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4569); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8435); -exit(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", 4570); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; +{ /* 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); } -RET_LABEL:; +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -/* method parser_prod#AVarExpr#init_avarexpr for (self: Object, nullable TId) */ -void VIRTUAL_parser_prod__AVarExpr__init_avarexpr(val* self, val* p0) { -parser_prod__AVarExpr__init_avarexpr(self, p0); -RET_LABEL:; } -/* method parser_prod#AVarExpr#replace_child for (self: AVarExpr, ANode, nullable ANode) */ -void parser_prod__AVarExpr__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 */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -int cltype; -int idtype; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8440); -exit(1); +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4571); +show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__ABraFormExpr___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", 4572); +show_backtrace(1); } else { -var3 = 1; /* arg is null and recv is not */ +{ /* 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); } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TId */ -cltype = type_parser_nodes__TId.color; -idtype = type_parser_nodes__TId.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var_n_args->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8443); -exit(1); } -self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8446); -exit(1); +if (unlikely(var_n_assign == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4573); +show_backtrace(1); } -goto RET_LABEL; +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", 4574); +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); } -RET_LABEL:; -} -/* method parser_prod#AVarExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AVarExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AVarExpr__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#AVarExpr#n_id= for (self: AVarExpr, TId) */ -void parser_prod__AVarExpr__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TId */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AVarExpr#n_id= for (self: Object, TId) */ -void VIRTUAL_parser_prod__AVarExpr__n_id_61d(val* self, val* p0) { -parser_prod__AVarExpr__n_id_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AVarExpr#visit_all for (self: AVarExpr, Visitor) */ -void parser_prod__AVarExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TId */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8461); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; -} -/* method parser_prod#AVarExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AVarExpr__visit_all(val* self, val* p0) { -parser_prod__AVarExpr__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AVarAssignExpr#empty_init for (self: AVarAssignExpr) */ -void parser_prod__AVarAssignExpr__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AVarAssignExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AVarAssignExpr__empty_init(val* self) { -parser_prod__AVarAssignExpr__empty_init(self); -RET_LABEL:; -} -/* method parser_prod#AVarAssignExpr#init_avarassignexpr for (self: AVarAssignExpr, nullable TId, nullable TAssign, nullable AExpr) */ -void parser_prod__AVarAssignExpr__init_avarassignexpr(val* self, val* p0, val* p1, val* p2) { -val* var_n_id /* var n_id: nullable TId */; -val* var_n_assign /* var n_assign: nullable TAssign */; -val* var_n_value /* var n_value: nullable AExpr */; -var_n_id = p0; -var_n_assign = p1; -var_n_value = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVarAssignExpr__empty_init]))(self) /* empty_init on */; -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8474); -exit(1); +var_n_assign->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8475); -exit(1); -} else { -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; } -if (var_n_assign == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8476); -exit(1); +if (unlikely(var_n_value == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4575); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on */ -if (var_n_assign == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8477); -exit(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", 4576); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_assign->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_assign, self) /* parent= on */; +{ /* 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); } -if (var_n_value == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8478); -exit(1); +var_n_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL4:(void)0; } -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on */ -if (var_n_value == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8479); -exit(1); -} else { -((void (*)(val*, val*))(var_n_value->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_value, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AVarAssignExpr#init_avarassignexpr for (self: Object, nullable TId, nullable TAssign, nullable AExpr) */ -void VIRTUAL_parser_prod__AVarAssignExpr__init_avarassignexpr(val* self, val* p0, val* p1, val* p2) { -parser_prod__AVarAssignExpr__init_avarassignexpr(self, p0, p1, p2); +/* method parser_prod#ABraAssignExpr#init_abraassignexpr for (self: Object, nullable AExpr, nullable AExprs, nullable TAssign, nullable AExpr) */ +void VIRTUAL_parser_prod__ABraAssignExpr__init_abraassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +parser_prod__ABraAssignExpr__init_abraassignexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#ABraAssignExpr#init_abraassignexpr on */ RET_LABEL:; } -/* method parser_prod#AVarAssignExpr#replace_child for (self: AVarAssignExpr, ANode, nullable ANode) */ -void parser_prod__AVarAssignExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ABraAssignExpr#replace_child for (self: ABraAssignExpr, ANode, nullable ANode) */ +void parser_prod__ABraAssignExpr__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 /* : AExpr */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : TAssign */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : AExprs */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : AExpr */; -short int var13 /* : Bool */; -val* var14 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +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__AVarFormExpr___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8484); -exit(1); +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", 4581); +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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TId */ -cltype = type_parser_nodes__TId.color; -idtype = type_parser_nodes__TId.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8487); -exit(1); } -self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8490); -exit(1); +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", 4582); +show_backtrace(1); +} +{ +parser_prod__ABraAssignExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ABraAssignExpr#n_expr= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign", "src/parser/parser_prod.nit", 8494); -exit(1); +var8 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4585); +show_backtrace(1); } -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TAssign */ -cltype10 = type_parser_nodes__TAssign.color; -idtype11 = type_parser_nodes__TAssign.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8497); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on */ +var9 = var10; +} +if (var9){ +/* isa AExprs */ +cltype16 = type_parser_nodes__AExprs.color; +idtype17 = type_parser_nodes__AExprs.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8500); -exit(1); +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`", "AExprs", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4586); +show_backtrace(1); +} +{ +parser_prod__ABraAssignExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ABraAssignExpr#n_args= on */ } goto RET_LABEL; } else { } -var12 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8504); -exit(1); +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", 4589); +show_backtrace(1); } -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ +{ +{ /* 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(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -var15 = 1; /* arg is null and recv is not */ +var26 = var_new_child->type->type_table[cltype27] == idtype28; +} +} +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TAssign", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4590); +show_backtrace(1); } -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype17 = type_parser_nodes__AExpr.color; -idtype18 = type_parser_nodes__AExpr.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; +{ +parser_prod__ABraAssignExpr__n_assign_61d(self, var_new_child); /* Direct call parser_prod#ABraAssignExpr#n_assign= on */ +} +goto RET_LABEL; } else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8507); -exit(1); +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", 4593); +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; +} } -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on */ +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +var31 = var32; +} +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; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8510); -exit(1); +var37 = var_new_child->type->type_table[cltype38] == idtype39; +} +} +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4594); +show_backtrace(1); +} +{ +parser_prod__ABraAssignExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#ABraAssignExpr#n_value= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AVarAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AVarAssignExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AVarAssignExpr__replace_child(self, p0, p1); +/* method parser_prod#ABraAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ABraAssignExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ABraAssignExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ABraAssignExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AVarAssignExpr#n_id= for (self: AVarAssignExpr, TId) */ -void parser_prod__AVarAssignExpr__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TId */; +/* method parser_prod#ABraAssignExpr#n_expr= for (self: ABraAssignExpr, AExpr) */ +void parser_prod__ABraAssignExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= 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 */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#AVarAssignExpr#n_id= for (self: Object, TId) */ -void VIRTUAL_parser_prod__AVarAssignExpr__n_id_61d(val* self, val* p0) { -parser_prod__AVarAssignExpr__n_id_61d(self, p0); +/* method parser_prod#ABraAssignExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ABraAssignExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ABraAssignExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ABraAssignExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AVarAssignExpr#n_assign= for (self: AVarAssignExpr, TAssign) */ -void parser_prod__AVarAssignExpr__n_assign_61d(val* self, val* p0) { +/* method parser_prod#ABraAssignExpr#n_args= for (self: ABraAssignExpr, AExprs) */ +void parser_prod__ABraAssignExpr__n_args_61d(val* self, val* p0) { +val* var_node /* var node: AExprs */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ABraFormExpr___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#ABraAssignExpr#n_args= for (self: Object, AExprs) */ +void VIRTUAL_parser_prod__ABraAssignExpr__n_args_61d(val* self, val* p0) { +parser_prod__ABraAssignExpr__n_args_61d(self, p0); /* Direct call parser_prod#ABraAssignExpr#n_args= on */ +RET_LABEL:; +} +/* method parser_prod#ABraAssignExpr#n_assign= for (self: ABraAssignExpr, TAssign) */ +void parser_prod__ABraAssignExpr__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 */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +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#AVarAssignExpr#n_assign= for (self: Object, TAssign) */ -void VIRTUAL_parser_prod__AVarAssignExpr__n_assign_61d(val* self, val* p0) { -parser_prod__AVarAssignExpr__n_assign_61d(self, p0); +/* method parser_prod#ABraAssignExpr#n_assign= for (self: Object, TAssign) */ +void VIRTUAL_parser_prod__ABraAssignExpr__n_assign_61d(val* self, val* p0) { +parser_prod__ABraAssignExpr__n_assign_61d(self, p0); /* Direct call parser_prod#ABraAssignExpr#n_assign= on */ RET_LABEL:; } -/* method parser_prod#AVarAssignExpr#n_value= for (self: AVarAssignExpr, AExpr) */ -void parser_prod__AVarAssignExpr__n_value_61d(val* self, val* p0) { +/* method parser_prod#ABraAssignExpr#n_value= for (self: ABraAssignExpr, AExpr) */ +void parser_prod__ABraAssignExpr__n_value_61d(val* self, val* p0) { val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= 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 */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#AVarAssignExpr#n_value= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AVarAssignExpr__n_value_61d(val* self, val* p0) { -parser_prod__AVarAssignExpr__n_value_61d(self, p0); +/* method parser_prod#ABraAssignExpr#n_value= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ABraAssignExpr__n_value_61d(val* self, val* p0) { +parser_prod__ABraAssignExpr__n_value_61d(self, p0); /* Direct call parser_prod#ABraAssignExpr#n_value= on */ RET_LABEL:; } -/* method parser_prod#AVarAssignExpr#visit_all for (self: AVarAssignExpr, Visitor) */ -void parser_prod__AVarAssignExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ABraAssignExpr#visit_all for (self: ABraAssignExpr, Visitor) */ +void parser_prod__ABraAssignExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TId */; -val* var1 /* : TAssign */; -val* var2 /* : AExpr */; +val* var /* : AExpr */; +val* var1 /* : AExprs */; +val* var2 /* : TAssign */; +val* var3 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8535); -exit(1); +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", 4623); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign", "src/parser/parser_prod.nit", 8536); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8537); -exit(1); +var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4624); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AVarAssignExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AVarAssignExpr__visit_all(val* self, val* p0) { -parser_prod__AVarAssignExpr__visit_all(self, p0); -RET_LABEL:; +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", 4625); +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", 4626); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AVarReassignExpr#empty_init for (self: AVarReassignExpr) */ -void parser_prod__AVarReassignExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AVarReassignExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AVarReassignExpr__empty_init(val* self) { -parser_prod__AVarReassignExpr__empty_init(self); +/* method parser_prod#ABraAssignExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ABraAssignExpr__visit_all(val* self, val* p0) { +parser_prod__ABraAssignExpr__visit_all(self, p0); /* Direct call parser_prod#ABraAssignExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AVarReassignExpr#init_avarreassignexpr for (self: AVarReassignExpr, nullable TId, nullable AAssignOp, nullable AExpr) */ -void parser_prod__AVarReassignExpr__init_avarreassignexpr(val* self, val* p0, val* p1, val* p2) { -val* var_n_id /* var n_id: nullable TId */; +/* method parser_prod#ABraReassignExpr#init_abrareassignexpr for (self: ABraReassignExpr, nullable AExpr, nullable AExprs, nullable AAssignOp, nullable AExpr) */ +void parser_prod__ABraReassignExpr__init_abrareassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +val* var_n_expr /* var n_expr: nullable AExpr */; +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_id = p0; -var_n_assign_op = p1; -var_n_value = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVarReassignExpr__empty_init]))(self) /* empty_init on */; -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8550); -exit(1); +var_n_expr = p0; +var_n_args = p1; +var_n_assign_op = p2; +var_n_value = p3; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4637); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8551); -exit(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", 4638); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; +{ /* 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 (var_n_assign_op == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8552); -exit(1); +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on */ +} +if (unlikely(var_n_args == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4639); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ABraFormExpr___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", 4640); +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_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", 4641); +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) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8553); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4642); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_assign_op->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_assign_op, self) /* parent= on */; +{ /* 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); } -if (var_n_value == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8554); -exit(1); +var_n_assign_op->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on */ +} +if (unlikely(var_n_value == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4643); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on */ if (var_n_value == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8555); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4644); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_value->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_value, self) /* parent= on */; +{ /* 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#AVarReassignExpr#init_avarreassignexpr for (self: Object, nullable TId, nullable AAssignOp, nullable AExpr) */ -void VIRTUAL_parser_prod__AVarReassignExpr__init_avarreassignexpr(val* self, val* p0, val* p1, val* p2) { -parser_prod__AVarReassignExpr__init_avarreassignexpr(self, p0, p1, p2); +/* method parser_prod#ABraReassignExpr#init_abrareassignexpr for (self: Object, nullable AExpr, nullable AExprs, nullable AAssignOp, nullable AExpr) */ +void VIRTUAL_parser_prod__ABraReassignExpr__init_abrareassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +parser_prod__ABraReassignExpr__init_abrareassignexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#ABraReassignExpr#init_abrareassignexpr on */ RET_LABEL:; } -/* method parser_prod#AVarReassignExpr#replace_child for (self: AVarReassignExpr, ANode, nullable ANode) */ -void parser_prod__AVarReassignExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ABraReassignExpr#replace_child for (self: ABraReassignExpr, ANode, nullable ANode) */ +void parser_prod__ABraReassignExpr__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 /* : AExpr */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : AAssignOp */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : AExprs */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : AExpr */; -short int var13 /* : Bool */; -val* var14 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +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__AVarFormExpr___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8560); -exit(1); +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", 4649); +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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TId */ -cltype = type_parser_nodes__TId.color; -idtype = type_parser_nodes__TId.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8563); -exit(1); } -self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8566); -exit(1); +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", 4650); +show_backtrace(1); +} +{ +parser_prod__ABraReassignExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ABraReassignExpr#n_expr= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign_op", "src/parser/parser_prod.nit", 8570); -exit(1); +var8 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4653); +show_backtrace(1); } -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAssignOp */ -cltype10 = type_parser_nodes__AAssignOp.color; -idtype11 = type_parser_nodes__AAssignOp.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8573); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on */ +var9 = var10; +} +if (var9){ +/* isa AExprs */ +cltype16 = type_parser_nodes__AExprs.color; +idtype17 = type_parser_nodes__AExprs.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8576); -exit(1); +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`", "AExprs", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4654); +show_backtrace(1); +} +{ +parser_prod__ABraReassignExpr__n_args_61d(self, var_new_child); /* Direct call parser_prod#ABraReassignExpr#n_args= on */ } goto RET_LABEL; } else { } -var12 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8580); -exit(1); +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", 4657); +show_backtrace(1); } -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ +{ +{ /* 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 { -var15 = 1; /* arg is null and recv is not */ +var26 = var_new_child->type->type_table[cltype27] == idtype28; +} +} +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AAssignOp", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4658); +show_backtrace(1); } -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype17 = type_parser_nodes__AExpr.color; -idtype18 = type_parser_nodes__AExpr.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; +{ +parser_prod__ABraReassignExpr__n_assign_op_61d(self, var_new_child); /* Direct call parser_prod#ABraReassignExpr#n_assign_op= on */ +} +goto RET_LABEL; } else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8583); -exit(1); +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", 4661); +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; +} } -self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on */ +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +var31 = var32; +} +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; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8586); -exit(1); +var37 = var_new_child->type->type_table[cltype38] == idtype39; +} +} +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4662); +show_backtrace(1); +} +{ +parser_prod__ABraReassignExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#ABraReassignExpr#n_value= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AVarReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AVarReassignExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AVarReassignExpr__replace_child(self, p0, p1); +/* method parser_prod#ABraReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ABraReassignExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ABraReassignExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ABraReassignExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AVarReassignExpr#n_id= for (self: AVarReassignExpr, TId) */ -void parser_prod__AVarReassignExpr__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TId */; +/* method parser_prod#ABraReassignExpr#n_expr= for (self: ABraReassignExpr, AExpr) */ +void parser_prod__ABraReassignExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var_node; /* _n_id on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +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; } -/* method parser_prod#AVarReassignExpr#n_id= for (self: Object, TId) */ -void VIRTUAL_parser_prod__AVarReassignExpr__n_id_61d(val* self, val* p0) { -parser_prod__AVarReassignExpr__n_id_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AVarReassignExpr#n_assign_op= for (self: AVarReassignExpr, AAssignOp) */ -void parser_prod__AVarReassignExpr__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 */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AVarReassignExpr#n_assign_op= for (self: Object, AAssignOp) */ -void VIRTUAL_parser_prod__AVarReassignExpr__n_assign_op_61d(val* self, val* p0) { -parser_prod__AVarReassignExpr__n_assign_op_61d(self, p0); +/* method parser_prod#ABraReassignExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ABraReassignExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ABraReassignExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ABraReassignExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AVarReassignExpr#n_value= for (self: AVarReassignExpr, AExpr) */ -void parser_prod__AVarReassignExpr__n_value_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; +/* method parser_prod#ABraReassignExpr#n_args= for (self: ABraReassignExpr, AExprs) */ +void parser_prod__ABraReassignExpr__n_args_61d(val* self, val* p0) { +val* var_node /* var node: AExprs */; var_node = p0; -self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +self->attrs[COLOR_parser_nodes__ABraFormExpr___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; +} } -/* method parser_prod#AVarReassignExpr#n_value= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AVarReassignExpr__n_value_61d(val* self, val* p0) { -parser_prod__AVarReassignExpr__n_value_61d(self, p0); RET_LABEL:; } -/* method parser_prod#AVarReassignExpr#visit_all for (self: AVarReassignExpr, Visitor) */ -void parser_prod__AVarReassignExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TId */; -val* var1 /* : AAssignOp */; -val* var2 /* : AExpr */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 8611); -exit(1); +/* method parser_prod#ABraReassignExpr#n_args= for (self: Object, AExprs) */ +void VIRTUAL_parser_prod__ABraReassignExpr__n_args_61d(val* self, val* p0) { +parser_prod__ABraReassignExpr__n_args_61d(self, p0); /* Direct call parser_prod#ABraReassignExpr#n_args= on */ +RET_LABEL:; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_assign_op", "src/parser/parser_prod.nit", 8612); -exit(1); +/* method parser_prod#ABraReassignExpr#n_assign_op= for (self: ABraReassignExpr, AAssignOp) */ +void parser_prod__ABraReassignExpr__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; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_value", "src/parser/parser_prod.nit", 8613); -exit(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; RET_LABEL:; } -/* method parser_prod#AVarReassignExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AVarReassignExpr__visit_all(val* self, val* p0) { -parser_prod__AVarReassignExpr__visit_all(self, p0); +/* method parser_prod#ABraReassignExpr#n_assign_op= for (self: Object, AAssignOp) */ +void VIRTUAL_parser_prod__ABraReassignExpr__n_assign_op_61d(val* self, val* p0) { +parser_prod__ABraReassignExpr__n_assign_op_61d(self, p0); /* Direct call parser_prod#ABraReassignExpr#n_assign_op= on */ RET_LABEL:; } -/* method parser_prod#ARangeExpr#empty_init for (self: ARangeExpr) */ -void parser_prod__ARangeExpr__empty_init(val* self) { +/* method parser_prod#ABraReassignExpr#n_value= for (self: ABraReassignExpr, AExpr) */ +void parser_prod__ABraReassignExpr__n_value_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on */ +{ +{ /* 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#ARangeExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ARangeExpr__empty_init(val* self) { -parser_prod__ARangeExpr__empty_init(self); +/* method parser_prod#ABraReassignExpr#n_value= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ABraReassignExpr__n_value_61d(val* self, val* p0) { +parser_prod__ABraReassignExpr__n_value_61d(self, p0); /* Direct call parser_prod#ABraReassignExpr#n_value= on */ RET_LABEL:; } -/* method parser_prod#ARangeExpr#init_arangeexpr for (self: ARangeExpr, nullable AExpr, nullable AExpr, nullable AAnnotations) */ -void parser_prod__ARangeExpr__init_arangeexpr(val* self, val* p0, val* p1, val* p2) { -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_expr2 /* var n_expr2: nullable AExpr */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; -var_n_expr = p0; -var_n_expr2 = p1; -var_n_annotations = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ARangeExpr__empty_init]))(self) /* empty_init on */; -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8626); -exit(1); +/* method parser_prod#ABraReassignExpr#visit_all for (self: ABraReassignExpr, Visitor) */ +void parser_prod__ABraReassignExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : AExpr */; +val* var1 /* : AExprs */; +val* var2 /* : AAssignOp */; +val* var3 /* : 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", 4691); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8627); -exit(1); -} else { -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var_n_expr2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8628); -exit(1); +var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4692); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ -if (var_n_expr2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8629); -exit(1); -} else { -((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on */; +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var = NULL; -if (var_n_annotations == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +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", 4693); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; +{ +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", 4694); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +RET_LABEL:; +} +/* method parser_prod#ABraReassignExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ABraReassignExpr__visit_all(val* self, val* p0) { +parser_prod__ABraReassignExpr__visit_all(self, p0); /* Direct call parser_prod#ABraReassignExpr#visit_all on */ +RET_LABEL:; +} +/* method parser_prod#AVarExpr#init_avarexpr for (self: AVarExpr, nullable TId) */ +void parser_prod__AVarExpr__init_avarexpr(val* self, val* p0) { +val* var_n_id /* var n_id: nullable TId */; +var_n_id = p0; +if (unlikely(var_n_id == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4702); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AVarFormExpr___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", "parser/parser_prod.nit", 4703); +show_backtrace(1); } else { +{ /* 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", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } -/* method parser_prod#ARangeExpr#init_arangeexpr for (self: Object, nullable AExpr, nullable AExpr, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ARangeExpr__init_arangeexpr(val* self, val* p0, val* p1, val* p2) { -parser_prod__ARangeExpr__init_arangeexpr(self, p0, p1, p2); +/* method parser_prod#AVarExpr#init_avarexpr for (self: Object, nullable TId) */ +void VIRTUAL_parser_prod__AVarExpr__init_avarexpr(val* self, val* p0) { +parser_prod__AVarExpr__init_avarexpr(self, p0); /* Direct call parser_prod#AVarExpr#init_avarexpr on */ RET_LABEL:; } -/* method parser_prod#ARangeExpr#replace_child for (self: ARangeExpr, ANode, nullable ANode) */ -void parser_prod__ARangeExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AVarExpr#replace_child for (self: AVarExpr, ANode, nullable ANode) */ +void parser_prod__AVarExpr__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 /* : TId */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : AExpr */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : nullable AAnnotations */; -short int var13 /* : Bool */; -val* var14 /* : null */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : null */; +const char* var_class_name; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8638); -exit(1); -} -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype = type_parser_nodes__AExpr.color; -idtype = type_parser_nodes__AExpr.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; -} -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8641); -exit(1); -} -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8644); -exit(1); -} -goto RET_LABEL; -} else { -} -var5 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 8648); -exit(1); -} -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4708); +show_backtrace(1); } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype10 = type_parser_nodes__AExpr.color; -idtype11 = type_parser_nodes__AExpr.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +{ +{ /* 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; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8651); -exit(1); } -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_new_child; /* _n_expr2 on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8654); -exit(1); +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -goto RET_LABEL; -} else { +var1 = var2; } -var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var12 == NULL) { -var13 = 0; /* cannot be null */ +if (var1){ +/* isa TId */ +cltype = type_parser_nodes__TId.color; +idtype = type_parser_nodes__TId.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -} -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var15 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype17 = type_parser_nodes__AAnnotations.color; -idtype18 = type_parser_nodes__AAnnotations.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; -} else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8661); -exit(1); +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", "parser/parser_prod.nit", 4709); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ -} else { -var19 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var19; /* _n_annotations on */ +{ +parser_prod__AVarExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AVarExpr#n_id= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ARangeExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ARangeExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ARangeExpr__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#ARangeExpr#n_expr= for (self: ARangeExpr, AExpr) */ -void parser_prod__ARangeExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_node; /* _n_expr on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#ARangeExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ARangeExpr__n_expr_61d(val* self, val* p0) { -parser_prod__ARangeExpr__n_expr_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ARangeExpr#n_expr2= for (self: ARangeExpr, AExpr) */ -void parser_prod__ARangeExpr__n_expr2_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_node; /* _n_expr2 on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#ARangeExpr#n_expr2= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ARangeExpr__n_expr2_61d(val* self, val* p0) { -parser_prod__ARangeExpr__n_expr2_61d(self, p0); +/* method parser_prod#AVarExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AVarExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AVarExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AVarExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ARangeExpr#n_annotations= for (self: ARangeExpr, nullable AAnnotations) */ -void parser_prod__ARangeExpr__n_annotations_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#AVarExpr#n_id= for (self: AVarExpr, TId) */ +void parser_prod__AVarExpr__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TId */; 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 */ +self->attrs[COLOR_parser_nodes__AVarFormExpr___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; } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { } RET_LABEL:; } -/* method parser_prod#ARangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ARangeExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__ARangeExpr__n_annotations_61d(self, p0); +/* method parser_prod#AVarExpr#n_id= for (self: Object, TId) */ +void VIRTUAL_parser_prod__AVarExpr__n_id_61d(val* self, val* p0) { +parser_prod__AVarExpr__n_id_61d(self, p0); /* Direct call parser_prod#AVarExpr#n_id= on */ RET_LABEL:; } -/* method parser_prod#ARangeExpr#visit_all for (self: ARangeExpr, Visitor) */ -void parser_prod__ARangeExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AVarExpr#visit_all for (self: AVarExpr, Visitor) */ +void parser_prod__AVarExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : AExpr */; -val* var1 /* : AExpr */; -val* var2 /* : nullable AAnnotations */; -val* var3 /* : null */; -short int var4 /* : Bool */; -val* var5 /* : nullable AAnnotations */; +val* var /* : TId */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8691); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 8692); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var3 = NULL; -if (var2 == NULL) { -var4 = 0; /* is null */ -} else { -var4 = 1; /* arg is null and recv is not */ -} -if (var4){ -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8694); -exit(1); +var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4723); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#ARangeExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ARangeExpr__visit_all(val* self, val* p0) { -parser_prod__ARangeExpr__visit_all(self, p0); +/* method parser_prod#AVarExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AVarExpr__visit_all(val* self, val* p0) { +parser_prod__AVarExpr__visit_all(self, p0); /* Direct call parser_prod#AVarExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ACrangeExpr#empty_init for (self: ACrangeExpr) */ -void parser_prod__ACrangeExpr__empty_init(val* self) { -RET_LABEL:; +/* method parser_prod#AVarAssignExpr#init_avarassignexpr for (self: AVarAssignExpr, nullable TId, nullable TAssign, nullable AExpr) */ +void parser_prod__AVarAssignExpr__init_avarassignexpr(val* self, val* p0, val* p1, val* p2) { +val* var_n_id /* var n_id: nullable TId */; +val* var_n_assign /* var n_assign: nullable TAssign */; +val* var_n_value /* var n_value: nullable AExpr */; +var_n_id = p0; +var_n_assign = p1; +var_n_value = p2; +if (unlikely(var_n_id == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4733); +show_backtrace(1); } -/* method parser_prod#ACrangeExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ACrangeExpr__empty_init(val* self) { -parser_prod__ACrangeExpr__empty_init(self); -RET_LABEL:; +self->attrs[COLOR_parser_nodes__AVarFormExpr___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", "parser/parser_prod.nit", 4734); +show_backtrace(1); +} else { +{ /* 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", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -/* method parser_prod#ACrangeExpr#init_acrangeexpr for (self: ACrangeExpr, nullable TObra, nullable AExpr, nullable AExpr, nullable TCbra, nullable AAnnotations) */ -void parser_prod__ACrangeExpr__init_acrangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { -val* var_n_obra /* var n_obra: nullable TObra */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_expr2 /* var n_expr2: nullable AExpr */; -val* var_n_cbra /* var n_cbra: nullable TCbra */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; -var_n_obra = p0; -var_n_expr = p1; -var_n_expr2 = p2; -var_n_cbra = p3; -var_n_annotations = p4; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACrangeExpr__empty_init]))(self) /* empty_init on */; -if (var_n_obra == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8710); -exit(1); +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_n_obra; /* _n_obra on */ -if (var_n_obra == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8711); -exit(1); -} else { -((void (*)(val*, val*))(var_n_obra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_obra, self) /* parent= on */; } -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8712); -exit(1); +if (unlikely(var_n_assign == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4735); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8713); -exit(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", 4736); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; +{ /* 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); } -if (var_n_expr2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8714); -exit(1); +var_n_assign->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ -if (var_n_expr2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8715); -exit(1); -} else { -((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on */; } -if (var_n_cbra == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8716); -exit(1); +if (unlikely(var_n_value == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4737); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_n_cbra; /* _n_cbra on */ -if (var_n_cbra == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8717); -exit(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", 4738); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_cbra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cbra, self) /* parent= on */; +{ /* 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); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var = NULL; -if (var_n_annotations == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +var_n_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; } -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; -} else { } RET_LABEL:; } -/* method parser_prod#ACrangeExpr#init_acrangeexpr for (self: Object, nullable TObra, nullable AExpr, nullable AExpr, nullable TCbra, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ACrangeExpr__init_acrangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { -parser_prod__ACrangeExpr__init_acrangeexpr(self, p0, p1, p2, p3, p4); +/* method parser_prod#AVarAssignExpr#init_avarassignexpr for (self: Object, nullable TId, nullable TAssign, nullable AExpr) */ +void VIRTUAL_parser_prod__AVarAssignExpr__init_avarassignexpr(val* self, val* p0, val* p1, val* p2) { +parser_prod__AVarAssignExpr__init_avarassignexpr(self, p0, p1, p2); /* Direct call parser_prod#AVarAssignExpr#init_avarassignexpr on */ RET_LABEL:; } -/* method parser_prod#ACrangeExpr#replace_child for (self: ACrangeExpr, ANode, nullable ANode) */ -void parser_prod__ACrangeExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AVarAssignExpr#replace_child for (self: AVarAssignExpr, ANode, nullable ANode) */ +void parser_prod__AVarAssignExpr__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 /* : TObra */; +val* var /* : TId */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : AExpr */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : TAssign */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : AExpr */; -short int var13 /* : Bool */; -val* var14 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : TCbra */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : AExpr */; short int var20 /* : Bool */; -val* var21 /* : null */; -short int var22 /* : Bool */; +short int var21 /* : Bool */; short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var26 /* : nullable AAnnotations */; -short int var27 /* : Bool */; -val* var28 /* : null */; -short int var29 /* : Bool */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : null */; +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__ACrangeExpr___n_obra].val; /* _n_obra on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_obra", "src/parser/parser_prod.nit", 8726); -exit(1); +var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4743); +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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TId */ +cltype = type_parser_nodes__TId.color; +idtype = type_parser_nodes__TId.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TObra */ -cltype = type_parser_nodes__TObra.color; -idtype = type_parser_nodes__TObra.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8729); -exit(1); } -self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_new_child; /* _n_obra on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8732); -exit(1); +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", "parser/parser_prod.nit", 4744); +show_backtrace(1); +} +{ +parser_prod__AVarAssignExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AVarAssignExpr#n_id= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8736); -exit(1); +var8 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4747); +show_backtrace(1); } -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype10 = type_parser_nodes__AExpr.color; -idtype11 = type_parser_nodes__AExpr.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8739); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8742); -exit(1); +var9 = var10; } -goto RET_LABEL; +if (var9){ +/* isa TAssign */ +cltype16 = type_parser_nodes__TAssign.color; +idtype17 = type_parser_nodes__TAssign.id; +if(var_new_child == NULL) { +var15 = 0; } else { -} -var12 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 8746); -exit(1); -} -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var15 = 1; /* arg is null and recv is not */ +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype17 = type_parser_nodes__AExpr.color; -idtype18 = type_parser_nodes__AExpr.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; -} else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8749); -exit(1); +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`", "TAssign", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4748); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_new_child; /* _n_expr2 on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8752); -exit(1); +{ +parser_prod__AVarAssignExpr__n_assign_61d(self, var_new_child); /* Direct call parser_prod#AVarAssignExpr#n_assign= on */ } goto RET_LABEL; } else { } -var19 = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val; /* _n_cbra on */ -if (var19 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cbra", "src/parser/parser_prod.nit", 8756); -exit(1); -} -var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on */; -if (var20){ -var21 = NULL; -if (var_new_child == NULL) { -var22 = 0; /* is null */ -} else { -var22 = 1; /* arg is null and recv is not */ +var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4751); +show_backtrace(1); } -if (var22){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TCbra */ -cltype24 = type_parser_nodes__TCbra.color; -idtype25 = type_parser_nodes__TCbra.id; -if(cltype24 >= var_new_child->type->table_size) { -var23 = 0; -} else { -var23 = var_new_child->type->type_table[cltype24] == idtype25; +{ +{ /* 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; } -if (!var23) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8759); -exit(1); } -self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_new_child; /* _n_cbra on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8762); -exit(1); +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -goto RET_LABEL; -} else { +var20 = var21; } -var26 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var26 == NULL) { -var27 = 0; /* cannot be null */ +if (var20){ +/* isa AExpr */ +cltype27 = type_parser_nodes__AExpr.color; +idtype28 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var26 = 0; } else { -var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on */; -} -if (var27){ -var28 = NULL; -if (var_new_child == NULL) { -var29 = 0; /* is null */ +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -var29 = 1; /* arg is null and recv is not */ +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -if (var29){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype31 = type_parser_nodes__AAnnotations.color; -idtype32 = type_parser_nodes__AAnnotations.id; -if(cltype31 >= var_new_child->type->table_size) { -var30 = 0; -} else { -var30 = var_new_child->type->type_table[cltype31] == idtype32; } -if (!var30) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8769); -exit(1); +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4752); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ -} else { -var33 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var33; /* _n_annotations on */ +{ +parser_prod__AVarAssignExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#AVarAssignExpr#n_value= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ACrangeExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ACrangeExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ACrangeExpr__replace_child(self, p0, p1); +/* method parser_prod#AVarAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AVarAssignExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AVarAssignExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AVarAssignExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ACrangeExpr#n_obra= for (self: ACrangeExpr, TObra) */ -void parser_prod__ACrangeExpr__n_obra_61d(val* self, val* p0) { -val* var_node /* var node: TObra */; +/* method parser_prod#AVarAssignExpr#n_id= for (self: AVarAssignExpr, TId) */ +void parser_prod__AVarAssignExpr__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TId */; var_node = p0; -self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_node; /* _n_obra on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +self->attrs[COLOR_parser_nodes__AVarFormExpr___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; } -/* method parser_prod#ACrangeExpr#n_obra= for (self: Object, TObra) */ -void VIRTUAL_parser_prod__ACrangeExpr__n_obra_61d(val* self, val* p0) { -parser_prod__ACrangeExpr__n_obra_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#ACrangeExpr#n_expr= for (self: ACrangeExpr, AExpr) */ -void parser_prod__ACrangeExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_node; /* _n_expr on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#ACrangeExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ACrangeExpr__n_expr_61d(val* self, val* p0) { -parser_prod__ACrangeExpr__n_expr_61d(self, p0); +/* method parser_prod#AVarAssignExpr#n_id= for (self: Object, TId) */ +void VIRTUAL_parser_prod__AVarAssignExpr__n_id_61d(val* self, val* p0) { +parser_prod__AVarAssignExpr__n_id_61d(self, p0); /* Direct call parser_prod#AVarAssignExpr#n_id= on */ RET_LABEL:; } -/* method parser_prod#ACrangeExpr#n_expr2= for (self: ACrangeExpr, AExpr) */ -void parser_prod__ACrangeExpr__n_expr2_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; +/* method parser_prod#AVarAssignExpr#n_assign= for (self: AVarAssignExpr, TAssign) */ +void parser_prod__AVarAssignExpr__n_assign_61d(val* self, val* p0) { +val* var_node /* var node: TAssign */; var_node = p0; -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_node; /* _n_expr2 on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +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; } -/* method parser_prod#ACrangeExpr#n_expr2= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ACrangeExpr__n_expr2_61d(val* self, val* p0) { -parser_prod__ACrangeExpr__n_expr2_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#ACrangeExpr#n_cbra= for (self: ACrangeExpr, TCbra) */ -void parser_prod__ACrangeExpr__n_cbra_61d(val* self, val* p0) { -val* var_node /* var node: TCbra */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_node; /* _n_cbra on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#ACrangeExpr#n_cbra= for (self: Object, TCbra) */ -void VIRTUAL_parser_prod__ACrangeExpr__n_cbra_61d(val* self, val* p0) { -parser_prod__ACrangeExpr__n_cbra_61d(self, p0); +/* method parser_prod#AVarAssignExpr#n_assign= for (self: Object, TAssign) */ +void VIRTUAL_parser_prod__AVarAssignExpr__n_assign_61d(val* self, val* p0) { +parser_prod__AVarAssignExpr__n_assign_61d(self, p0); /* Direct call parser_prod#AVarAssignExpr#n_assign= on */ RET_LABEL:; } -/* method parser_prod#ACrangeExpr#n_annotations= for (self: ACrangeExpr, nullable AAnnotations) */ -void parser_prod__ACrangeExpr__n_annotations_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#AVarAssignExpr#n_value= for (self: AVarAssignExpr, AExpr) */ +void parser_prod__AVarAssignExpr__n_value_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 */ +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 */ +RET_LABEL1:(void)0; } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { } RET_LABEL:; } -/* method parser_prod#ACrangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ACrangeExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__ACrangeExpr__n_annotations_61d(self, p0); +/* method parser_prod#AVarAssignExpr#n_value= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AVarAssignExpr__n_value_61d(val* self, val* p0) { +parser_prod__AVarAssignExpr__n_value_61d(self, p0); /* Direct call parser_prod#AVarAssignExpr#n_value= on */ RET_LABEL:; } -/* method parser_prod#ACrangeExpr#visit_all for (self: ACrangeExpr, Visitor) */ -void parser_prod__ACrangeExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AVarAssignExpr#visit_all for (self: AVarAssignExpr, Visitor) */ +void parser_prod__AVarAssignExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TObra */; -val* var1 /* : AExpr */; +val* var /* : TId */; +val* var1 /* : TAssign */; val* var2 /* : AExpr */; -val* var3 /* : TCbra */; -val* var4 /* : nullable AAnnotations */; -val* var5 /* : null */; -short int var6 /* : Bool */; -val* var7 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val; /* _n_obra on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_obra", "src/parser/parser_prod.nit", 8809); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8810); -exit(1); +var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4776); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 8811); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -var3 = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val; /* _n_cbra on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cbra", "src/parser/parser_prod.nit", 8812); -exit(1); +var1 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4777); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var5 = NULL; -if (var4 == NULL) { -var6 = 0; /* is null */ -} else { -var6 = 1; /* arg is null and recv is not */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8814); -exit(1); +var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4778); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#ACrangeExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ACrangeExpr__visit_all(val* self, val* p0) { -parser_prod__ACrangeExpr__visit_all(self, p0); +/* method parser_prod#AVarAssignExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AVarAssignExpr__visit_all(val* self, val* p0) { +parser_prod__AVarAssignExpr__visit_all(self, p0); /* Direct call parser_prod#AVarAssignExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AOrangeExpr#empty_init for (self: AOrangeExpr) */ -void parser_prod__AOrangeExpr__empty_init(val* self) { -RET_LABEL:; +/* method parser_prod#AVarReassignExpr#init_avarreassignexpr for (self: AVarReassignExpr, nullable TId, nullable AAssignOp, nullable AExpr) */ +void parser_prod__AVarReassignExpr__init_avarreassignexpr(val* self, val* p0, val* p1, val* p2) { +val* var_n_id /* var n_id: nullable TId */; +val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */; +val* var_n_value /* var n_value: nullable AExpr */; +var_n_id = p0; +var_n_assign_op = p1; +var_n_value = p2; +if (unlikely(var_n_id == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4788); +show_backtrace(1); } -/* method parser_prod#AOrangeExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AOrangeExpr__empty_init(val* self) { -parser_prod__AOrangeExpr__empty_init(self); -RET_LABEL:; +self->attrs[COLOR_parser_nodes__AVarFormExpr___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", "parser/parser_prod.nit", 4789); +show_backtrace(1); +} else { +{ /* 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", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -/* method parser_prod#AOrangeExpr#init_aorangeexpr for (self: AOrangeExpr, nullable TObra, nullable AExpr, nullable AExpr, nullable TObra, nullable AAnnotations) */ -void parser_prod__AOrangeExpr__init_aorangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { -val* var_n_obra /* var n_obra: nullable TObra */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_expr2 /* var n_expr2: nullable AExpr */; -val* var_n_cbra /* var n_cbra: nullable TObra */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; -var_n_obra = p0; -var_n_expr = p1; -var_n_expr2 = p2; -var_n_cbra = p3; -var_n_annotations = p4; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOrangeExpr__empty_init]))(self) /* empty_init on */; -if (var_n_obra == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8830); -exit(1); +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_n_obra; /* _n_obra on */ -if (var_n_obra == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8831); -exit(1); -} else { -((void (*)(val*, val*))(var_n_obra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_obra, self) /* parent= on */; } -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8832); -exit(1); +if (unlikely(var_n_assign_op == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4790); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8833); -exit(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", 4791); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; +{ /* 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); } -if (var_n_expr2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8834); -exit(1); +var_n_assign_op->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on */ -if (var_n_expr2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8835); -exit(1); -} else { -((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on */; } -if (var_n_cbra == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8836); -exit(1); +if (unlikely(var_n_value == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4792); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_n_cbra; /* _n_cbra on */ -if (var_n_cbra == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8837); -exit(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", 4793); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_cbra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cbra, self) /* parent= on */; +{ /* 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); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var = NULL; -if (var_n_annotations == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +var_n_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; } -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; -} else { } RET_LABEL:; } -/* method parser_prod#AOrangeExpr#init_aorangeexpr for (self: Object, nullable TObra, nullable AExpr, nullable AExpr, nullable TObra, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AOrangeExpr__init_aorangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { -parser_prod__AOrangeExpr__init_aorangeexpr(self, p0, p1, p2, p3, p4); +/* method parser_prod#AVarReassignExpr#init_avarreassignexpr for (self: Object, nullable TId, nullable AAssignOp, nullable AExpr) */ +void VIRTUAL_parser_prod__AVarReassignExpr__init_avarreassignexpr(val* self, val* p0, val* p1, val* p2) { +parser_prod__AVarReassignExpr__init_avarreassignexpr(self, p0, p1, p2); /* Direct call parser_prod#AVarReassignExpr#init_avarreassignexpr on */ RET_LABEL:; } -/* method parser_prod#AOrangeExpr#replace_child for (self: AOrangeExpr, ANode, nullable ANode) */ -void parser_prod__AOrangeExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AVarReassignExpr#replace_child for (self: AVarReassignExpr, ANode, nullable ANode) */ +void parser_prod__AVarReassignExpr__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 /* : TObra */; +val* var /* : TId */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : AExpr */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : AAssignOp */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : AExpr */; -short int var13 /* : Bool */; -val* var14 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : TObra */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : AExpr */; short int var20 /* : Bool */; -val* var21 /* : null */; -short int var22 /* : Bool */; +short int var21 /* : Bool */; short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var26 /* : nullable AAnnotations */; -short int var27 /* : Bool */; -val* var28 /* : null */; -short int var29 /* : Bool */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : null */; +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__AOrangeExpr___n_obra].val; /* _n_obra on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_obra", "src/parser/parser_prod.nit", 8846); -exit(1); +var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4798); +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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TId */ +cltype = type_parser_nodes__TId.color; +idtype = type_parser_nodes__TId.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TObra */ -cltype = type_parser_nodes__TObra.color; -idtype = type_parser_nodes__TObra.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8849); -exit(1); } -self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_new_child; /* _n_obra on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8852); -exit(1); +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", "parser/parser_prod.nit", 4799); +show_backtrace(1); +} +{ +parser_prod__AVarReassignExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AVarReassignExpr#n_id= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8856); -exit(1); +var8 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4802); +show_backtrace(1); } -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype10 = type_parser_nodes__AExpr.color; -idtype11 = type_parser_nodes__AExpr.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8859); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8862); -exit(1); +var9 = var10; } -goto RET_LABEL; +if (var9){ +/* isa AAssignOp */ +cltype16 = type_parser_nodes__AAssignOp.color; +idtype17 = type_parser_nodes__AAssignOp.id; +if(var_new_child == NULL) { +var15 = 0; } else { -} -var12 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 8866); -exit(1); -} -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var15 = 1; /* arg is null and recv is not */ +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype17 = type_parser_nodes__AExpr.color; -idtype18 = type_parser_nodes__AExpr.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; -} else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8869); -exit(1); +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`", "AAssignOp", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4803); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_new_child; /* _n_expr2 on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8872); -exit(1); +{ +parser_prod__AVarReassignExpr__n_assign_op_61d(self, var_new_child); /* Direct call parser_prod#AVarReassignExpr#n_assign_op= on */ } goto RET_LABEL; } else { } -var19 = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val; /* _n_cbra on */ -if (var19 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cbra", "src/parser/parser_prod.nit", 8876); -exit(1); +var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4806); +show_backtrace(1); } -var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on */; -if (var20){ -var21 = NULL; -if (var_new_child == NULL) { -var22 = 0; /* is null */ -} else { -var22 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var22){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TObra */ -cltype24 = type_parser_nodes__TObra.color; -idtype25 = type_parser_nodes__TObra.id; -if(cltype24 >= var_new_child->type->table_size) { -var23 = 0; -} else { -var23 = var_new_child->type->type_table[cltype24] == idtype25; } -if (!var23) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8879); -exit(1); +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_new_child; /* _n_cbra on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8882); -exit(1); -} -goto RET_LABEL; -} else { +var20 = var21; } -var26 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var26 == NULL) { -var27 = 0; /* cannot be null */ +if (var20){ +/* isa AExpr */ +cltype27 = type_parser_nodes__AExpr.color; +idtype28 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var26 = 0; } else { -var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on */; -} -if (var27){ -var28 = NULL; -if (var_new_child == NULL) { -var29 = 0; /* is null */ +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -var29 = 1; /* arg is null and recv is not */ +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -if (var29){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype31 = type_parser_nodes__AAnnotations.color; -idtype32 = type_parser_nodes__AAnnotations.id; -if(cltype31 >= var_new_child->type->table_size) { -var30 = 0; -} else { -var30 = var_new_child->type->type_table[cltype31] == idtype32; } -if (!var30) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8889); -exit(1); +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4807); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ -} else { -var33 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var33; /* _n_annotations on */ +{ +parser_prod__AVarReassignExpr__n_value_61d(self, var_new_child); /* Direct call parser_prod#AVarReassignExpr#n_value= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AOrangeExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AOrangeExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AOrangeExpr__replace_child(self, p0, p1); +/* method parser_prod#AVarReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AVarReassignExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AVarReassignExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AVarReassignExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AOrangeExpr#n_obra= for (self: AOrangeExpr, TObra) */ -void parser_prod__AOrangeExpr__n_obra_61d(val* self, val* p0) { -val* var_node /* var node: TObra */; +/* method parser_prod#AVarReassignExpr#n_id= for (self: AVarReassignExpr, TId) */ +void parser_prod__AVarReassignExpr__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TId */; var_node = p0; -self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_node; /* _n_obra on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +self->attrs[COLOR_parser_nodes__AVarFormExpr___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; } -/* method parser_prod#AOrangeExpr#n_obra= for (self: Object, TObra) */ -void VIRTUAL_parser_prod__AOrangeExpr__n_obra_61d(val* self, val* p0) { -parser_prod__AOrangeExpr__n_obra_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AOrangeExpr#n_expr= for (self: AOrangeExpr, AExpr) */ -void parser_prod__AOrangeExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val = var_node; /* _n_expr on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AOrangeExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AOrangeExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AOrangeExpr__n_expr_61d(self, p0); +/* method parser_prod#AVarReassignExpr#n_id= for (self: Object, TId) */ +void VIRTUAL_parser_prod__AVarReassignExpr__n_id_61d(val* self, val* p0) { +parser_prod__AVarReassignExpr__n_id_61d(self, p0); /* Direct call parser_prod#AVarReassignExpr#n_id= on */ RET_LABEL:; } -/* method parser_prod#AOrangeExpr#n_expr2= for (self: AOrangeExpr, AExpr) */ -void parser_prod__AOrangeExpr__n_expr2_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; +/* method parser_prod#AVarReassignExpr#n_assign_op= for (self: AVarReassignExpr, AAssignOp) */ +void parser_prod__AVarReassignExpr__n_assign_op_61d(val* self, val* p0) { +val* var_node /* var node: AAssignOp */; var_node = p0; -self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val = var_node; /* _n_expr2 on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +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; } -/* method parser_prod#AOrangeExpr#n_expr2= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AOrangeExpr__n_expr2_61d(val* self, val* p0) { -parser_prod__AOrangeExpr__n_expr2_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AOrangeExpr#n_cbra= for (self: AOrangeExpr, TObra) */ -void parser_prod__AOrangeExpr__n_cbra_61d(val* self, val* p0) { -val* var_node /* var node: TObra */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_node; /* _n_cbra on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AOrangeExpr#n_cbra= for (self: Object, TObra) */ -void VIRTUAL_parser_prod__AOrangeExpr__n_cbra_61d(val* self, val* p0) { -parser_prod__AOrangeExpr__n_cbra_61d(self, p0); +/* method parser_prod#AVarReassignExpr#n_assign_op= for (self: Object, AAssignOp) */ +void VIRTUAL_parser_prod__AVarReassignExpr__n_assign_op_61d(val* self, val* p0) { +parser_prod__AVarReassignExpr__n_assign_op_61d(self, p0); /* Direct call parser_prod#AVarReassignExpr#n_assign_op= on */ RET_LABEL:; } -/* method parser_prod#AOrangeExpr#n_annotations= for (self: AOrangeExpr, nullable AAnnotations) */ -void parser_prod__AOrangeExpr__n_annotations_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#AVarReassignExpr#n_value= for (self: AVarReassignExpr, AExpr) */ +void parser_prod__AVarReassignExpr__n_value_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 */ +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 */ +RET_LABEL1:(void)0; } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { } RET_LABEL:; } -/* method parser_prod#AOrangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AOrangeExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__AOrangeExpr__n_annotations_61d(self, p0); +/* method parser_prod#AVarReassignExpr#n_value= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AVarReassignExpr__n_value_61d(val* self, val* p0) { +parser_prod__AVarReassignExpr__n_value_61d(self, p0); /* Direct call parser_prod#AVarReassignExpr#n_value= on */ RET_LABEL:; } -/* method parser_prod#AOrangeExpr#visit_all for (self: AOrangeExpr, Visitor) */ -void parser_prod__AOrangeExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AVarReassignExpr#visit_all for (self: AVarReassignExpr, Visitor) */ +void parser_prod__AVarReassignExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TObra */; -val* var1 /* : AExpr */; +val* var /* : TId */; +val* var1 /* : AAssignOp */; val* var2 /* : AExpr */; -val* var3 /* : TObra */; -val* var4 /* : nullable AAnnotations */; -val* var5 /* : null */; -short int var6 /* : Bool */; -val* var7 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val; /* _n_obra on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_obra", "src/parser/parser_prod.nit", 8929); -exit(1); +var = self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val; /* _n_id on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4831); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 8930); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr2", "src/parser/parser_prod.nit", 8931); -exit(1); +var1 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4832); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -var3 = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val; /* _n_cbra on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cbra", "src/parser/parser_prod.nit", 8932); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var5 = NULL; -if (var4 == NULL) { -var6 = 0; /* is null */ +var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4833); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +RET_LABEL:; +} +/* method parser_prod#AVarReassignExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AVarReassignExpr__visit_all(val* self, val* p0) { +parser_prod__AVarReassignExpr__visit_all(self, p0); /* Direct call parser_prod#AVarReassignExpr#visit_all on */ +RET_LABEL:; +} +/* method parser_prod#ACrangeExpr#init_acrangeexpr for (self: ACrangeExpr, nullable TObra, nullable AExpr, nullable AExpr, nullable TCbra, nullable AAnnotations) */ +void parser_prod__ACrangeExpr__init_acrangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +val* var_n_obra /* var n_obra: nullable TObra */; +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +val* var_n_cbra /* var n_cbra: nullable TCbra */; +val* var_n_annotations /* var n_annotations: nullable AAnnotations */; +val* var /* : null */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +var_n_obra = p0; +var_n_expr = p1; +var_n_expr2 = p2; +var_n_cbra = p3; +var_n_annotations = p4; +if (unlikely(var_n_obra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4900); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_n_obra; /* _n_obra on */ +if (var_n_obra == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4901); +show_backtrace(1); } else { -var6 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_obra,self) on */ +if (unlikely(var_n_obra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_obra->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8934); -exit(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4902); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ARangeExpr___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", 4903); +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); } -RET_LABEL:; +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -/* method parser_prod#AOrangeExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AOrangeExpr__visit_all(val* self, val* p0) { -parser_prod__AOrangeExpr__visit_all(self, p0); -RET_LABEL:; } -/* method parser_prod#AArrayExpr#empty_init for (self: AArrayExpr) */ -void parser_prod__AArrayExpr__empty_init(val* self) { -RET_LABEL:; +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4904); +show_backtrace(1); } -/* method parser_prod#AArrayExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AArrayExpr__empty_init(val* self) { -parser_prod__AArrayExpr__empty_init(self); -RET_LABEL:; +self->attrs[COLOR_parser_nodes__ARangeExpr___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", 4905); +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); } -/* method parser_prod#AArrayExpr#init_aarrayexpr for (self: AArrayExpr, nullable AExprs, nullable AAnnotations) */ -void parser_prod__AArrayExpr__init_aarrayexpr(val* self, val* p0, val* p1) { -val* var_n_exprs /* var n_exprs: nullable AExprs */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; -var_n_exprs = p0; -var_n_annotations = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AArrayExpr__empty_init]))(self) /* empty_init on */; -if (var_n_exprs == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8947); -exit(1); +var_n_expr2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_n_exprs; /* _n_exprs on */ -if (var_n_exprs == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 8948); -exit(1); +} +if (unlikely(var_n_cbra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4906); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_n_cbra; /* _n_cbra on */ +if (var_n_cbra == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4907); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_exprs->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_exprs, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_cbra,self) on */ +if (unlikely(var_n_cbra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var_n_cbra->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL4:(void)0; +} +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ var = NULL; if (var_n_annotations == NULL) { -var1 = 0; /* is null */ +var5 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ +var5 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var9 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var8 = var9; +} +var10 = !var8; +var6 = var10; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +var5 = var6; +} +if (var5){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL11:(void)0; +} } -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#AArrayExpr#init_aarrayexpr for (self: Object, nullable AExprs, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AArrayExpr__init_aarrayexpr(val* self, val* p0, val* p1) { -parser_prod__AArrayExpr__init_aarrayexpr(self, p0, p1); +/* method parser_prod#ACrangeExpr#init_acrangeexpr for (self: Object, nullable TObra, nullable AExpr, nullable AExpr, nullable TCbra, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ACrangeExpr__init_acrangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +parser_prod__ACrangeExpr__init_acrangeexpr(self, p0, p1, p2, p3, p4); /* Direct call parser_prod#ACrangeExpr#init_acrangeexpr on */ RET_LABEL:; } -/* method parser_prod#AArrayExpr#replace_child for (self: AArrayExpr, ANode, nullable ANode) */ -void parser_prod__AArrayExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ACrangeExpr#replace_child for (self: ACrangeExpr, ANode, nullable ANode) */ +void parser_prod__ACrangeExpr__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 /* : AExprs */; +val* var /* : TObra */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : nullable AAnnotations */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : AExpr */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : AExpr */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : TCbra */; +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 AAnnotations */; +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__AArrayExpr___n_exprs].val; /* _n_exprs on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 8957); -exit(1); +var = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val; /* _n_obra on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_obra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4914); +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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TObra */ +cltype = type_parser_nodes__TObra.color; +idtype = type_parser_nodes__TObra.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExprs */ -cltype = type_parser_nodes__AExprs.color; -idtype = type_parser_nodes__AExprs.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8960); -exit(1); } -self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_new_child; /* _n_exprs on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 8963); -exit(1); +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`", "TObra", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4915); +show_backtrace(1); +} +{ +parser_prod__ACrangeExpr__n_obra_61d(self, var_new_child); /* Direct call parser_prod#ACrangeExpr#n_obra= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ -} else { -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; +var8 = self->attrs[COLOR_parser_nodes__ARangeExpr___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", 4918); +show_backtrace(1); } -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype10 = type_parser_nodes__AAnnotations.color; -idtype11 = type_parser_nodes__AAnnotations.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 8970); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +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 { -var12 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on */ +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", 4919); +show_backtrace(1); +} +{ +parser_prod__ACrangeExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#ACrangeExpr#n_expr= on */ } goto RET_LABEL; } else { } -RET_LABEL:; +var19 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4922); +show_backtrace(1); } -/* method parser_prod#AArrayExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AArrayExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AArrayExpr__replace_child(self, p0, p1); -RET_LABEL:; +{ +{ /* 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; } -/* method parser_prod#AArrayExpr#n_exprs= for (self: AArrayExpr, AExprs) */ -void parser_prod__AArrayExpr__n_exprs_61d(val* self, val* p0) { -val* var_node /* var node: AExprs */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_node; /* _n_exprs on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; } -/* method parser_prod#AArrayExpr#n_exprs= for (self: Object, AExprs) */ -void VIRTUAL_parser_prod__AArrayExpr__n_exprs_61d(val* self, val* p0) { -parser_prod__AArrayExpr__n_exprs_61d(self, p0); -RET_LABEL:; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -/* method parser_prod#AArrayExpr#n_annotations= for (self: AArrayExpr, nullable AAnnotations) */ -void parser_prod__AArrayExpr__n_annotations_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : 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 */ +var20 = var21; +} +if (var20){ +/* isa AExpr */ +cltype27 = type_parser_nodes__AExpr.color; +idtype28 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var26 = 0; } else { -var1 = 1; /* arg is null and recv is not */ +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; +} else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +} +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4923); +show_backtrace(1); +} +{ +parser_prod__ACrangeExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#ACrangeExpr#n_expr2= on */ +} +goto RET_LABEL; } else { } -RET_LABEL:; +var30 = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val; /* _n_cbra on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_cbra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4926); +show_backtrace(1); } -/* method parser_prod#AArrayExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AArrayExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__AArrayExpr__n_annotations_61d(self, p0); -RET_LABEL:; +{ +{ /* 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; } -/* method parser_prod#AArrayExpr#visit_all for (self: AArrayExpr, Visitor) */ -void parser_prod__AArrayExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : AExprs */; -val* var1 /* : nullable AAnnotations */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : nullable AAnnotations */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 8995); -exit(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 8997); -exit(1); +var31 = var32; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; +if (var31){ +/* isa TCbra */ +cltype38 = type_parser_nodes__TCbra.color; +idtype39 = type_parser_nodes__TCbra.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; } -RET_LABEL:; -} -/* method parser_prod#AArrayExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AArrayExpr__visit_all(val* self, val* p0) { -parser_prod__AArrayExpr__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#ASelfExpr#empty_init for (self: ASelfExpr) */ -void parser_prod__ASelfExpr__empty_init(val* self) { -RET_LABEL:; } -/* method parser_prod#ASelfExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ASelfExpr__empty_init(val* self) { -parser_prod__ASelfExpr__empty_init(self); -RET_LABEL:; +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`", "TCbra", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4927); +show_backtrace(1); } -/* method parser_prod#ASelfExpr#init_aselfexpr for (self: ASelfExpr, nullable TKwself, nullable AAnnotations) */ -void parser_prod__ASelfExpr__init_aselfexpr(val* self, val* p0, val* p1) { -val* var_n_kwself /* var n_kwself: nullable TKwself */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; -var_n_kwself = p0; -var_n_annotations = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASelfExpr__empty_init]))(self) /* empty_init on */; -if (var_n_kwself == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9010); -exit(1); +{ +parser_prod__ACrangeExpr__n_cbra_61d(self, var_new_child); /* Direct call parser_prod#ACrangeExpr#n_cbra= on */ } -self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_n_kwself; /* _n_kwself on */ -if (var_n_kwself == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9011); -exit(1); +goto RET_LABEL; } else { -((void (*)(val*, val*))(var_n_kwself->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwself, self) /* parent= on */; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var = NULL; -if (var_n_annotations == NULL) { -var1 = 0; /* is null */ +var41 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var41 == NULL) { +var42 = 0; /* cannot be null */ } else { -var1 = 1; /* arg is null and recv is not */ +{ /* 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 (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; -} else { } -RET_LABEL:; +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; } -/* method parser_prod#ASelfExpr#init_aselfexpr for (self: Object, nullable TKwself, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ASelfExpr__init_aselfexpr(val* self, val* p0, val* p1) { -parser_prod__ASelfExpr__init_aselfexpr(self, p0, p1); -RET_LABEL:; +var42 = var43; } -/* method parser_prod#ASelfExpr#replace_child for (self: ASelfExpr, ANode, nullable ANode) */ -void parser_prod__ASelfExpr__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 TKwself */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -int cltype; -int idtype; -val* var5 /* : nullable AAnnotations */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : null */; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val; /* _n_kwself on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ +if (var42){ +/* isa nullable AAnnotations */ +cltype49 = type_nullable_parser_nodes__AAnnotations.color; +idtype50 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var48 = 1; } else { -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -} -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +if(cltype49 >= var_new_child->type->table_size) { +var48 = 0; } else { -var3 = 1; /* arg is null and recv is not */ +var48 = var_new_child->type->type_table[cltype49] == idtype50; } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwself */ -cltype = type_parser_nodes__TKwself.color; -idtype = type_parser_nodes__TKwself.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9023); -exit(1); +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 AAnnotations", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4931); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_new_child; /* _n_kwself on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9026); -exit(1); +{ +parser_prod__ACrangeExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#ACrangeExpr#n_annotations= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ -} else { -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; +RET_LABEL:; } -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +/* method parser_prod#ACrangeExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ACrangeExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ACrangeExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ACrangeExpr#replace_child on */ +RET_LABEL:; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype10 = type_parser_nodes__AAnnotations.color; -idtype11 = type_parser_nodes__AAnnotations.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +/* method parser_prod#ACrangeExpr#n_obra= for (self: ACrangeExpr, TObra) */ +void parser_prod__ACrangeExpr__n_obra_61d(val* self, val* p0) { +val* var_node /* var node: TObra */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val = var_node; /* _n_obra 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 (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9033); -exit(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ -} else { -var12 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on */ +RET_LABEL:; +} +/* method parser_prod#ACrangeExpr#n_obra= for (self: Object, TObra) */ +void VIRTUAL_parser_prod__ACrangeExpr__n_obra_61d(val* self, val* p0) { +parser_prod__ACrangeExpr__n_obra_61d(self, p0); /* Direct call parser_prod#ACrangeExpr#n_obra= on */ +RET_LABEL:; +} +/* method parser_prod#ACrangeExpr#n_expr= for (self: ACrangeExpr, AExpr) */ +void parser_prod__ACrangeExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ARangeExpr___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; } -goto RET_LABEL; -} else { } RET_LABEL:; } -/* method parser_prod#ASelfExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ASelfExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ASelfExpr__replace_child(self, p0, p1); +/* method parser_prod#ACrangeExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ACrangeExpr__n_expr_61d(val* self, val* p0) { +parser_prod__ACrangeExpr__n_expr_61d(self, p0); /* Direct call parser_prod#ACrangeExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#ASelfExpr#n_kwself= for (self: ASelfExpr, nullable TKwself) */ -void parser_prod__ASelfExpr__n_kwself_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwself */; +/* method parser_prod#ACrangeExpr#n_expr2= for (self: ACrangeExpr, AExpr) */ +void parser_prod__ACrangeExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_node; /* _n_kwself on */ -if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9045); -exit(1); -} else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ARangeExpr___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#ASelfExpr#n_kwself= for (self: Object, nullable TKwself) */ -void VIRTUAL_parser_prod__ASelfExpr__n_kwself_61d(val* self, val* p0) { -parser_prod__ASelfExpr__n_kwself_61d(self, p0); +/* method parser_prod#ACrangeExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__ACrangeExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__ACrangeExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#ACrangeExpr#n_expr2= on */ RET_LABEL:; } -/* method parser_prod#ASelfExpr#n_annotations= for (self: ASelfExpr, nullable AAnnotations) */ -void parser_prod__ASelfExpr__n_annotations_61d(val* self, val* p0) { +/* method parser_prod#ACrangeExpr#n_cbra= for (self: ACrangeExpr, TCbra) */ +void parser_prod__ACrangeExpr__n_cbra_61d(val* self, val* p0) { +val* var_node /* var node: TCbra */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ACrangeExpr___n_cbra].val = var_node; /* _n_cbra 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#ACrangeExpr#n_cbra= for (self: Object, TCbra) */ +void VIRTUAL_parser_prod__ACrangeExpr__n_cbra_61d(val* self, val* p0) { +parser_prod__ACrangeExpr__n_cbra_61d(self, p0); /* Direct call parser_prod#ACrangeExpr#n_cbra= on */ +RET_LABEL:; +} +/* method parser_prod#ACrangeExpr#n_annotations= for (self: ACrangeExpr, nullable AAnnotations) */ +void parser_prod__ACrangeExpr__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 */; var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ +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){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, 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; +} +} } else { } RET_LABEL:; } -/* method parser_prod#ASelfExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ASelfExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__ASelfExpr__n_annotations_61d(self, p0); +/* method parser_prod#ACrangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ACrangeExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__ACrangeExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#ACrangeExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#ASelfExpr#visit_all for (self: ASelfExpr, Visitor) */ -void parser_prod__ASelfExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ACrangeExpr#visit_all for (self: ACrangeExpr, Visitor) */ +void parser_prod__ACrangeExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : nullable TKwself */; -val* var1 /* : nullable AAnnotations */; -val* var2 /* : null */; -short int var3 /* : Bool */; +val* var /* : TObra */; +val* var1 /* : AExpr */; +val* var2 /* : AExpr */; +val* var3 /* : TCbra */; val* var4 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val; /* _n_kwself on */ -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +var = self->attrs[COLOR_parser_nodes__ACrangeExpr___n_obra].val; /* _n_obra on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_obra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4965); +show_backtrace(1); } -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9060); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; -} else { +var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___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", 4966); +show_backtrace(1); } -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ASelfExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ASelfExpr__visit_all(val* self, val* p0) { -parser_prod__ASelfExpr__visit_all(self, p0); -RET_LABEL:; +var2 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4967); +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__ACrangeExpr___n_cbra].val; /* _n_cbra on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_cbra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4968); +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__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AImplicitSelfExpr#empty_init for (self: AImplicitSelfExpr) */ -void parser_prod__AImplicitSelfExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AImplicitSelfExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AImplicitSelfExpr__empty_init(val* self) { -parser_prod__AImplicitSelfExpr__empty_init(self); +/* method parser_prod#ACrangeExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ACrangeExpr__visit_all(val* self, val* p0) { +parser_prod__ACrangeExpr__visit_all(self, p0); /* Direct call parser_prod#ACrangeExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr for (self: AImplicitSelfExpr) */ -void parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(val* self) { -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AImplicitSelfExpr__empty_init]))(self) /* empty_init on */; +/* method parser_prod#AOrangeExpr#init_aorangeexpr for (self: AOrangeExpr, nullable TObra, nullable AExpr, nullable AExpr, nullable TObra, nullable AAnnotations) */ +void parser_prod__AOrangeExpr__init_aorangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +val* var_n_obra /* var n_obra: nullable TObra */; +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_expr2 /* var n_expr2: nullable AExpr */; +val* var_n_cbra /* var n_cbra: nullable TObra */; +val* var_n_annotations /* var n_annotations: nullable AAnnotations */; +val* var /* : null */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +var_n_obra = p0; +var_n_expr = p1; +var_n_expr2 = p2; +var_n_cbra = p3; +var_n_annotations = p4; +if (unlikely(var_n_obra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4981); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_n_obra; /* _n_obra on */ +if (var_n_obra == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4982); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_obra,self) on */ +if (unlikely(var_n_obra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_obra->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", "parser/parser_prod.nit", 4983); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ARangeExpr___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", 4984); +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; +} +} +if (unlikely(var_n_expr2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4985); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ARangeExpr___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", 4986); +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_LABEL3:(void)0; +} +} +if (unlikely(var_n_cbra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4987); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_n_cbra; /* _n_cbra on */ +if (var_n_cbra == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4988); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_cbra,self) on */ +if (unlikely(var_n_cbra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_cbra->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL4:(void)0; +} +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var = NULL; +if (var_n_annotations == NULL) { +var5 = 0; /* is null */ +} else { +var5 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var9 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var8 = var9; +} +var10 = !var8; +var6 = var10; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +var5 = var6; +} +if (var5){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL11:(void)0; +} +} +} else { +} RET_LABEL:; } -/* method parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr for (self: Object) */ -void VIRTUAL_parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(val* self) { -parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(self); +/* method parser_prod#AOrangeExpr#init_aorangeexpr for (self: Object, nullable TObra, nullable AExpr, nullable AExpr, nullable TObra, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AOrangeExpr__init_aorangeexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +parser_prod__AOrangeExpr__init_aorangeexpr(self, p0, p1, p2, p3, p4); /* Direct call parser_prod#AOrangeExpr#init_aorangeexpr on */ RET_LABEL:; } -/* method parser_prod#AImplicitSelfExpr#replace_child for (self: AImplicitSelfExpr, ANode, nullable ANode) */ -void parser_prod__AImplicitSelfExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AOrangeExpr#replace_child for (self: AOrangeExpr, ANode, nullable ANode) */ +void parser_prod__AOrangeExpr__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 /* : TObra */; +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; +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 /* : TObra */; +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 AAnnotations */; +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; -RET_LABEL:; +var = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val; /* _n_obra on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_obra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4995); +show_backtrace(1); } -/* method parser_prod#AImplicitSelfExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AImplicitSelfExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AImplicitSelfExpr__replace_child(self, p0, p1); -RET_LABEL:; +{ +{ /* 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; } -/* method parser_prod#AImplicitSelfExpr#visit_all for (self: AImplicitSelfExpr, Visitor) */ -void parser_prod__AImplicitSelfExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -var_v = p0; -RET_LABEL:; } -/* method parser_prod#AImplicitSelfExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AImplicitSelfExpr__visit_all(val* self, val* p0) { -parser_prod__AImplicitSelfExpr__visit_all(self, p0); -RET_LABEL:; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#ATrueExpr#empty_init for (self: ATrueExpr) */ -void parser_prod__ATrueExpr__empty_init(val* self) { -RET_LABEL:; +var1 = var2; } -/* method parser_prod#ATrueExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ATrueExpr__empty_init(val* self) { -parser_prod__ATrueExpr__empty_init(self); -RET_LABEL:; +if (var1){ +/* isa TObra */ +cltype = type_parser_nodes__TObra.color; +idtype = type_parser_nodes__TObra.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; } -/* method parser_prod#ATrueExpr#init_atrueexpr for (self: ATrueExpr, nullable TKwtrue, nullable AAnnotations) */ -void parser_prod__ATrueExpr__init_atrueexpr(val* self, val* p0, val* p1) { -val* var_n_kwtrue /* var n_kwtrue: nullable TKwtrue */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; -var_n_kwtrue = p0; -var_n_annotations = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ATrueExpr__empty_init]))(self) /* empty_init on */; -if (var_n_kwtrue == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9091); -exit(1); } -self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_n_kwtrue; /* _n_kwtrue on */ -if (var_n_kwtrue == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9092); -exit(1); -} else { -((void (*)(val*, val*))(var_n_kwtrue->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwtrue, self) /* parent= on */; +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`", "TObra", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 4996); +show_backtrace(1); +} +{ +parser_prod__AOrangeExpr__n_obra_61d(self, var_new_child); /* Direct call parser_prod#AOrangeExpr#n_obra= on */ +} +goto RET_LABEL; +} else { +} +var8 = self->attrs[COLOR_parser_nodes__ARangeExpr___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", 4999); +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", 5000); +show_backtrace(1); +} +{ +parser_prod__AOrangeExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AOrangeExpr#n_expr= on */ +} +goto RET_LABEL; +} else { +} +var19 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5003); +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; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var = NULL; -if (var_n_annotations == NULL) { -var1 = 0; /* is null */ +if (var20){ +/* isa AExpr */ +cltype27 = type_parser_nodes__AExpr.color; +idtype28 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var26 = 0; } else { -var1 = 1; /* arg is null and recv is not */ -} -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -RET_LABEL:; } -/* method parser_prod#ATrueExpr#init_atrueexpr for (self: Object, nullable TKwtrue, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ATrueExpr__init_atrueexpr(val* self, val* p0, val* p1) { -parser_prod__ATrueExpr__init_atrueexpr(self, p0, p1); -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`", "AExpr", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5004); +show_backtrace(1); } -/* method parser_prod#ATrueExpr#replace_child for (self: ATrueExpr, ANode, nullable ANode) */ -void parser_prod__ATrueExpr__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 /* : TKwtrue */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -int cltype; -int idtype; -val* var5 /* : nullable AAnnotations */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : null */; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val; /* _n_kwtrue on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwtrue", "src/parser/parser_prod.nit", 9101); -exit(1); +{ +parser_prod__AOrangeExpr__n_expr2_61d(self, var_new_child); /* Direct call parser_prod#AOrangeExpr#n_expr2= on */ } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +goto RET_LABEL; } else { -var3 = 1; /* arg is null and recv is not */ } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwtrue */ -cltype = type_parser_nodes__TKwtrue.color; -idtype = type_parser_nodes__TKwtrue.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var30 = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val; /* _n_cbra on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_cbra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5007); +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; +} } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9104); -exit(1); +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_new_child; /* _n_kwtrue on */ +var31 = var32; +} +if (var31){ +/* isa TObra */ +cltype38 = type_parser_nodes__TObra.color; +idtype39 = type_parser_nodes__TObra.id; +if(var_new_child == NULL) { +var37 = 0; +} else { +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9107); -exit(1); +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`", "TObra", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5008); +show_backtrace(1); +} +{ +parser_prod__AOrangeExpr__n_cbra_61d(self, var_new_child); /* Direct call parser_prod#AOrangeExpr#n_cbra= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ +var41 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var41 == NULL) { +var42 = 0; /* cannot be null */ } else { -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; +{ /* 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 (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype10 = type_parser_nodes__AAnnotations.color; -idtype11 = type_parser_nodes__AAnnotations.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9114); -exit(1); +var42 = var43; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +if (var42){ +/* isa nullable AAnnotations */ +cltype49 = type_nullable_parser_nodes__AAnnotations.color; +idtype50 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var48 = 1; } else { -var12 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on */ +if(cltype49 >= var_new_child->type->table_size) { +var48 = 0; +} else { +var48 = var_new_child->type->type_table[cltype49] == idtype50; +} +} +if (unlikely(!var48)) { +var_class_name51 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5012); +show_backtrace(1); +} +{ +parser_prod__AOrangeExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AOrangeExpr#n_annotations= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ATrueExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ATrueExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ATrueExpr__replace_child(self, p0, p1); +/* method parser_prod#AOrangeExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AOrangeExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AOrangeExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AOrangeExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ATrueExpr#n_kwtrue= for (self: ATrueExpr, TKwtrue) */ -void parser_prod__ATrueExpr__n_kwtrue_61d(val* self, val* p0) { -val* var_node /* var node: TKwtrue */; +/* method parser_prod#AOrangeExpr#n_obra= for (self: AOrangeExpr, TObra) */ +void parser_prod__AOrangeExpr__n_obra_61d(val* self, val* p0) { +val* var_node /* var node: TObra */; var_node = p0; -self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_node; /* _n_kwtrue on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val = var_node; /* _n_obra 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#ATrueExpr#n_kwtrue= for (self: Object, TKwtrue) */ -void VIRTUAL_parser_prod__ATrueExpr__n_kwtrue_61d(val* self, val* p0) { -parser_prod__ATrueExpr__n_kwtrue_61d(self, p0); +/* method parser_prod#AOrangeExpr#n_obra= for (self: Object, TObra) */ +void VIRTUAL_parser_prod__AOrangeExpr__n_obra_61d(val* self, val* p0) { +parser_prod__AOrangeExpr__n_obra_61d(self, p0); /* Direct call parser_prod#AOrangeExpr#n_obra= on */ RET_LABEL:; } -/* method parser_prod#ATrueExpr#n_annotations= for (self: ATrueExpr, nullable AAnnotations) */ -void parser_prod__ATrueExpr__n_annotations_61d(val* self, val* p0) { +/* method parser_prod#AOrangeExpr#n_expr= for (self: AOrangeExpr, AExpr) */ +void parser_prod__AOrangeExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ARangeExpr___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#AOrangeExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AOrangeExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AOrangeExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AOrangeExpr#n_expr= on */ +RET_LABEL:; +} +/* method parser_prod#AOrangeExpr#n_expr2= for (self: AOrangeExpr, AExpr) */ +void parser_prod__AOrangeExpr__n_expr2_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ARangeExpr___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#AOrangeExpr#n_expr2= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AOrangeExpr__n_expr2_61d(val* self, val* p0) { +parser_prod__AOrangeExpr__n_expr2_61d(self, p0); /* Direct call parser_prod#AOrangeExpr#n_expr2= on */ +RET_LABEL:; +} +/* method parser_prod#AOrangeExpr#n_cbra= for (self: AOrangeExpr, TObra) */ +void parser_prod__AOrangeExpr__n_cbra_61d(val* self, val* p0) { +val* var_node /* var node: TObra */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val = var_node; /* _n_cbra 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#AOrangeExpr#n_cbra= for (self: Object, TObra) */ +void VIRTUAL_parser_prod__AOrangeExpr__n_cbra_61d(val* self, val* p0) { +parser_prod__AOrangeExpr__n_cbra_61d(self, p0); /* Direct call parser_prod#AOrangeExpr#n_cbra= on */ +RET_LABEL:; +} +/* method parser_prod#AOrangeExpr#n_annotations= for (self: AOrangeExpr, nullable AAnnotations) */ +void parser_prod__AOrangeExpr__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 */; var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ +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){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, 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; +} +} } else { } RET_LABEL:; } -/* method parser_prod#ATrueExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ATrueExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__ATrueExpr__n_annotations_61d(self, p0); +/* method parser_prod#AOrangeExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AOrangeExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__AOrangeExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#AOrangeExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#ATrueExpr#visit_all for (self: ATrueExpr, Visitor) */ -void parser_prod__ATrueExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AOrangeExpr#visit_all for (self: AOrangeExpr, Visitor) */ +void parser_prod__AOrangeExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwtrue */; -val* var1 /* : nullable AAnnotations */; -val* var2 /* : null */; -short int var3 /* : Bool */; +val* var /* : TObra */; +val* var1 /* : AExpr */; +val* var2 /* : AExpr */; +val* var3 /* : TObra */; val* var4 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val; /* _n_kwtrue on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwtrue", "src/parser/parser_prod.nit", 9139); -exit(1); +var = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_obra].val; /* _n_obra on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_obra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5046); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9141); -exit(1); +var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___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", 5047); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -RET_LABEL:; +var2 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5048); +show_backtrace(1); } -/* method parser_prod#ATrueExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ATrueExpr__visit_all(val* self, val* p0) { -parser_prod__ATrueExpr__visit_all(self, p0); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var3 = self->attrs[COLOR_parser_nodes__AOrangeExpr___n_cbra].val; /* _n_cbra on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_cbra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5049); +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__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AFalseExpr#empty_init for (self: AFalseExpr) */ -void parser_prod__AFalseExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AFalseExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AFalseExpr__empty_init(val* self) { -parser_prod__AFalseExpr__empty_init(self); +/* method parser_prod#AOrangeExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AOrangeExpr__visit_all(val* self, val* p0) { +parser_prod__AOrangeExpr__visit_all(self, p0); /* Direct call parser_prod#AOrangeExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AFalseExpr#init_afalseexpr for (self: AFalseExpr, nullable TKwfalse, nullable AAnnotations) */ -void parser_prod__AFalseExpr__init_afalseexpr(val* self, val* p0, val* p1) { -val* var_n_kwfalse /* var n_kwfalse: nullable TKwfalse */; +/* method parser_prod#AArrayExpr#init_aarrayexpr for (self: AArrayExpr, nullable TObra, nullable AExprs, nullable AType, nullable TCbra, nullable AAnnotations) */ +void parser_prod__AArrayExpr__init_aarrayexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +val* var_n_obra /* var n_obra: nullable TObra */; +val* var_n_exprs /* var n_exprs: nullable AExprs */; +val* var_n_type /* var n_type: nullable AType */; +val* var_n_cbra /* var n_cbra: nullable TCbra */; val* var_n_annotations /* var n_annotations: nullable AAnnotations */; val* var /* : null */; -short int var1 /* : Bool */; -var_n_kwfalse = p0; -var_n_annotations = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFalseExpr__empty_init]))(self) /* empty_init on */; -if (var_n_kwfalse == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9154); -exit(1); +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* var11 /* : null */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +var_n_obra = p0; +var_n_exprs = p1; +var_n_type = p2; +var_n_cbra = p3; +var_n_annotations = p4; +if (unlikely(var_n_obra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5062); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_n_kwfalse; /* _n_kwfalse on */ -if (var_n_kwfalse == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9155); -exit(1); +self->attrs[COLOR_parser_nodes__AArrayExpr___n_obra].val = var_n_obra; /* _n_obra on */ +if (var_n_obra == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5063); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwfalse->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwfalse, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_obra,self) on */ +if (unlikely(var_n_obra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var_n_obra->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +if (unlikely(var_n_exprs == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5064); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_n_exprs; /* _n_exprs on */ +if (var_n_exprs == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5065); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_exprs,self) on */ +if (unlikely(var_n_exprs == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_exprs->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; +} +} +self->attrs[COLOR_parser_nodes__AArrayExpr___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 { +} +if (unlikely(var_n_cbra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5068); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AArrayExpr___n_cbra].val = var_n_cbra; /* _n_cbra on */ +if (var_n_cbra == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5069); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_cbra,self) on */ +if (unlikely(var_n_cbra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_cbra->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL10:(void)0; +} +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var11 = NULL; if (var_n_annotations == NULL) { -var1 = 0; /* is null */ +var12 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ +var12 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var11) on */ +var_other = var11; +{ +var16 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, 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_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL18:(void)0; +} } -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#AFalseExpr#init_afalseexpr for (self: Object, nullable TKwfalse, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AFalseExpr__init_afalseexpr(val* self, val* p0, val* p1) { -parser_prod__AFalseExpr__init_afalseexpr(self, p0, p1); +/* method parser_prod#AArrayExpr#init_aarrayexpr for (self: Object, nullable TObra, nullable AExprs, nullable AType, nullable TCbra, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AArrayExpr__init_aarrayexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +parser_prod__AArrayExpr__init_aarrayexpr(self, p0, p1, p2, p3, p4); /* Direct call parser_prod#AArrayExpr#init_aarrayexpr on */ RET_LABEL:; } -/* method parser_prod#AFalseExpr#replace_child for (self: AFalseExpr, ANode, nullable ANode) */ -void parser_prod__AFalseExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AArrayExpr#replace_child for (self: AArrayExpr, ANode, nullable ANode) */ +void parser_prod__AArrayExpr__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 /* : TKwfalse */; +val* var /* : TObra */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : nullable AAnnotations */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : AExprs */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : nullable 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 /* : TCbra */; +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 AAnnotations */; +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__AFalseExpr___n_kwfalse].val; /* _n_kwfalse on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwfalse", "src/parser/parser_prod.nit", 9164); -exit(1); +var = self->attrs[COLOR_parser_nodes__AArrayExpr___n_obra].val; /* _n_obra on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_obra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5076); +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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TObra */ +cltype = type_parser_nodes__TObra.color; +idtype = type_parser_nodes__TObra.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwfalse */ -cltype = type_parser_nodes__TKwfalse.color; -idtype = type_parser_nodes__TKwfalse.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9167); -exit(1); } -self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_new_child; /* _n_kwfalse on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9170); -exit(1); +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`", "TObra", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5077); +show_backtrace(1); +} +{ +parser_prod__AArrayExpr__n_obra_61d(self, var_new_child); /* Direct call parser_prod#AArrayExpr#n_obra= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ +var8 = self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5080); +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 AExprs */ +cltype16 = type_parser_nodes__AExprs.color; +idtype17 = type_parser_nodes__AExprs.id; +if(var_new_child == NULL) { +var15 = 0; } else { -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; +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`", "AExprs", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5081); +show_backtrace(1); } -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ +{ +parser_prod__AArrayExpr__n_exprs_61d(self, var_new_child); /* Direct call parser_prod#AArrayExpr#n_exprs= on */ +} +goto RET_LABEL; } else { -var8 = 1; /* arg is null and recv is not */ } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype10 = type_parser_nodes__AAnnotations.color; -idtype11 = type_parser_nodes__AAnnotations.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; +var19 = self->attrs[COLOR_parser_nodes__AArrayExpr___n_type].val; /* _n_type on */ +if (var19 == NULL) { +var20 = 0; /* cannot be null */ } else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +{ /* 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; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9177); -exit(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +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 { -var12 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on */ +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 AType", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5085); +show_backtrace(1); +} +{ +parser_prod__AArrayExpr__n_type_61d(self, var_new_child); /* Direct call parser_prod#AArrayExpr#n_type= on */ } goto RET_LABEL; } else { } -RET_LABEL:; +var30 = self->attrs[COLOR_parser_nodes__AArrayExpr___n_cbra].val; /* _n_cbra on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_cbra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5088); +show_backtrace(1); } -/* method parser_prod#AFalseExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AFalseExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AFalseExpr__replace_child(self, p0, p1); -RET_LABEL:; +{ +{ /* 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; } -/* method parser_prod#AFalseExpr#n_kwfalse= for (self: AFalseExpr, TKwfalse) */ -void parser_prod__AFalseExpr__n_kwfalse_61d(val* self, val* p0) { -val* var_node /* var node: TKwfalse */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_node; /* _n_kwfalse on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; } -/* method parser_prod#AFalseExpr#n_kwfalse= for (self: Object, TKwfalse) */ -void VIRTUAL_parser_prod__AFalseExpr__n_kwfalse_61d(val* self, val* p0) { -parser_prod__AFalseExpr__n_kwfalse_61d(self, p0); -RET_LABEL:; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -/* method parser_prod#AFalseExpr#n_annotations= for (self: AFalseExpr, nullable AAnnotations) */ -void parser_prod__AFalseExpr__n_annotations_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : 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 */ +var31 = var32; +} +if (var31){ +/* isa TCbra */ +cltype38 = type_parser_nodes__TCbra.color; +idtype39 = type_parser_nodes__TCbra.id; +if(var_new_child == NULL) { +var37 = 0; } else { -var1 = 1; /* arg is null and recv is not */ +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; +} else { +var37 = var_new_child->type->type_table[cltype38] == idtype39; } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +} +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`", "TCbra", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5089); +show_backtrace(1); +} +{ +parser_prod__AArrayExpr__n_cbra_61d(self, var_new_child); /* Direct call parser_prod#AArrayExpr#n_cbra= on */ +} +goto RET_LABEL; } else { } -RET_LABEL:; +var41 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations 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; } -/* method parser_prod#AFalseExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AFalseExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__AFalseExpr__n_annotations_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AFalseExpr#visit_all for (self: AFalseExpr, Visitor) */ -void parser_prod__AFalseExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TKwfalse */; -val* var1 /* : nullable AAnnotations */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : nullable AAnnotations */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val; /* _n_kwfalse on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwfalse", "src/parser/parser_prod.nit", 9202); -exit(1); +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ +var42 = var43; +} +if (var42){ +/* isa nullable AAnnotations */ +cltype49 = type_nullable_parser_nodes__AAnnotations.color; +idtype50 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var48 = 1; } else { -var3 = 1; /* arg is null and recv is not */ +if(cltype49 >= var_new_child->type->table_size) { +var48 = 0; +} else { +var48 = var_new_child->type->type_table[cltype49] == idtype50; } -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9204); -exit(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; +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 AAnnotations", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5093); +show_backtrace(1); +} +{ +parser_prod__AArrayExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AArrayExpr#n_annotations= on */ +} +goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AFalseExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AFalseExpr__visit_all(val* self, val* p0) { -parser_prod__AFalseExpr__visit_all(self, p0); +/* method parser_prod#AArrayExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AArrayExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AArrayExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AArrayExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ANullExpr#empty_init for (self: ANullExpr) */ -void parser_prod__ANullExpr__empty_init(val* self) { -RET_LABEL:; +/* method parser_prod#AArrayExpr#n_obra= for (self: AArrayExpr, TObra) */ +void parser_prod__AArrayExpr__n_obra_61d(val* self, val* p0) { +val* var_node /* var node: TObra */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AArrayExpr___n_obra].val = var_node; /* _n_obra 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; } -/* method parser_prod#ANullExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ANullExpr__empty_init(val* self) { -parser_prod__ANullExpr__empty_init(self); -RET_LABEL:; } -/* method parser_prod#ANullExpr#init_anullexpr for (self: ANullExpr, nullable TKwnull, nullable AAnnotations) */ -void parser_prod__ANullExpr__init_anullexpr(val* self, val* p0, val* p1) { -val* var_n_kwnull /* var n_kwnull: nullable TKwnull */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; -var_n_kwnull = p0; -var_n_annotations = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANullExpr__empty_init]))(self) /* empty_init on */; -if (var_n_kwnull == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9217); -exit(1); +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_n_kwnull; /* _n_kwnull on */ -if (var_n_kwnull == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9218); -exit(1); -} else { -((void (*)(val*, val*))(var_n_kwnull->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwnull, self) /* parent= on */; +/* method parser_prod#AArrayExpr#n_obra= for (self: Object, TObra) */ +void VIRTUAL_parser_prod__AArrayExpr__n_obra_61d(val* self, val* p0) { +parser_prod__AArrayExpr__n_obra_61d(self, p0); /* Direct call parser_prod#AArrayExpr#n_obra= on */ +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var = NULL; -if (var_n_annotations == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#AArrayExpr#n_exprs= for (self: AArrayExpr, AExprs) */ +void parser_prod__AArrayExpr__n_exprs_61d(val* self, val* p0) { +val* var_node /* var node: AExprs */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val = var_node; /* _n_exprs 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 (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; -} else { } RET_LABEL:; } -/* method parser_prod#ANullExpr#init_anullexpr for (self: Object, nullable TKwnull, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ANullExpr__init_anullexpr(val* self, val* p0, val* p1) { -parser_prod__ANullExpr__init_anullexpr(self, p0, p1); +/* method parser_prod#AArrayExpr#n_exprs= for (self: Object, AExprs) */ +void VIRTUAL_parser_prod__AArrayExpr__n_exprs_61d(val* self, val* p0) { +parser_prod__AArrayExpr__n_exprs_61d(self, p0); /* Direct call parser_prod#AArrayExpr#n_exprs= on */ RET_LABEL:; } -/* method parser_prod#ANullExpr#replace_child for (self: ANullExpr, ANode, nullable ANode) */ -void parser_prod__ANullExpr__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 /* : TKwnull */; +/* method parser_prod#AArrayExpr#n_type= for (self: AArrayExpr, nullable AType) */ +void parser_prod__AArrayExpr__n_type_61d(val* self, val* p0) { +val* var_node /* var node: nullable AType */; +val* var /* : null */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var4 /* : Bool */; -int cltype; -int idtype; -val* var5 /* : nullable AAnnotations */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : null */; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val; /* _n_kwnull on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnull", "src/parser/parser_prod.nit", 9227); -exit(1); -} -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwnull */ -cltype = type_parser_nodes__TKwnull.color; -idtype = type_parser_nodes__TKwnull.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; -} -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9230); -exit(1); -} -self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_new_child; /* _n_kwnull on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9233); -exit(1); -} -goto RET_LABEL; +var_node = p0; +self->attrs[COLOR_parser_nodes__AArrayExpr___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 */ } -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ -} else { -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; +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; } -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype10 = type_parser_nodes__AAnnotations.color; -idtype11 = type_parser_nodes__AAnnotations.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +var1 = var2; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9240); -exit(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__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ -} else { -var12 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on */ } -goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ANullExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ANullExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ANullExpr__replace_child(self, p0, p1); +/* method parser_prod#AArrayExpr#n_type= for (self: Object, nullable AType) */ +void VIRTUAL_parser_prod__AArrayExpr__n_type_61d(val* self, val* p0) { +parser_prod__AArrayExpr__n_type_61d(self, p0); /* Direct call parser_prod#AArrayExpr#n_type= on */ RET_LABEL:; } -/* method parser_prod#ANullExpr#n_kwnull= for (self: ANullExpr, TKwnull) */ -void parser_prod__ANullExpr__n_kwnull_61d(val* self, val* p0) { -val* var_node /* var node: TKwnull */; +/* method parser_prod#AArrayExpr#n_cbra= for (self: AArrayExpr, TCbra) */ +void parser_prod__AArrayExpr__n_cbra_61d(val* self, val* p0) { +val* var_node /* var node: TCbra */; var_node = p0; -self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_node; /* _n_kwnull on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AArrayExpr___n_cbra].val = var_node; /* _n_cbra 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#ANullExpr#n_kwnull= for (self: Object, TKwnull) */ -void VIRTUAL_parser_prod__ANullExpr__n_kwnull_61d(val* self, val* p0) { -parser_prod__ANullExpr__n_kwnull_61d(self, p0); +/* method parser_prod#AArrayExpr#n_cbra= for (self: Object, TCbra) */ +void VIRTUAL_parser_prod__AArrayExpr__n_cbra_61d(val* self, val* p0) { +parser_prod__AArrayExpr__n_cbra_61d(self, p0); /* Direct call parser_prod#AArrayExpr#n_cbra= on */ RET_LABEL:; } -/* method parser_prod#ANullExpr#n_annotations= for (self: ANullExpr, nullable AAnnotations) */ -void parser_prod__ANullExpr__n_annotations_61d(val* self, val* p0) { +/* method parser_prod#AArrayExpr#n_annotations= for (self: AArrayExpr, nullable AAnnotations) */ +void parser_prod__AArrayExpr__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 */; var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ +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){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, 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; +} +} } else { } RET_LABEL:; } -/* method parser_prod#ANullExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ANullExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__ANullExpr__n_annotations_61d(self, p0); +/* method parser_prod#AArrayExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AArrayExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__AArrayExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#AArrayExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#ANullExpr#visit_all for (self: ANullExpr, Visitor) */ -void parser_prod__ANullExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AArrayExpr#visit_all for (self: AArrayExpr, Visitor) */ +void parser_prod__AArrayExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwnull */; -val* var1 /* : nullable AAnnotations */; -val* var2 /* : null */; -short int var3 /* : Bool */; +val* var /* : TObra */; +val* var1 /* : AExprs */; +val* var2 /* : nullable AType */; +val* var3 /* : TCbra */; val* var4 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val; /* _n_kwnull on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnull", "src/parser/parser_prod.nit", 9265); -exit(1); +var = self->attrs[COLOR_parser_nodes__AArrayExpr___n_obra].val; /* _n_obra on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_obra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5127); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9267); -exit(1); +var1 = self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5128); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -RET_LABEL:; +var2 = self->attrs[COLOR_parser_nodes__AArrayExpr___n_type].val; /* _n_type on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ANullExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ANullExpr__visit_all(val* self, val* p0) { -parser_prod__ANullExpr__visit_all(self, p0); -RET_LABEL:; +var3 = self->attrs[COLOR_parser_nodes__AArrayExpr___n_cbra].val; /* _n_cbra on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_cbra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5130); +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__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AIntExpr#empty_init for (self: AIntExpr) */ -void parser_prod__AIntExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AIntExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AIntExpr__empty_init(val* self) { -parser_prod__AIntExpr__empty_init(self); +/* method parser_prod#AArrayExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AArrayExpr__visit_all(val* self, val* p0) { +parser_prod__AArrayExpr__visit_all(self, p0); /* Direct call parser_prod#AArrayExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AIntExpr#init_aintexpr for (self: AIntExpr, nullable TNumber, nullable AAnnotations) */ -void parser_prod__AIntExpr__init_aintexpr(val* self, val* p0, val* p1) { -val* var_n_number /* var n_number: nullable TNumber */; +/* method parser_prod#ASelfExpr#init_aselfexpr for (self: ASelfExpr, nullable TKwself, nullable AAnnotations) */ +void parser_prod__ASelfExpr__init_aselfexpr(val* self, val* p0, val* p1) { +val* var_n_kwself /* var n_kwself: nullable TKwself */; val* var_n_annotations /* var n_annotations: nullable AAnnotations */; val* var /* : null */; -short int var1 /* : Bool */; -var_n_number = p0; +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_kwself = p0; var_n_annotations = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIntExpr__empty_init]))(self) /* empty_init on */; -if (var_n_number == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9280); -exit(1); +if (unlikely(var_n_kwself == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5140); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var_n_number; /* _n_number on */ -if (var_n_number == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9281); -exit(1); +self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_n_kwself; /* _n_kwself on */ +if (var_n_kwself == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5141); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_number->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_number, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwself,self) on */ +if (unlikely(var_n_kwself == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwself->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ var = NULL; if (var_n_annotations == NULL) { -var1 = 0; /* is null */ +var2 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ +var2 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, 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_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; +} } -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#AIntExpr#init_aintexpr for (self: Object, nullable TNumber, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AIntExpr__init_aintexpr(val* self, val* p0, val* p1) { -parser_prod__AIntExpr__init_aintexpr(self, p0, p1); +/* method parser_prod#ASelfExpr#init_aselfexpr for (self: Object, nullable TKwself, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ASelfExpr__init_aselfexpr(val* self, val* p0, val* p1) { +parser_prod__ASelfExpr__init_aselfexpr(self, p0, p1); /* Direct call parser_prod#ASelfExpr#init_aselfexpr on */ RET_LABEL:; } -/* method parser_prod#AIntExpr#replace_child for (self: AIntExpr, ANode, nullable ANode) */ -void parser_prod__AIntExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ASelfExpr#replace_child for (self: ASelfExpr, ANode, nullable ANode) */ +void parser_prod__ASelfExpr__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 /* : TNumber */; +val* var /* : nullable TKwself */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : nullable AAnnotations */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : nullable AAnnotations */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : null */; +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__AIntExpr___n_number].val; /* _n_number on */ +var = self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val; /* _n_kwself on */ if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_number", "src/parser/parser_prod.nit", 9290); -exit(1); +var1 = 0; /* cannot be null */ +} else { +{ /* 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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TKwself */ +cltype = type_parser_nodes__TKwself.color; +idtype = type_parser_nodes__TKwself.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TNumber */ -cltype = type_parser_nodes__TNumber.color; -idtype = type_parser_nodes__TNumber.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9293); -exit(1); } -self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var_new_child; /* _n_number on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9296); -exit(1); +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`", "TKwself", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5149); +show_backtrace(1); +} +{ +parser_prod__ASelfExpr__n_kwself_61d(self, var_new_child); /* Direct call parser_prod#ASelfExpr#n_kwself= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ +var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, 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 */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype10 = type_parser_nodes__AAnnotations.color; -idtype11 = type_parser_nodes__AAnnotations.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9303); -exit(1); +var9 = var10; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +if (var9){ +/* isa nullable AAnnotations */ +cltype16 = type_nullable_parser_nodes__AAnnotations.color; +idtype17 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var15 = 1; } else { -var12 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5153); +show_backtrace(1); +} +{ +parser_prod__ASelfExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#ASelfExpr#n_annotations= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AIntExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AIntExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AIntExpr__replace_child(self, p0, p1); +/* method parser_prod#ASelfExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ASelfExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ASelfExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ASelfExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AIntExpr#n_number= for (self: AIntExpr, TNumber) */ -void parser_prod__AIntExpr__n_number_61d(val* self, val* p0) { -val* var_node /* var node: TNumber */; +/* method parser_prod#ASelfExpr#n_kwself= for (self: ASelfExpr, nullable TKwself) */ +void parser_prod__ASelfExpr__n_kwself_61d(val* self, val* p0) { +val* var_node /* var node: nullable TKwself */; var_node = p0; -self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var_node; /* _n_number on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val = var_node; /* _n_kwself on */ +if (var_node == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5161); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +if (unlikely(var_node == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#AIntExpr#n_number= for (self: Object, TNumber) */ -void VIRTUAL_parser_prod__AIntExpr__n_number_61d(val* self, val* p0) { -parser_prod__AIntExpr__n_number_61d(self, p0); +/* method parser_prod#ASelfExpr#n_kwself= for (self: Object, nullable TKwself) */ +void VIRTUAL_parser_prod__ASelfExpr__n_kwself_61d(val* self, val* p0) { +parser_prod__ASelfExpr__n_kwself_61d(self, p0); /* Direct call parser_prod#ASelfExpr#n_kwself= on */ RET_LABEL:; } -/* method parser_prod#AIntExpr#n_annotations= for (self: AIntExpr, nullable AAnnotations) */ -void parser_prod__AIntExpr__n_annotations_61d(val* self, val* p0) { +/* method parser_prod#ASelfExpr#n_annotations= for (self: ASelfExpr, nullable AAnnotations) */ +void parser_prod__ASelfExpr__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 */; var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ +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){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, 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; +} +} } else { } RET_LABEL:; } -/* method parser_prod#AIntExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AIntExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__AIntExpr__n_annotations_61d(self, p0); +/* method parser_prod#ASelfExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ASelfExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__ASelfExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#ASelfExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#AIntExpr#visit_all for (self: AIntExpr, Visitor) */ -void parser_prod__AIntExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ASelfExpr#visit_all for (self: ASelfExpr, Visitor) */ +void parser_prod__ASelfExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TNumber */; +val* var /* : nullable TKwself */; val* var1 /* : nullable AAnnotations */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val; /* _n_number on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_number", "src/parser/parser_prod.nit", 9328); -exit(1); +var = self->attrs[COLOR_parser_nodes__ASelfExpr___n_kwself].val; /* _n_kwself on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9330); -exit(1); +RET_LABEL:; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; -} else { +/* method parser_prod#ASelfExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ASelfExpr__visit_all(val* self, val* p0) { +parser_prod__ASelfExpr__visit_all(self, p0); /* Direct call parser_prod#ASelfExpr#visit_all on */ +RET_LABEL:; +} +/* method parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr for (self: AImplicitSelfExpr) */ +void parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(val* self) { +RET_LABEL:; +} +/* method parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr for (self: Object) */ +void VIRTUAL_parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr(val* self) { +{ /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (self) on */ +RET_LABEL1:(void)0; +} +RET_LABEL:; } +/* method parser_prod#AImplicitSelfExpr#replace_child for (self: AImplicitSelfExpr, ANode, nullable ANode) */ +void parser_prod__AImplicitSelfExpr__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 */; +var_old_child = p0; +var_new_child = p1; RET_LABEL:; } -/* method parser_prod#AIntExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AIntExpr__visit_all(val* self, val* p0) { -parser_prod__AIntExpr__visit_all(self, p0); +/* method parser_prod#AImplicitSelfExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AImplicitSelfExpr__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 */; +{ /* Inline parser_prod#AImplicitSelfExpr#replace_child (self,p0,p1) on */ +var_old_child = p0; +var_new_child = p1; +RET_LABEL1:(void)0; +} RET_LABEL:; } -/* method parser_prod#AFloatExpr#empty_init for (self: AFloatExpr) */ -void parser_prod__AFloatExpr__empty_init(val* self) { +/* method parser_prod#AImplicitSelfExpr#visit_all for (self: AImplicitSelfExpr, Visitor) */ +void parser_prod__AImplicitSelfExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +var_v = p0; RET_LABEL:; } -/* method parser_prod#AFloatExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AFloatExpr__empty_init(val* self) { -parser_prod__AFloatExpr__empty_init(self); +/* method parser_prod#AImplicitSelfExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AImplicitSelfExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +{ /* Inline parser_prod#AImplicitSelfExpr#visit_all (self,p0) on */ +var_v = p0; +RET_LABEL1:(void)0; +} RET_LABEL:; } -/* method parser_prod#AFloatExpr#init_afloatexpr for (self: AFloatExpr, nullable TFloat, nullable AAnnotations) */ -void parser_prod__AFloatExpr__init_afloatexpr(val* self, val* p0, val* p1) { -val* var_n_float /* var n_float: nullable TFloat */; +/* method parser_prod#ATrueExpr#init_atrueexpr for (self: ATrueExpr, nullable TKwtrue, nullable AAnnotations) */ +void parser_prod__ATrueExpr__init_atrueexpr(val* self, val* p0, val* p1) { +val* var_n_kwtrue /* var n_kwtrue: nullable TKwtrue */; val* var_n_annotations /* var n_annotations: nullable AAnnotations */; val* var /* : null */; -short int var1 /* : Bool */; -var_n_float = p0; +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_kwtrue = p0; var_n_annotations = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFloatExpr__empty_init]))(self) /* empty_init on */; -if (var_n_float == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9343); -exit(1); +if (unlikely(var_n_kwtrue == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5197); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_n_float; /* _n_float on */ -if (var_n_float == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9344); -exit(1); +self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_n_kwtrue; /* _n_kwtrue on */ +if (var_n_kwtrue == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5198); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_float->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_float, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwtrue,self) on */ +if (unlikely(var_n_kwtrue == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var_n_kwtrue->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ var = NULL; if (var_n_annotations == NULL) { -var1 = 0; /* is null */ +var2 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ +var2 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, 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_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; +} } -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#AFloatExpr#init_afloatexpr for (self: Object, nullable TFloat, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AFloatExpr__init_afloatexpr(val* self, val* p0, val* p1) { -parser_prod__AFloatExpr__init_afloatexpr(self, p0, p1); +/* method parser_prod#ATrueExpr#init_atrueexpr for (self: Object, nullable TKwtrue, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ATrueExpr__init_atrueexpr(val* self, val* p0, val* p1) { +parser_prod__ATrueExpr__init_atrueexpr(self, p0, p1); /* Direct call parser_prod#ATrueExpr#init_atrueexpr on */ RET_LABEL:; } -/* method parser_prod#AFloatExpr#replace_child for (self: AFloatExpr, ANode, nullable ANode) */ -void parser_prod__AFloatExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ATrueExpr#replace_child for (self: ATrueExpr, ANode, nullable ANode) */ +void parser_prod__ATrueExpr__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 /* : TFloat */; +val* var /* : TKwtrue */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : nullable AAnnotations */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : nullable AAnnotations */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : null */; +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__AFloatExpr___n_float].val; /* _n_float on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_float", "src/parser/parser_prod.nit", 9353); -exit(1); +var = self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val; /* _n_kwtrue on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwtrue"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5205); +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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TKwtrue */ +cltype = type_parser_nodes__TKwtrue.color; +idtype = type_parser_nodes__TKwtrue.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TFloat */ -cltype = type_parser_nodes__TFloat.color; -idtype = type_parser_nodes__TFloat.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9356); -exit(1); } -self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_new_child; /* _n_float on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9359); -exit(1); +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`", "TKwtrue", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5206); +show_backtrace(1); +} +{ +parser_prod__ATrueExpr__n_kwtrue_61d(self, var_new_child); /* Direct call parser_prod#ATrueExpr#n_kwtrue= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ +var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, 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 */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype10 = type_parser_nodes__AAnnotations.color; -idtype11 = type_parser_nodes__AAnnotations.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9366); -exit(1); +var9 = var10; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +if (var9){ +/* isa nullable AAnnotations */ +cltype16 = type_nullable_parser_nodes__AAnnotations.color; +idtype17 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var15 = 1; } else { -var12 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5210); +show_backtrace(1); +} +{ +parser_prod__ATrueExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#ATrueExpr#n_annotations= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AFloatExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AFloatExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AFloatExpr__replace_child(self, p0, p1); +/* method parser_prod#ATrueExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ATrueExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ATrueExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ATrueExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AFloatExpr#n_float= for (self: AFloatExpr, TFloat) */ -void parser_prod__AFloatExpr__n_float_61d(val* self, val* p0) { -val* var_node /* var node: TFloat */; +/* method parser_prod#ATrueExpr#n_kwtrue= for (self: ATrueExpr, TKwtrue) */ +void parser_prod__ATrueExpr__n_kwtrue_61d(val* self, val* p0) { +val* var_node /* var node: TKwtrue */; var_node = p0; -self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_node; /* _n_float on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val = var_node; /* _n_kwtrue 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#AFloatExpr#n_float= for (self: Object, TFloat) */ -void VIRTUAL_parser_prod__AFloatExpr__n_float_61d(val* self, val* p0) { -parser_prod__AFloatExpr__n_float_61d(self, p0); +/* method parser_prod#ATrueExpr#n_kwtrue= for (self: Object, TKwtrue) */ +void VIRTUAL_parser_prod__ATrueExpr__n_kwtrue_61d(val* self, val* p0) { +parser_prod__ATrueExpr__n_kwtrue_61d(self, p0); /* Direct call parser_prod#ATrueExpr#n_kwtrue= on */ RET_LABEL:; } -/* method parser_prod#AFloatExpr#n_annotations= for (self: AFloatExpr, nullable AAnnotations) */ -void parser_prod__AFloatExpr__n_annotations_61d(val* self, val* p0) { +/* method parser_prod#ATrueExpr#n_annotations= for (self: ATrueExpr, nullable AAnnotations) */ +void parser_prod__ATrueExpr__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 */; var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ +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 (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +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#AFloatExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AFloatExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__AFloatExpr__n_annotations_61d(self, p0); +/* method parser_prod#ATrueExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ATrueExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__ATrueExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#ATrueExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#AFloatExpr#visit_all for (self: AFloatExpr, Visitor) */ -void parser_prod__AFloatExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ATrueExpr#visit_all for (self: ATrueExpr, Visitor) */ +void parser_prod__ATrueExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TFloat */; +val* var /* : TKwtrue */; val* var1 /* : nullable AAnnotations */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val; /* _n_float on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_float", "src/parser/parser_prod.nit", 9391); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9393); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; -} else { +var = self->attrs[COLOR_parser_nodes__ATrueExpr___n_kwtrue].val; /* _n_kwtrue on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwtrue"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5229); +show_backtrace(1); } -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AFloatExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AFloatExpr__visit_all(val* self, val* p0) { -parser_prod__AFloatExpr__visit_all(self, p0); -RET_LABEL:; +var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ACharExpr#empty_init for (self: ACharExpr) */ -void parser_prod__ACharExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#ACharExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ACharExpr__empty_init(val* self) { -parser_prod__ACharExpr__empty_init(self); +/* method parser_prod#ATrueExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ATrueExpr__visit_all(val* self, val* p0) { +parser_prod__ATrueExpr__visit_all(self, p0); /* Direct call parser_prod#ATrueExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ACharExpr#init_acharexpr for (self: ACharExpr, nullable TChar, nullable AAnnotations) */ -void parser_prod__ACharExpr__init_acharexpr(val* self, val* p0, val* p1) { -val* var_n_char /* var n_char: nullable TChar */; +/* method parser_prod#AFalseExpr#init_afalseexpr for (self: AFalseExpr, nullable TKwfalse, nullable AAnnotations) */ +void parser_prod__AFalseExpr__init_afalseexpr(val* self, val* p0, val* p1) { +val* var_n_kwfalse /* var n_kwfalse: nullable TKwfalse */; val* var_n_annotations /* var n_annotations: nullable AAnnotations */; val* var /* : null */; -short int var1 /* : Bool */; -var_n_char = p0; +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_kwfalse = p0; var_n_annotations = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACharExpr__empty_init]))(self) /* empty_init on */; -if (var_n_char == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9406); -exit(1); +if (unlikely(var_n_kwfalse == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5239); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_n_char; /* _n_char on */ -if (var_n_char == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9407); -exit(1); +self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_n_kwfalse; /* _n_kwfalse on */ +if (var_n_kwfalse == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5240); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_char->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_char, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwfalse,self) on */ +if (unlikely(var_n_kwfalse == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var_n_kwfalse->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ var = NULL; if (var_n_annotations == NULL) { -var1 = 0; /* is null */ +var2 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ +var2 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, 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_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; +} } -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#ACharExpr#init_acharexpr for (self: Object, nullable TChar, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ACharExpr__init_acharexpr(val* self, val* p0, val* p1) { -parser_prod__ACharExpr__init_acharexpr(self, p0, p1); +/* method parser_prod#AFalseExpr#init_afalseexpr for (self: Object, nullable TKwfalse, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AFalseExpr__init_afalseexpr(val* self, val* p0, val* p1) { +parser_prod__AFalseExpr__init_afalseexpr(self, p0, p1); /* Direct call parser_prod#AFalseExpr#init_afalseexpr on */ RET_LABEL:; } -/* method parser_prod#ACharExpr#replace_child for (self: ACharExpr, ANode, nullable ANode) */ -void parser_prod__ACharExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AFalseExpr#replace_child for (self: AFalseExpr, ANode, nullable ANode) */ +void parser_prod__AFalseExpr__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 /* : TChar */; +val* var /* : TKwfalse */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : nullable AAnnotations */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : nullable AAnnotations */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : null */; +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__ACharExpr___n_char].val; /* _n_char on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_char", "src/parser/parser_prod.nit", 9416); -exit(1); +var = self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val; /* _n_kwfalse on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwfalse"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5247); +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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TKwfalse */ +cltype = type_parser_nodes__TKwfalse.color; +idtype = type_parser_nodes__TKwfalse.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TChar */ -cltype = type_parser_nodes__TChar.color; -idtype = type_parser_nodes__TChar.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9419); -exit(1); } -self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_new_child; /* _n_char on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9422); -exit(1); +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`", "TKwfalse", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5248); +show_backtrace(1); +} +{ +parser_prod__AFalseExpr__n_kwfalse_61d(self, var_new_child); /* Direct call parser_prod#AFalseExpr#n_kwfalse= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ +var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, 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 */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype10 = type_parser_nodes__AAnnotations.color; -idtype11 = type_parser_nodes__AAnnotations.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9429); -exit(1); +var9 = var10; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +if (var9){ +/* isa nullable AAnnotations */ +cltype16 = type_nullable_parser_nodes__AAnnotations.color; +idtype17 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var15 = 1; } else { -var12 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5252); +show_backtrace(1); +} +{ +parser_prod__AFalseExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AFalseExpr#n_annotations= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ACharExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ACharExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ACharExpr__replace_child(self, p0, p1); +/* method parser_prod#AFalseExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AFalseExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AFalseExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AFalseExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ACharExpr#n_char= for (self: ACharExpr, TChar) */ -void parser_prod__ACharExpr__n_char_61d(val* self, val* p0) { -val* var_node /* var node: TChar */; +/* method parser_prod#AFalseExpr#n_kwfalse= for (self: AFalseExpr, TKwfalse) */ +void parser_prod__AFalseExpr__n_kwfalse_61d(val* self, val* p0) { +val* var_node /* var node: TKwfalse */; var_node = p0; -self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_node; /* _n_char on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val = var_node; /* _n_kwfalse 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#ACharExpr#n_char= for (self: Object, TChar) */ -void VIRTUAL_parser_prod__ACharExpr__n_char_61d(val* self, val* p0) { -parser_prod__ACharExpr__n_char_61d(self, p0); +/* method parser_prod#AFalseExpr#n_kwfalse= for (self: Object, TKwfalse) */ +void VIRTUAL_parser_prod__AFalseExpr__n_kwfalse_61d(val* self, val* p0) { +parser_prod__AFalseExpr__n_kwfalse_61d(self, p0); /* Direct call parser_prod#AFalseExpr#n_kwfalse= on */ RET_LABEL:; } -/* method parser_prod#ACharExpr#n_annotations= for (self: ACharExpr, nullable AAnnotations) */ -void parser_prod__ACharExpr__n_annotations_61d(val* self, val* p0) { +/* method parser_prod#AFalseExpr#n_annotations= for (self: AFalseExpr, nullable AAnnotations) */ +void parser_prod__AFalseExpr__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 */; var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ +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){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, 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; +} +} } else { } RET_LABEL:; } -/* method parser_prod#ACharExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ACharExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__ACharExpr__n_annotations_61d(self, p0); +/* method parser_prod#AFalseExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AFalseExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__AFalseExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#AFalseExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#ACharExpr#visit_all for (self: ACharExpr, Visitor) */ -void parser_prod__ACharExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AFalseExpr#visit_all for (self: AFalseExpr, Visitor) */ +void parser_prod__AFalseExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TChar */; +val* var /* : TKwfalse */; val* var1 /* : nullable AAnnotations */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val; /* _n_char on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_char", "src/parser/parser_prod.nit", 9454); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9456); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; -} else { +var = self->attrs[COLOR_parser_nodes__AFalseExpr___n_kwfalse].val; /* _n_kwfalse on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwfalse"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5271); +show_backtrace(1); } -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ACharExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ACharExpr__visit_all(val* self, val* p0) { -parser_prod__ACharExpr__visit_all(self, p0); -RET_LABEL:; +var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AStringExpr#empty_init for (self: AStringExpr) */ -void parser_prod__AStringExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AStringExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AStringExpr__empty_init(val* self) { -parser_prod__AStringExpr__empty_init(self); +/* method parser_prod#AFalseExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AFalseExpr__visit_all(val* self, val* p0) { +parser_prod__AFalseExpr__visit_all(self, p0); /* Direct call parser_prod#AFalseExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AStringExpr#init_astringexpr for (self: AStringExpr, nullable TString, nullable AAnnotations) */ -void parser_prod__AStringExpr__init_astringexpr(val* self, val* p0, val* p1) { -val* var_n_string /* var n_string: nullable TString */; +/* method parser_prod#ANullExpr#init_anullexpr for (self: ANullExpr, nullable TKwnull, nullable AAnnotations) */ +void parser_prod__ANullExpr__init_anullexpr(val* self, val* p0, val* p1) { +val* var_n_kwnull /* var n_kwnull: nullable TKwnull */; val* var_n_annotations /* var n_annotations: nullable AAnnotations */; val* var /* : null */; -short int var1 /* : Bool */; -var_n_string = p0; +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_kwnull = p0; var_n_annotations = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStringExpr__empty_init]))(self) /* empty_init on */; -if (var_n_string == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9469); -exit(1); +if (unlikely(var_n_kwnull == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5281); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on */ -if (var_n_string == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9470); -exit(1); +self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_n_kwnull; /* _n_kwnull on */ +if (var_n_kwnull == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5282); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_string->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_string, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwnull,self) on */ +if (unlikely(var_n_kwnull == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var_n_kwnull->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ var = NULL; if (var_n_annotations == NULL) { -var1 = 0; /* is null */ +var2 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ +var2 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, 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_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; +} } -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#AStringExpr#init_astringexpr for (self: Object, nullable TString, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AStringExpr__init_astringexpr(val* self, val* p0, val* p1) { -parser_prod__AStringExpr__init_astringexpr(self, p0, p1); +/* method parser_prod#ANullExpr#init_anullexpr for (self: Object, nullable TKwnull, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ANullExpr__init_anullexpr(val* self, val* p0, val* p1) { +parser_prod__ANullExpr__init_anullexpr(self, p0, p1); /* Direct call parser_prod#ANullExpr#init_anullexpr on */ RET_LABEL:; } -/* method parser_prod#AStringExpr#replace_child for (self: AStringExpr, ANode, nullable ANode) */ -void parser_prod__AStringExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ANullExpr#replace_child for (self: ANullExpr, ANode, nullable ANode) */ +void parser_prod__ANullExpr__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 /* : Token */; +val* var /* : TKwnull */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : nullable AAnnotations */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : nullable AAnnotations */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : null */; +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__AStringFormExpr___n_string].val; /* _n_string on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9479); -exit(1); +var = self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val; /* _n_kwnull on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnull"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5289); +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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TKwnull */ +cltype = type_parser_nodes__TKwnull.color; +idtype = type_parser_nodes__TKwnull.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TString */ -cltype = type_parser_nodes__TString.color; -idtype = type_parser_nodes__TString.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9482); -exit(1); } -self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9485); -exit(1); +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`", "TKwnull", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5290); +show_backtrace(1); +} +{ +parser_prod__ANullExpr__n_kwnull_61d(self, var_new_child); /* Direct call parser_prod#ANullExpr#n_kwnull= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ +var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, 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 */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype10 = type_parser_nodes__AAnnotations.color; -idtype11 = type_parser_nodes__AAnnotations.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9492); -exit(1); +var9 = var10; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +if (var9){ +/* isa nullable AAnnotations */ +cltype16 = type_nullable_parser_nodes__AAnnotations.color; +idtype17 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var15 = 1; } else { -var12 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var12; /* _n_annotations on */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5294); +show_backtrace(1); +} +{ +parser_prod__ANullExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#ANullExpr#n_annotations= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AStringExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AStringExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AStringExpr__replace_child(self, p0, p1); +/* method parser_prod#ANullExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ANullExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ANullExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ANullExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AStringExpr#n_string= for (self: AStringExpr, Token) */ -void parser_prod__AStringExpr__n_string_61d(val* self, val* p0) { -val* var_node /* var node: Token */; +/* method parser_prod#ANullExpr#n_kwnull= for (self: ANullExpr, TKwnull) */ +void parser_prod__ANullExpr__n_kwnull_61d(val* self, val* p0) { +val* var_node /* var node: TKwnull */; var_node = p0; -self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val = var_node; /* _n_kwnull 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#AStringExpr#n_string= for (self: Object, Token) */ -void VIRTUAL_parser_prod__AStringExpr__n_string_61d(val* self, val* p0) { -parser_prod__AStringExpr__n_string_61d(self, p0); +/* method parser_prod#ANullExpr#n_kwnull= for (self: Object, TKwnull) */ +void VIRTUAL_parser_prod__ANullExpr__n_kwnull_61d(val* self, val* p0) { +parser_prod__ANullExpr__n_kwnull_61d(self, p0); /* Direct call parser_prod#ANullExpr#n_kwnull= on */ RET_LABEL:; } -/* method parser_prod#AStringExpr#n_annotations= for (self: AStringExpr, nullable AAnnotations) */ -void parser_prod__AStringExpr__n_annotations_61d(val* self, val* p0) { +/* method parser_prod#ANullExpr#n_annotations= for (self: ANullExpr, nullable AAnnotations) */ +void parser_prod__ANullExpr__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 */; var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ +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 (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { -} -RET_LABEL:; +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; } -/* method parser_prod#AStringExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AStringExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__AStringExpr__n_annotations_61d(self, p0); -RET_LABEL:; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#AStringExpr#visit_all for (self: AStringExpr, Visitor) */ -void parser_prod__AStringExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : Token */; -val* var1 /* : nullable AAnnotations */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : nullable AAnnotations */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9517); -exit(1); +var1 = var2; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +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; } -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9519); -exit(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; } else { } RET_LABEL:; } -/* method parser_prod#AStringExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AStringExpr__visit_all(val* self, val* p0) { -parser_prod__AStringExpr__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AStartStringExpr#empty_init for (self: AStartStringExpr) */ -void parser_prod__AStartStringExpr__empty_init(val* self) { +/* method parser_prod#ANullExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ANullExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__ANullExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#ANullExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#AStartStringExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AStartStringExpr__empty_init(val* self) { -parser_prod__AStartStringExpr__empty_init(self); -RET_LABEL:; +/* method parser_prod#ANullExpr#visit_all for (self: ANullExpr, Visitor) */ +void parser_prod__ANullExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TKwnull */; +val* var1 /* : nullable AAnnotations */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ANullExpr___n_kwnull].val; /* _n_kwnull on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnull"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5313); +show_backtrace(1); } -/* method parser_prod#AStartStringExpr#init_astartstringexpr for (self: AStartStringExpr, nullable TStartString) */ -void parser_prod__AStartStringExpr__init_astartstringexpr(val* self, val* p0) { -val* var_n_string /* var n_string: nullable TStartString */; -var_n_string = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStartStringExpr__empty_init]))(self) /* empty_init on */; -if (var_n_string == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9531); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on */ -if (var_n_string == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9532); -exit(1); -} else { -((void (*)(val*, val*))(var_n_string->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_string, self) /* parent= on */; +var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AStartStringExpr#init_astartstringexpr for (self: Object, nullable TStartString) */ -void VIRTUAL_parser_prod__AStartStringExpr__init_astartstringexpr(val* self, val* p0) { -parser_prod__AStartStringExpr__init_astartstringexpr(self, p0); +/* method parser_prod#ANullExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ANullExpr__visit_all(val* self, val* p0) { +parser_prod__ANullExpr__visit_all(self, p0); /* Direct call parser_prod#ANullExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AStartStringExpr#replace_child for (self: AStartStringExpr, ANode, nullable ANode) */ -void parser_prod__AStartStringExpr__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 /* : Token */; -short int var1 /* : Bool */; -val* var2 /* : null */; +/* method parser_prod#ADecIntExpr#init_adecintexpr for (self: ADecIntExpr, nullable TNumber, nullable AAnnotations) */ +void parser_prod__ADecIntExpr__init_adecintexpr(val* self, val* p0, val* p1) { +val* var_n_number /* var n_number: nullable TNumber */; +val* var_n_annotations /* var n_annotations: nullable AAnnotations */; +val* var /* : null */; +short int var2 /* : Bool */; short int var3 /* : Bool */; -short int var4 /* : Bool */; -int cltype; -int idtype; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9537); -exit(1); -} -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +val* var_other /* var other: nullable Object */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +var_n_number = p0; +var_n_annotations = p1; +if (unlikely(var_n_number == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5323); +show_backtrace(1); } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TStartString */ -cltype = type_parser_nodes__TStartString.color; -idtype = type_parser_nodes__TStartString.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; +self->attrs[COLOR_parser_nodes__ADecIntExpr___n_number].val = var_n_number; /* _n_number on */ +if (var_n_number == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5324); +show_backtrace(1); } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +{ /* Inline parser_nodes#ANode#parent= (var_n_number,self) on */ +if (unlikely(var_n_number == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9540); -exit(1); +var_n_number->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9543); -exit(1); } -goto RET_LABEL; +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var = NULL; +if (var_n_annotations == NULL) { +var2 = 0; /* is null */ } else { +var2 = 1; /* arg is null and recv is not */ } -RET_LABEL:; -} -/* method parser_prod#AStartStringExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AStartStringExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AStartStringExpr__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#AStartStringExpr#n_string= for (self: AStartStringExpr, Token) */ -void parser_prod__AStartStringExpr__n_string_61d(val* self, val* p0) { -val* var_node /* var node: Token */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AStartStringExpr#n_string= for (self: Object, Token) */ -void VIRTUAL_parser_prod__AStartStringExpr__n_string_61d(val* self, val* p0) { -parser_prod__AStartStringExpr__n_string_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AStartStringExpr#visit_all for (self: AStartStringExpr, Visitor) */ -void parser_prod__AStartStringExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : Token */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9558); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var5 = var6; } -/* method parser_prod#AStartStringExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AStartStringExpr__visit_all(val* self, val* p0) { -parser_prod__AStartStringExpr__visit_all(self, p0); -RET_LABEL:; +var7 = !var5; +var3 = var7; +goto RET_LABEL4; +RET_LABEL4:(void)0; } -/* method parser_prod#AMidStringExpr#empty_init for (self: AMidStringExpr) */ -void parser_prod__AMidStringExpr__empty_init(val* self) { -RET_LABEL:; +var2 = var3; } -/* method parser_prod#AMidStringExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AMidStringExpr__empty_init(val* self) { -parser_prod__AMidStringExpr__empty_init(self); -RET_LABEL:; +if (var2){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; } -/* method parser_prod#AMidStringExpr#init_amidstringexpr for (self: AMidStringExpr, nullable TMidString) */ -void parser_prod__AMidStringExpr__init_amidstringexpr(val* self, val* p0) { -val* var_n_string /* var n_string: nullable TMidString */; -var_n_string = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMidStringExpr__empty_init]))(self) /* empty_init on */; -if (var_n_string == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9569); -exit(1); } -self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on */ -if (var_n_string == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9570); -exit(1); } else { -((void (*)(val*, val*))(var_n_string->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_string, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AMidStringExpr#init_amidstringexpr for (self: Object, nullable TMidString) */ -void VIRTUAL_parser_prod__AMidStringExpr__init_amidstringexpr(val* self, val* p0) { -parser_prod__AMidStringExpr__init_amidstringexpr(self, p0); +/* method parser_prod#ADecIntExpr#init_adecintexpr for (self: Object, nullable TNumber, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ADecIntExpr__init_adecintexpr(val* self, val* p0, val* p1) { +parser_prod__ADecIntExpr__init_adecintexpr(self, p0, p1); /* Direct call parser_prod#ADecIntExpr#init_adecintexpr on */ RET_LABEL:; } -/* method parser_prod#AMidStringExpr#replace_child for (self: AMidStringExpr, ANode, nullable ANode) */ -void parser_prod__AMidStringExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ADecIntExpr#replace_child for (self: ADecIntExpr, ANode, nullable ANode) */ +void parser_prod__ADecIntExpr__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 /* : Token */; +val* var /* : TNumber */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var4 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; +const char* var_class_name; +val* var8 /* : nullable AAnnotations */; +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__AStringFormExpr___n_string].val; /* _n_string on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9575); -exit(1); +var = self->attrs[COLOR_parser_nodes__ADecIntExpr___n_number].val; /* _n_number on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_number"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5331); +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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TNumber */ +cltype = type_parser_nodes__TNumber.color; +idtype = type_parser_nodes__TNumber.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TMidString */ -cltype = type_parser_nodes__TMidString.color; -idtype = type_parser_nodes__TMidString.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9578); -exit(1); } -self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9581); -exit(1); +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`", "TNumber", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5332); +show_backtrace(1); +} +{ +parser_prod__ADecIntExpr__n_number_61d(self, var_new_child); /* Direct call parser_prod#ADecIntExpr#n_number= on */ } goto RET_LABEL; } else { } -RET_LABEL:; +var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ +} else { +{ /* 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; } -/* method parser_prod#AMidStringExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AMidStringExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AMidStringExpr__replace_child(self, p0, p1); -RET_LABEL:; } -/* method parser_prod#AMidStringExpr#n_string= for (self: AMidStringExpr, Token) */ -void parser_prod__AMidStringExpr__n_string_61d(val* self, val* p0) { -val* var_node /* var node: Token */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -/* method parser_prod#AMidStringExpr#n_string= for (self: Object, Token) */ -void VIRTUAL_parser_prod__AMidStringExpr__n_string_61d(val* self, val* p0) { -parser_prod__AMidStringExpr__n_string_61d(self, p0); -RET_LABEL:; +var9 = var10; } -/* method parser_prod#AMidStringExpr#visit_all for (self: AMidStringExpr, Visitor) */ -void parser_prod__AMidStringExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : Token */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9596); -exit(1); +if (var9){ +/* isa nullable AAnnotations */ +cltype16 = type_nullable_parser_nodes__AAnnotations.color; +idtype17 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var15 = 1; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; } -/* method parser_prod#AMidStringExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AMidStringExpr__visit_all(val* self, val* p0) { -parser_prod__AMidStringExpr__visit_all(self, p0); -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`", "nullable AAnnotations", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5336); +show_backtrace(1); +} +{ +parser_prod__ADecIntExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#ADecIntExpr#n_annotations= on */ +} +goto RET_LABEL; +} else { } -/* method parser_prod#AEndStringExpr#empty_init for (self: AEndStringExpr) */ -void parser_prod__AEndStringExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AEndStringExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AEndStringExpr__empty_init(val* self) { -parser_prod__AEndStringExpr__empty_init(self); +/* method parser_prod#ADecIntExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ADecIntExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ADecIntExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ADecIntExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AEndStringExpr#init_aendstringexpr for (self: AEndStringExpr, nullable TEndString) */ -void parser_prod__AEndStringExpr__init_aendstringexpr(val* self, val* p0) { -val* var_n_string /* var n_string: nullable TEndString */; -var_n_string = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEndStringExpr__empty_init]))(self) /* empty_init on */; -if (var_n_string == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9607); -exit(1); +/* method parser_prod#ADecIntExpr#n_number= for (self: ADecIntExpr, TNumber) */ +void parser_prod__ADecIntExpr__n_number_61d(val* self, val* p0) { +val* var_node /* var node: TNumber */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ADecIntExpr___n_number].val = var_node; /* _n_number 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__AStringFormExpr___n_string].val = var_n_string; /* _n_string on */ -if (var_n_string == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9608); -exit(1); -} else { -((void (*)(val*, val*))(var_n_string->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_string, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AEndStringExpr#init_aendstringexpr for (self: Object, nullable TEndString) */ -void VIRTUAL_parser_prod__AEndStringExpr__init_aendstringexpr(val* self, val* p0) { -parser_prod__AEndStringExpr__init_aendstringexpr(self, p0); +/* method parser_prod#ADecIntExpr#n_number= for (self: Object, TNumber) */ +void VIRTUAL_parser_prod__ADecIntExpr__n_number_61d(val* self, val* p0) { +parser_prod__ADecIntExpr__n_number_61d(self, p0); /* Direct call parser_prod#ADecIntExpr#n_number= on */ RET_LABEL:; } -/* method parser_prod#AEndStringExpr#replace_child for (self: AEndStringExpr, ANode, nullable ANode) */ -void parser_prod__AEndStringExpr__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 /* : Token */; +/* method parser_prod#ADecIntExpr#n_annotations= for (self: ADecIntExpr, nullable AAnnotations) */ +void parser_prod__ADecIntExpr__n_annotations_61d(val* self, val* p0) { +val* var_node /* var node: nullable AAnnotations */; +val* var /* : null */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var4 /* : Bool */; -int cltype; -int idtype; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9613); -exit(1); -} -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +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 { -var3 = 1; /* arg is null and recv is not */ +var1 = 1; /* arg is null and recv is not */ } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TEndString */ -cltype = type_parser_nodes__TEndString.color; -idtype = type_parser_nodes__TEndString.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; +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; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9616); -exit(1); +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_new_child; /* _n_string on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9619); -exit(1); +var1 = var2; } -goto RET_LABEL; -} else { +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; } -RET_LABEL:; } -/* method parser_prod#AEndStringExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AEndStringExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AEndStringExpr__replace_child(self, p0, p1); -RET_LABEL:; +} else { } -/* method parser_prod#AEndStringExpr#n_string= for (self: AEndStringExpr, Token) */ -void parser_prod__AEndStringExpr__n_string_61d(val* self, val* p0) { -val* var_node /* var node: Token */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AEndStringExpr#n_string= for (self: Object, Token) */ -void VIRTUAL_parser_prod__AEndStringExpr__n_string_61d(val* self, val* p0) { -parser_prod__AEndStringExpr__n_string_61d(self, p0); +/* method parser_prod#ADecIntExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ADecIntExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__ADecIntExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#ADecIntExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#AEndStringExpr#visit_all for (self: AEndStringExpr, Visitor) */ -void parser_prod__AEndStringExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ADecIntExpr#visit_all for (self: ADecIntExpr, Visitor) */ +void parser_prod__ADecIntExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : Token */; +val* var /* : TNumber */; +val* var1 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_string", "src/parser/parser_prod.nit", 9634); -exit(1); +var = self->attrs[COLOR_parser_nodes__ADecIntExpr___n_number].val; /* _n_number on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_number"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5355); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AEndStringExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AEndStringExpr__visit_all(val* self, val* p0) { -parser_prod__AEndStringExpr__visit_all(self, p0); -RET_LABEL:; +var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ASuperstringExpr#empty_init for (self: ASuperstringExpr) */ -void parser_prod__ASuperstringExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#ASuperstringExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ASuperstringExpr__empty_init(val* self) { -parser_prod__ASuperstringExpr__empty_init(self); +/* method parser_prod#ADecIntExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ADecIntExpr__visit_all(val* self, val* p0) { +parser_prod__ADecIntExpr__visit_all(self, p0); /* Direct call parser_prod#ADecIntExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ASuperstringExpr#init_asuperstringexpr for (self: ASuperstringExpr, Collection[Object], nullable AAnnotations) */ -void parser_prod__ASuperstringExpr__init_asuperstringexpr(val* self, val* p0, val* p1) { -val* var_n_exprs /* var n_exprs: Collection[Object] */; +/* method parser_prod#AHexIntExpr#init_ahexintexpr for (self: AHexIntExpr, nullable THexNumber, nullable AAnnotations) */ +void parser_prod__AHexIntExpr__init_ahexintexpr(val* self, val* p0, val* p1) { +val* var_n_hex_number /* var n_hex_number: nullable THexNumber */; val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : Iterator[nullable Object] */; -short int var1 /* : Bool */; -val* var2 /* : nullable Object */; -val* var_n /* var n: Object */; +val* var /* : null */; +short int var2 /* : Bool */; short int var3 /* : Bool */; -int cltype; -int idtype; -val* var4 /* : ANodes[AExpr] */; -val* var5 /* : null */; +val* var_other /* var other: nullable Object */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -var_n_exprs = p0; +short int var7 /* : Bool */; +var_n_hex_number = p0; var_n_annotations = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperstringExpr__empty_init]))(self) /* empty_init on */; -var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on */; -for(;;) { -var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on */; -if(!var1) break; -var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on */; -var_n = var2; -/* isa AExpr */ -cltype = type_parser_nodes__AExpr.color; -idtype = type_parser_nodes__AExpr.id; -if(cltype >= var_n->type->table_size) { -var3 = 0; -} else { -var3 = var_n->type->type_table[cltype] == idtype; +if (unlikely(var_n_hex_number == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5365); +show_backtrace(1); } -if (!var3) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9647); -exit(1); +self->attrs[COLOR_parser_nodes__AHexIntExpr___n_hex_number].val = var_n_hex_number; /* _n_hex_number on */ +if (var_n_hex_number == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5366); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_hex_number,self) on */ +if (unlikely(var_n_hex_number == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -var4 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 9648); -exit(1); +var_n_hex_number->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on */; -((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on */; } -BREAK_label: (void)0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var5 = NULL; +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var = NULL; if (var_n_annotations == NULL) { -var6 = 0; /* is null */ +var2 = 0; /* is null */ } else { -var6 = 1; /* arg is null and recv is not */ +var2 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, 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_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; +} } -if (var6){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#ASuperstringExpr#init_asuperstringexpr for (self: Object, Collection[Object], nullable AAnnotations) */ -void VIRTUAL_parser_prod__ASuperstringExpr__init_asuperstringexpr(val* self, val* p0, val* p1) { -parser_prod__ASuperstringExpr__init_asuperstringexpr(self, p0, p1); +/* method parser_prod#AHexIntExpr#init_ahexintexpr for (self: Object, nullable THexNumber, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AHexIntExpr__init_ahexintexpr(val* self, val* p0, val* p1) { +parser_prod__AHexIntExpr__init_ahexintexpr(self, p0, p1); /* Direct call parser_prod#AHexIntExpr#init_ahexintexpr on */ RET_LABEL:; } -/* method parser_prod#ASuperstringExpr#replace_child for (self: ASuperstringExpr, ANode, nullable ANode) */ -void parser_prod__ASuperstringExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AHexIntExpr#replace_child for (self: AHexIntExpr, ANode, nullable ANode) */ +void parser_prod__AHexIntExpr__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 /* : Range[Int] */; -long var1 /* : Int */; -val* var2 /* : ANodes[AExpr] */; -long var3 /* : Int */; -val* var4 /* : Discrete */; -val* var5 /* : Discrete */; -val* var6 /* : Iterator[nullable Object] */; +val* var /* : THexNumber */; +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 */; -val* var8 /* : nullable Object */; -long var_i /* var i: Int */; -long var9 /* : Int */; -val* var10 /* : ANodes[AExpr] */; -val* var11 /* : nullable Object */; +int cltype; +int idtype; +const char* var_class_name; +val* var8 /* : nullable AAnnotations */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; short int var12 /* : Bool */; -val* var13 /* : null */; short int var14 /* : Bool */; short int var15 /* : Bool */; -int cltype; -int idtype; -val* var16 /* : ANodes[AExpr] */; -val* var17 /* : ANodes[AExpr] */; -val* var18 /* : nullable AAnnotations */; -short int var19 /* : Bool */; -val* var20 /* : null */; -short int var21 /* : Bool */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -val* var25 /* : null */; +int cltype16; +int idtype17; +const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = NEW_range__Range(&type_range__Rangekernel__Int); -var1 = 0; -var2 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 9659); -exit(1); -} -var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on */; -var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */ -var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on */; -CHECK_NEW_range__Range(var); -var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on */; -for(;;) { -var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on */; -if(!var7) break; -var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on */; -var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */; -var_i = var9; -var10 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on */ -if (var10 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 9660); -exit(1); -} -var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on */; -var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on */; -if (var12){ -var13 = NULL; -if (var_new_child == NULL) { -var14 = 0; /* is null */ -} else { -var14 = 1; /* arg is null and recv is not */ +var = self->attrs[COLOR_parser_nodes__AHexIntExpr___n_hex_number].val; /* _n_hex_number on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_hex_number"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5373); +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; } -if (var14){ -/* isa AExpr */ -cltype = type_parser_nodes__AExpr.color; -idtype = type_parser_nodes__AExpr.id; -if(cltype >= var_new_child->type->table_size) { -var15 = 0; -} else { -var15 = var_new_child->type->type_table[cltype] == idtype; } -if (!var15) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9662); -exit(1); +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -var16 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on */ -if (var16 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 9663); -exit(1); +var1 = var2; } -((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on */; -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; +if (var1){ +/* isa THexNumber */ +cltype = type_parser_nodes__THexNumber.color; +idtype = type_parser_nodes__THexNumber.id; +if(var_new_child == NULL) { +var7 = 0; +} else { +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var17 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on */ -if (var17 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 9666); -exit(1); +var7 = var_new_child->type->type_table[cltype] == idtype; } -((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on */; } -goto RET_LABEL; -} 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`", "THexNumber", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5374); +show_backtrace(1); } -CONTINUE_label: (void)0; -((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on */; +{ +parser_prod__AHexIntExpr__n_hex_number_61d(self, var_new_child); /* Direct call parser_prod#AHexIntExpr#n_hex_number= on */ } -BREAK_label: (void)0; -var18 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var18 == NULL) { -var19 = 0; /* cannot be null */ +goto RET_LABEL; } else { -var19 = ((short int (*)(val*, val*))(var18->class->vft[COLOR_kernel__Object___61d_61d]))(var18, var_old_child) /* == on */; } -if (var19){ -var20 = NULL; -if (var_new_child == NULL) { -var21 = 0; /* is null */ +var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var21 = 1; /* arg is null and recv is not */ +{ /* 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; } -if (var21){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype23 = type_parser_nodes__AAnnotations.color; -idtype24 = type_parser_nodes__AAnnotations.id; -if(cltype23 >= var_new_child->type->table_size) { -var22 = 0; -} else { -var22 = var_new_child->type->type_table[cltype23] == idtype24; } -if (!var22) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9674); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +if (var9){ +/* isa nullable AAnnotations */ +cltype16 = type_nullable_parser_nodes__AAnnotations.color; +idtype17 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var15 = 1; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var25 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var25; /* _n_annotations on */ +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 AAnnotations", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5378); +show_backtrace(1); +} +{ +parser_prod__AHexIntExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AHexIntExpr#n_annotations= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ASuperstringExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ASuperstringExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ASuperstringExpr__replace_child(self, p0, p1); +/* method parser_prod#AHexIntExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AHexIntExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AHexIntExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AHexIntExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ASuperstringExpr#n_annotations= for (self: ASuperstringExpr, nullable AAnnotations) */ -void parser_prod__ASuperstringExpr__n_annotations_61d(val* self, val* p0) { +/* method parser_prod#AHexIntExpr#n_hex_number= for (self: AHexIntExpr, THexNumber) */ +void parser_prod__AHexIntExpr__n_hex_number_61d(val* self, val* p0) { +val* var_node /* var node: THexNumber */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AHexIntExpr___n_hex_number].val = var_node; /* _n_hex_number 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#AHexIntExpr#n_hex_number= for (self: Object, THexNumber) */ +void VIRTUAL_parser_prod__AHexIntExpr__n_hex_number_61d(val* self, val* p0) { +parser_prod__AHexIntExpr__n_hex_number_61d(self, p0); /* Direct call parser_prod#AHexIntExpr#n_hex_number= on */ +RET_LABEL:; +} +/* method parser_prod#AHexIntExpr#n_annotations= for (self: AHexIntExpr, nullable AAnnotations) */ +void parser_prod__AHexIntExpr__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 */; var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ +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){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, 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; +} +} } else { } RET_LABEL:; } -/* method parser_prod#ASuperstringExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ASuperstringExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__ASuperstringExpr__n_annotations_61d(self, p0); +/* method parser_prod#AHexIntExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AHexIntExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__AHexIntExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#AHexIntExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#ASuperstringExpr#visit_all for (self: ASuperstringExpr, Visitor) */ -void parser_prod__ASuperstringExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AHexIntExpr#visit_all for (self: AHexIntExpr, Visitor) */ +void parser_prod__AHexIntExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : ANodes[AExpr] */; -val* var1 /* : Iterator[nullable Object] */; -short int var2 /* : Bool */; -val* var3 /* : nullable Object */; -val* var_n /* var n: AExpr */; -val* var4 /* : nullable AAnnotations */; -val* var5 /* : null */; -short int var6 /* : Bool */; -val* var7 /* : nullable AAnnotations */; +val* var /* : THexNumber */; +val* var1 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 9694); -exit(1); -} -var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on */; -for(;;) { -var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on */; -if(!var2) break; -var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on */; -var_n = var3; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on */; -} -BREAK_label: (void)0; -var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var5 = NULL; -if (var4 == NULL) { -var6 = 0; /* is null */ -} else { -var6 = 1; /* arg is null and recv is not */ -} -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9698); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; -} else { +var = self->attrs[COLOR_parser_nodes__AHexIntExpr___n_hex_number].val; /* _n_hex_number on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_hex_number"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5397); +show_backtrace(1); } -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ASuperstringExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ASuperstringExpr__visit_all(val* self, val* p0) { -parser_prod__ASuperstringExpr__visit_all(self, p0); -RET_LABEL:; +var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AParExpr#empty_init for (self: AParExpr) */ -void parser_prod__AParExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AParExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AParExpr__empty_init(val* self) { -parser_prod__AParExpr__empty_init(self); +/* method parser_prod#AHexIntExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AHexIntExpr__visit_all(val* self, val* p0) { +parser_prod__AHexIntExpr__visit_all(self, p0); /* Direct call parser_prod#AHexIntExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AParExpr#init_aparexpr for (self: AParExpr, nullable TOpar, nullable AExpr, nullable TCpar, nullable AAnnotations) */ -void parser_prod__AParExpr__init_aparexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -val* var_n_opar /* var n_opar: nullable TOpar */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_cpar /* var n_cpar: nullable TCpar */; +/* method parser_prod#AFloatExpr#init_afloatexpr for (self: AFloatExpr, nullable TFloat, nullable AAnnotations) */ +void parser_prod__AFloatExpr__init_afloatexpr(val* self, val* p0, val* p1) { +val* var_n_float /* var n_float: nullable TFloat */; val* var_n_annotations /* var n_annotations: nullable AAnnotations */; val* var /* : null */; -short int var1 /* : Bool */; -var_n_opar = p0; -var_n_expr = p1; -var_n_cpar = p2; -var_n_annotations = p3; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AParExpr__empty_init]))(self) /* empty_init on */; -if (var_n_opar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9713); -exit(1); -} -self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_n_opar; /* _n_opar on */ -if (var_n_opar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9714); -exit(1); -} else { -((void (*)(val*, val*))(var_n_opar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_opar, self) /* parent= on */; -} -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9715); -exit(1); +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_float = p0; +var_n_annotations = p1; +if (unlikely(var_n_float == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5407); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9716); -exit(1); +self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_n_float; /* _n_float on */ +if (var_n_float == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5408); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_float,self) on */ +if (unlikely(var_n_float == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_cpar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9717); -exit(1); +var_n_float->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_n_cpar; /* _n_cpar on */ -if (var_n_cpar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9718); -exit(1); -} else { -((void (*)(val*, val*))(var_n_cpar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cpar, self) /* parent= on */; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ var = NULL; if (var_n_annotations == NULL) { -var1 = 0; /* is null */ +var2 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ +var2 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, 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_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; +} } -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#AParExpr#init_aparexpr for (self: Object, nullable TOpar, nullable AExpr, nullable TCpar, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AParExpr__init_aparexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__AParExpr__init_aparexpr(self, p0, p1, p2, p3); +/* method parser_prod#AFloatExpr#init_afloatexpr for (self: Object, nullable TFloat, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AFloatExpr__init_afloatexpr(val* self, val* p0, val* p1) { +parser_prod__AFloatExpr__init_afloatexpr(self, p0, p1); /* Direct call parser_prod#AFloatExpr#init_afloatexpr on */ RET_LABEL:; } -/* method parser_prod#AParExpr#replace_child for (self: AParExpr, ANode, nullable ANode) */ -void parser_prod__AParExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AFloatExpr#replace_child for (self: AFloatExpr, ANode, nullable ANode) */ +void parser_prod__AFloatExpr__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 /* : TOpar */; +val* var /* : TFloat */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : AExpr */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : nullable AAnnotations */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : TCpar */; -short int var13 /* : Bool */; -val* var14 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : nullable AAnnotations */; -short int var20 /* : Bool */; -val* var21 /* : null */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var26 /* : null */; +int cltype16; +int idtype17; +const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val; /* _n_opar on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 9727); -exit(1); +var = self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val; /* _n_float on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_float"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5415); +show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TOpar */ -cltype = type_parser_nodes__TOpar.color; -idtype = type_parser_nodes__TOpar.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9730); -exit(1); +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_new_child; /* _n_opar on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9733); -exit(1); +var1 = var2; } -goto RET_LABEL; +if (var1){ +/* isa TFloat */ +cltype = type_parser_nodes__TFloat.color; +idtype = type_parser_nodes__TFloat.id; +if(var_new_child == NULL) { +var7 = 0; } else { -} -var5 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 9737); -exit(1); -} -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var8 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype10 = type_parser_nodes__AExpr.color; -idtype11 = type_parser_nodes__AExpr.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9740); -exit(1); +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`", "TFloat", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5416); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9743); -exit(1); +{ +parser_prod__AFloatExpr__n_float_61d(self, var_new_child); /* Direct call parser_prod#AFloatExpr#n_float= on */ } goto RET_LABEL; } else { } -var12 = self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val; /* _n_cpar on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 9747); -exit(1); -} -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ -} else { -var15 = 1; /* arg is null and recv is not */ -} -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TCpar */ -cltype17 = type_parser_nodes__TCpar.color; -idtype18 = type_parser_nodes__TCpar.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; +var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; +{ /* 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; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9750); -exit(1); } -self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_new_child; /* _n_cpar on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9753); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -goto RET_LABEL; -} else { +var9 = var10; } -var19 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var19 == NULL) { -var20 = 0; /* cannot be null */ +if (var9){ +/* isa nullable AAnnotations */ +cltype16 = type_nullable_parser_nodes__AAnnotations.color; +idtype17 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var15 = 1; } else { -var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on */; -} -if (var20){ -var21 = NULL; -if (var_new_child == NULL) { -var22 = 0; /* is null */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var22 = 1; /* arg is null and recv is not */ +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -if (var22){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype24 = type_parser_nodes__AAnnotations.color; -idtype25 = type_parser_nodes__AAnnotations.id; -if(cltype24 >= var_new_child->type->table_size) { -var23 = 0; -} else { -var23 = var_new_child->type->type_table[cltype24] == idtype25; } -if (!var23) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9760); -exit(1); +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 AAnnotations", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5420); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ -} else { -var26 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var26; /* _n_annotations on */ +{ +parser_prod__AFloatExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AFloatExpr#n_annotations= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AParExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AParExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AParExpr__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#AParExpr#n_opar= for (self: AParExpr, TOpar) */ -void parser_prod__AParExpr__n_opar_61d(val* self, val* p0) { -val* var_node /* var node: TOpar */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_node; /* _n_opar on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AParExpr#n_opar= for (self: Object, TOpar) */ -void VIRTUAL_parser_prod__AParExpr__n_opar_61d(val* self, val* p0) { -parser_prod__AParExpr__n_opar_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AParExpr#n_expr= for (self: AParExpr, AExpr) */ -void parser_prod__AParExpr__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 */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AParExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AParExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AParExpr__n_expr_61d(self, p0); +/* method parser_prod#AFloatExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AFloatExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AFloatExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AFloatExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AParExpr#n_cpar= for (self: AParExpr, TCpar) */ -void parser_prod__AParExpr__n_cpar_61d(val* self, val* p0) { -val* var_node /* var node: TCpar */; +/* method parser_prod#AFloatExpr#n_float= for (self: AFloatExpr, TFloat) */ +void parser_prod__AFloatExpr__n_float_61d(val* self, val* p0) { +val* var_node /* var node: TFloat */; var_node = p0; -self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_node; /* _n_cpar on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val = var_node; /* _n_float 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#AParExpr#n_cpar= for (self: Object, TCpar) */ -void VIRTUAL_parser_prod__AParExpr__n_cpar_61d(val* self, val* p0) { -parser_prod__AParExpr__n_cpar_61d(self, p0); +/* method parser_prod#AFloatExpr#n_float= for (self: Object, TFloat) */ +void VIRTUAL_parser_prod__AFloatExpr__n_float_61d(val* self, val* p0) { +parser_prod__AFloatExpr__n_float_61d(self, p0); /* Direct call parser_prod#AFloatExpr#n_float= on */ RET_LABEL:; } -/* method parser_prod#AParExpr#n_annotations= for (self: AParExpr, nullable AAnnotations) */ -void parser_prod__AParExpr__n_annotations_61d(val* self, val* p0) { +/* method parser_prod#AFloatExpr#n_annotations= for (self: AFloatExpr, nullable AAnnotations) */ +void parser_prod__AFloatExpr__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 */; var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ +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){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, 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; +} +} } else { } RET_LABEL:; } -/* method parser_prod#AParExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AParExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__AParExpr__n_annotations_61d(self, p0); +/* method parser_prod#AFloatExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AFloatExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__AFloatExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#AFloatExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#AParExpr#visit_all for (self: AParExpr, Visitor) */ -void parser_prod__AParExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AFloatExpr#visit_all for (self: AFloatExpr, Visitor) */ +void parser_prod__AFloatExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TOpar */; -val* var1 /* : AExpr */; -val* var2 /* : TCpar */; -val* var3 /* : nullable AAnnotations */; -val* var4 /* : null */; -short int var5 /* : Bool */; -val* var6 /* : nullable AAnnotations */; +val* var /* : TFloat */; +val* var1 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val; /* _n_opar on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 9795); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 9796); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val; /* _n_cpar on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 9797); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var4 = NULL; -if (var3 == NULL) { -var5 = 0; /* is null */ -} else { -var5 = 1; /* arg is null and recv is not */ -} -if (var5){ -var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9799); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on */; -} else { +var = self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val; /* _n_float on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_float"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5439); +show_backtrace(1); } -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AParExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AParExpr__visit_all(val* self, val* p0) { -parser_prod__AParExpr__visit_all(self, p0); -RET_LABEL:; +var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AAsCastExpr#empty_init for (self: AAsCastExpr) */ -void parser_prod__AAsCastExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AAsCastExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AAsCastExpr__empty_init(val* self) { -parser_prod__AAsCastExpr__empty_init(self); +/* method parser_prod#AFloatExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AFloatExpr__visit_all(val* self, val* p0) { +parser_prod__AFloatExpr__visit_all(self, p0); /* Direct call parser_prod#AFloatExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AAsCastExpr#init_aascastexpr for (self: AAsCastExpr, nullable AExpr, nullable TKwas, nullable TOpar, nullable AType, nullable TCpar) */ -void parser_prod__AAsCastExpr__init_aascastexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_kwas /* var n_kwas: nullable TKwas */; -val* var_n_opar /* var n_opar: nullable TOpar */; -val* var_n_type /* var n_type: nullable AType */; -val* var_n_cpar /* var n_cpar: nullable TCpar */; -var_n_expr = p0; -var_n_kwas = p1; -var_n_opar = p2; -var_n_type = p3; -var_n_cpar = p4; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAsCastExpr__empty_init]))(self) /* empty_init on */; -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9815); -exit(1); +/* method parser_prod#ACharExpr#init_acharexpr for (self: ACharExpr, nullable TChar, nullable AAnnotations) */ +void parser_prod__ACharExpr__init_acharexpr(val* self, val* p0, val* p1) { +val* var_n_char /* var n_char: nullable TChar */; +val* var_n_annotations /* var n_annotations: nullable AAnnotations */; +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_char = p0; +var_n_annotations = p1; +if (unlikely(var_n_char == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5449); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9816); -exit(1); +self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_n_char; /* _n_char on */ +if (var_n_char == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5450); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_char,self) on */ +if (unlikely(var_n_char == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_kwas == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9817); -exit(1); +var_n_char->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_n_kwas; /* _n_kwas on */ -if (var_n_kwas == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9818); -exit(1); +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var = NULL; +if (var_n_annotations == NULL) { +var2 = 0; /* is null */ } else { -((void (*)(val*, val*))(var_n_kwas->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwas, self) /* parent= on */; +var2 = 1; /* arg is null and recv is not */ } -if (var_n_opar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9819); -exit(1); +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var5 = var6; } -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_n_opar; /* _n_opar on */ -if (var_n_opar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9820); -exit(1); -} else { -((void (*)(val*, val*))(var_n_opar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_opar, self) /* parent= on */; +var7 = !var5; +var3 = var7; +goto RET_LABEL4; +RET_LABEL4:(void)0; } -if (var_n_type == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9821); -exit(1); +var2 = var3; } -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val = var_n_type; /* _n_type on */ -if (var_n_type == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9822); -exit(1); -} else { -((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on */; +if (var2){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; } -if (var_n_cpar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9823); -exit(1); } -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_n_cpar; /* _n_cpar on */ -if (var_n_cpar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9824); -exit(1); } else { -((void (*)(val*, val*))(var_n_cpar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cpar, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AAsCastExpr#init_aascastexpr for (self: Object, nullable AExpr, nullable TKwas, nullable TOpar, nullable AType, nullable TCpar) */ -void VIRTUAL_parser_prod__AAsCastExpr__init_aascastexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { -parser_prod__AAsCastExpr__init_aascastexpr(self, p0, p1, p2, p3, p4); +/* method parser_prod#ACharExpr#init_acharexpr for (self: Object, nullable TChar, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ACharExpr__init_acharexpr(val* self, val* p0, val* p1) { +parser_prod__ACharExpr__init_acharexpr(self, p0, p1); /* Direct call parser_prod#ACharExpr#init_acharexpr on */ RET_LABEL:; } -/* method parser_prod#AAsCastExpr#replace_child for (self: AAsCastExpr, ANode, nullable ANode) */ -void parser_prod__AAsCastExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ACharExpr#replace_child for (self: ACharExpr, ANode, nullable ANode) */ +void parser_prod__ACharExpr__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 /* : TChar */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : TKwas */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : nullable AAnnotations */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : TOpar */; -short int var13 /* : Bool */; -val* var14 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : AType */; -short int var20 /* : Bool */; -val* var21 /* : null */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var26 /* : TCpar */; -short int var27 /* : Bool */; -val* var28 /* : null */; -short int var29 /* : Bool */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; +int cltype16; +int idtype17; +const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 9829); -exit(1); -} -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype = type_parser_nodes__AExpr.color; -idtype = type_parser_nodes__AExpr.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; -} -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9832); -exit(1); -} -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9835); -exit(1); -} -goto RET_LABEL; -} else { -} -var5 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val; /* _n_kwas on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwas", "src/parser/parser_prod.nit", 9839); -exit(1); +var = self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val; /* _n_char on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_char"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5457); +show_backtrace(1); } -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwas */ -cltype10 = type_parser_nodes__TKwas.color; -idtype11 = type_parser_nodes__TKwas.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9842); -exit(1); +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_new_child; /* _n_kwas on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9845); -exit(1); +var1 = var2; } -goto RET_LABEL; +if (var1){ +/* isa TChar */ +cltype = type_parser_nodes__TChar.color; +idtype = type_parser_nodes__TChar.id; +if(var_new_child == NULL) { +var7 = 0; } else { -} -var12 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val; /* _n_opar on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 9849); -exit(1); -} -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var15 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TOpar */ -cltype17 = type_parser_nodes__TOpar.color; -idtype18 = type_parser_nodes__TOpar.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; -} else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9852); -exit(1); +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`", "TChar", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5458); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_new_child; /* _n_opar on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9855); -exit(1); +{ +parser_prod__ACharExpr__n_char_61d(self, var_new_child); /* Direct call parser_prod#ACharExpr#n_char= on */ } goto RET_LABEL; } else { } -var19 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val; /* _n_type on */ -if (var19 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 9859); -exit(1); -} -var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on */; -if (var20){ -var21 = NULL; -if (var_new_child == NULL) { -var22 = 0; /* is null */ +var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var22 = 1; /* arg is null and recv is not */ +{ /* 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; } -if (var22){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AType */ -cltype24 = type_parser_nodes__AType.color; -idtype25 = type_parser_nodes__AType.id; -if(cltype24 >= var_new_child->type->table_size) { -var23 = 0; -} else { -var23 = var_new_child->type->type_table[cltype24] == idtype25; } -if (!var23) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9862); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val = var_new_child; /* _n_type on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9865); -exit(1); +var9 = var10; } -goto RET_LABEL; +if (var9){ +/* isa nullable AAnnotations */ +cltype16 = type_nullable_parser_nodes__AAnnotations.color; +idtype17 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var15 = 1; } else { -} -var26 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val; /* _n_cpar on */ -if (var26 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 9869); -exit(1); -} -var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on */; -if (var27){ -var28 = NULL; -if (var_new_child == NULL) { -var29 = 0; /* is null */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var29 = 1; /* arg is null and recv is not */ +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -if (var29){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TCpar */ -cltype31 = type_parser_nodes__TCpar.color; -idtype32 = type_parser_nodes__TCpar.id; -if(cltype31 >= var_new_child->type->table_size) { -var30 = 0; -} else { -var30 = var_new_child->type->type_table[cltype31] == idtype32; } -if (!var30) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9872); -exit(1); +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 AAnnotations", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5462); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_new_child; /* _n_cpar on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9875); -exit(1); +{ +parser_prod__ACharExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#ACharExpr#n_annotations= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AAsCastExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AAsCastExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AAsCastExpr__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#AAsCastExpr#n_expr= for (self: AAsCastExpr, AExpr) */ -void parser_prod__AAsCastExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val = var_node; /* _n_expr on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AAsCastExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AAsCastExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AAsCastExpr__n_expr_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AAsCastExpr#n_kwas= for (self: AAsCastExpr, TKwas) */ -void parser_prod__AAsCastExpr__n_kwas_61d(val* self, val* p0) { -val* var_node /* var node: TKwas */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_node; /* _n_kwas on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AAsCastExpr#n_kwas= for (self: Object, TKwas) */ -void VIRTUAL_parser_prod__AAsCastExpr__n_kwas_61d(val* self, val* p0) { -parser_prod__AAsCastExpr__n_kwas_61d(self, p0); +/* method parser_prod#ACharExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ACharExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ACharExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ACharExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AAsCastExpr#n_opar= for (self: AAsCastExpr, TOpar) */ -void parser_prod__AAsCastExpr__n_opar_61d(val* self, val* p0) { -val* var_node /* var node: TOpar */; +/* method parser_prod#ACharExpr#n_char= for (self: ACharExpr, TChar) */ +void parser_prod__ACharExpr__n_char_61d(val* self, val* p0) { +val* var_node /* var node: TChar */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_node; /* _n_opar on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val = var_node; /* _n_char 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; } -/* method parser_prod#AAsCastExpr#n_opar= for (self: Object, TOpar) */ -void VIRTUAL_parser_prod__AAsCastExpr__n_opar_61d(val* self, val* p0) { -parser_prod__AAsCastExpr__n_opar_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AAsCastExpr#n_type= for (self: AAsCastExpr, AType) */ -void parser_prod__AAsCastExpr__n_type_61d(val* self, val* p0) { -val* var_node /* var node: AType */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val = var_node; /* _n_type on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AAsCastExpr#n_type= for (self: Object, AType) */ -void VIRTUAL_parser_prod__AAsCastExpr__n_type_61d(val* self, val* p0) { -parser_prod__AAsCastExpr__n_type_61d(self, p0); +/* method parser_prod#ACharExpr#n_char= for (self: Object, TChar) */ +void VIRTUAL_parser_prod__ACharExpr__n_char_61d(val* self, val* p0) { +parser_prod__ACharExpr__n_char_61d(self, p0); /* Direct call parser_prod#ACharExpr#n_char= on */ RET_LABEL:; } -/* method parser_prod#AAsCastExpr#n_cpar= for (self: AAsCastExpr, TCpar) */ -void parser_prod__AAsCastExpr__n_cpar_61d(val* self, val* p0) { -val* var_node /* var node: TCpar */; +/* method parser_prod#ACharExpr#n_annotations= for (self: ACharExpr, nullable AAnnotations) */ +void parser_prod__ACharExpr__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 */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_node; /* _n_cpar on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AAsCastExpr#n_cpar= for (self: Object, TCpar) */ -void VIRTUAL_parser_prod__AAsCastExpr__n_cpar_61d(val* self, val* p0) { -parser_prod__AAsCastExpr__n_cpar_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AAsCastExpr#visit_all for (self: AAsCastExpr, Visitor) */ -void parser_prod__AAsCastExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : AExpr */; -val* var1 /* : TKwas */; -val* var2 /* : TOpar */; -val* var3 /* : AType */; -val* var4 /* : TCpar */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 9910); -exit(1); +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 */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val; /* _n_kwas on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwas", "src/parser/parser_prod.nit", 9911); -exit(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; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val; /* _n_opar on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 9912); -exit(1); +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -var3 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val; /* _n_type on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 9913); -exit(1); +var1 = var2; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -var4 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val; /* _n_cpar on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 9914); -exit(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 { } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; RET_LABEL:; } -/* method parser_prod#AAsCastExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AAsCastExpr__visit_all(val* self, val* p0) { -parser_prod__AAsCastExpr__visit_all(self, p0); +/* method parser_prod#ACharExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ACharExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__ACharExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#ACharExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#empty_init for (self: AAsNotnullExpr) */ -void parser_prod__AAsNotnullExpr__empty_init(val* self) { +/* method parser_prod#ACharExpr#visit_all for (self: ACharExpr, Visitor) */ +void parser_prod__ACharExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TChar */; +val* var1 /* : nullable AAnnotations */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val; /* _n_char on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_char"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5481); +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__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AAsNotnullExpr__empty_init(val* self) { -parser_prod__AAsNotnullExpr__empty_init(self); +/* method parser_prod#ACharExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ACharExpr__visit_all(val* self, val* p0) { +parser_prod__ACharExpr__visit_all(self, p0); /* Direct call parser_prod#ACharExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#init_aasnotnullexpr for (self: AAsNotnullExpr, nullable AExpr, nullable TKwas, nullable TOpar, nullable TKwnot, nullable TKwnull, nullable TCpar) */ -void parser_prod__AAsNotnullExpr__init_aasnotnullexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_kwas /* var n_kwas: nullable TKwas */; -val* var_n_opar /* var n_opar: nullable TOpar */; -val* var_n_kwnot /* var n_kwnot: nullable TKwnot */; -val* var_n_kwnull /* var n_kwnull: nullable TKwnull */; -val* var_n_cpar /* var n_cpar: nullable TCpar */; -var_n_expr = p0; -var_n_kwas = p1; -var_n_opar = p2; -var_n_kwnot = p3; -var_n_kwnull = p4; -var_n_cpar = p5; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAsNotnullExpr__empty_init]))(self) /* empty_init on */; -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9930); -exit(1); +/* method parser_prod#AStringExpr#init_astringexpr for (self: AStringExpr, nullable TString, nullable AAnnotations) */ +void parser_prod__AStringExpr__init_astringexpr(val* self, val* p0, val* p1) { +val* var_n_string /* var n_string: nullable TString */; +val* var_n_annotations /* var n_annotations: nullable AAnnotations */; +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_string = p0; +var_n_annotations = p1; +if (unlikely(var_n_string == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5491); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9931); -exit(1); +self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on */ +if (var_n_string == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5492); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; -} -if (var_n_kwas == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9932); -exit(1); +{ /* Inline parser_nodes#ANode#parent= (var_n_string,self) on */ +if (unlikely(var_n_string == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_n_kwas; /* _n_kwas on */ -if (var_n_kwas == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9933); -exit(1); -} else { -((void (*)(val*, val*))(var_n_kwas->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwas, self) /* parent= on */; +var_n_string->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (var_n_opar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9934); -exit(1); } -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_n_opar; /* _n_opar on */ -if (var_n_opar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9935); -exit(1); +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var = NULL; +if (var_n_annotations == NULL) { +var2 = 0; /* is null */ } else { -((void (*)(val*, val*))(var_n_opar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_opar, self) /* parent= on */; +var2 = 1; /* arg is null and recv is not */ } -if (var_n_kwnot == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9936); -exit(1); +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var5 = var6; } -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on */ -if (var_n_kwnot == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9937); -exit(1); -} else { -((void (*)(val*, val*))(var_n_kwnot->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwnot, self) /* parent= on */; +var7 = !var5; +var3 = var7; +goto RET_LABEL4; +RET_LABEL4:(void)0; } -if (var_n_kwnull == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9938); -exit(1); +var2 = var3; } -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_n_kwnull; /* _n_kwnull on */ -if (var_n_kwnull == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9939); -exit(1); -} else { -((void (*)(val*, val*))(var_n_kwnull->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwnull, self) /* parent= on */; +if (var2){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; } -if (var_n_cpar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 9940); -exit(1); } -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val = var_n_cpar; /* _n_cpar on */ -if (var_n_cpar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 9941); -exit(1); } else { -((void (*)(val*, val*))(var_n_cpar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cpar, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#init_aasnotnullexpr for (self: Object, nullable AExpr, nullable TKwas, nullable TOpar, nullable TKwnot, nullable TKwnull, nullable TCpar) */ -void VIRTUAL_parser_prod__AAsNotnullExpr__init_aasnotnullexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -parser_prod__AAsNotnullExpr__init_aasnotnullexpr(self, p0, p1, p2, p3, p4, p5); +/* method parser_prod#AStringExpr#init_astringexpr for (self: Object, nullable TString, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AStringExpr__init_astringexpr(val* self, val* p0, val* p1) { +parser_prod__AStringExpr__init_astringexpr(self, p0, p1); /* Direct call parser_prod#AStringExpr#init_astringexpr on */ RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#replace_child for (self: AAsNotnullExpr, ANode, nullable ANode) */ -void parser_prod__AAsNotnullExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AStringExpr#replace_child for (self: AStringExpr, ANode, nullable ANode) */ +void parser_prod__AStringExpr__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 /* : Token */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : TKwas */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : nullable AAnnotations */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : TOpar */; -short int var13 /* : Bool */; -val* var14 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : TKwnot */; -short int var20 /* : Bool */; -val* var21 /* : null */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var26 /* : TKwnull */; -short int var27 /* : Bool */; -val* var28 /* : null */; -short int var29 /* : Bool */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : TCpar */; -short int var34 /* : Bool */; -val* var35 /* : null */; -short int var36 /* : Bool */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; +int cltype16; +int idtype17; +const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 9946); -exit(1); +var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5499); +show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype = type_parser_nodes__AExpr.color; -idtype = type_parser_nodes__AExpr.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9949); -exit(1); +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9952); -exit(1); +var1 = var2; } -goto RET_LABEL; +if (var1){ +/* isa TString */ +cltype = type_parser_nodes__TString.color; +idtype = type_parser_nodes__TString.id; +if(var_new_child == NULL) { +var7 = 0; } else { -} -var5 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val; /* _n_kwas on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwas", "src/parser/parser_prod.nit", 9956); -exit(1); -} -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var8 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwas */ -cltype10 = type_parser_nodes__TKwas.color; -idtype11 = type_parser_nodes__TKwas.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9959); -exit(1); +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`", "TString", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5500); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_new_child; /* _n_kwas on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9962); -exit(1); +{ +parser_prod__AStringExpr__n_string_61d(self, var_new_child); /* Direct call parser_prod#AStringExpr#n_string= on */ } goto RET_LABEL; } else { } -var12 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val; /* _n_opar on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 9966); -exit(1); -} -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ +var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var15 = 1; /* arg is null and recv is not */ +{ /* 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; } -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TOpar */ -cltype17 = type_parser_nodes__TOpar.color; -idtype18 = type_parser_nodes__TOpar.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; -} else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9969); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_new_child; /* _n_opar on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9972); -exit(1); +var9 = var10; } -goto RET_LABEL; +if (var9){ +/* isa nullable AAnnotations */ +cltype16 = type_nullable_parser_nodes__AAnnotations.color; +idtype17 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var15 = 1; } else { -} -var19 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val; /* _n_kwnot on */ -if (var19 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnot", "src/parser/parser_prod.nit", 9976); -exit(1); -} -var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on */; -if (var20){ -var21 = NULL; -if (var_new_child == NULL) { -var22 = 0; /* is null */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var22 = 1; /* arg is null and recv is not */ +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -if (var22){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwnot */ -cltype24 = type_parser_nodes__TKwnot.color; -idtype25 = type_parser_nodes__TKwnot.id; -if(cltype24 >= var_new_child->type->table_size) { -var23 = 0; -} else { -var23 = var_new_child->type->type_table[cltype24] == idtype25; } -if (!var23) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9979); -exit(1); +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 AAnnotations", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5504); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val = var_new_child; /* _n_kwnot on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9982); -exit(1); +{ +parser_prod__AStringExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AStringExpr#n_annotations= on */ } goto RET_LABEL; } else { } -var26 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val; /* _n_kwnull on */ -if (var26 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnull", "src/parser/parser_prod.nit", 9986); -exit(1); +RET_LABEL:; } -var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on */; -if (var27){ -var28 = NULL; -if (var_new_child == NULL) { -var29 = 0; /* is null */ -} else { -var29 = 1; /* arg is null and recv is not */ +/* method parser_prod#AStringExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AStringExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AStringExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AStringExpr#replace_child on */ +RET_LABEL:; } -if (var29){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwnull */ -cltype31 = type_parser_nodes__TKwnull.color; -idtype32 = type_parser_nodes__TKwnull.id; -if(cltype31 >= var_new_child->type->table_size) { -var30 = 0; -} else { -var30 = var_new_child->type->type_table[cltype31] == idtype32; +/* method parser_prod#AStringExpr#n_string= for (self: AStringExpr, Token) */ +void parser_prod__AStringExpr__n_string_61d(val* self, val* p0) { +val* var_node /* var node: Token */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string 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 (!var30) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9989); -exit(1); } -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_new_child; /* _n_kwnull on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 9992); -exit(1); +RET_LABEL:; } -goto RET_LABEL; +/* method parser_prod#AStringExpr#n_string= for (self: Object, Token) */ +void VIRTUAL_parser_prod__AStringExpr__n_string_61d(val* self, val* p0) { +parser_prod__AStringExpr__n_string_61d(self, p0); /* Direct call parser_prod#AStringExpr#n_string= on */ +RET_LABEL:; +} +/* method parser_prod#AStringExpr#n_annotations= for (self: AStringExpr, nullable AAnnotations) */ +void parser_prod__AStringExpr__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 */; +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 */ } -var33 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val; /* _n_cpar on */ -if (var33 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 9996); -exit(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; } -var34 = ((short int (*)(val*, val*))(var33->class->vft[COLOR_kernel__Object___61d_61d]))(var33, var_old_child) /* == on */; -if (var34){ -var35 = NULL; -if (var_new_child == NULL) { -var36 = 0; /* is null */ -} else { -var36 = 1; /* arg is null and recv is not */ +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -if (var36){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TCpar */ -cltype38 = type_parser_nodes__TCpar.color; -idtype39 = type_parser_nodes__TCpar.id; -if(cltype38 >= var_new_child->type->table_size) { -var37 = 0; -} else { -var37 = var_new_child->type->type_table[cltype38] == idtype39; +var1 = var2; } -if (!var37) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 9999); -exit(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__AAsNotnullExpr___n_cpar].val = var_new_child; /* _n_cpar on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10002); -exit(1); } -goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AAsNotnullExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AAsNotnullExpr__replace_child(self, p0, p1); +/* method parser_prod#AStringExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AStringExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__AStringExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#AStringExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#n_expr= for (self: AAsNotnullExpr, AExpr) */ -void parser_prod__AAsNotnullExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val = var_node; /* _n_expr on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +/* method parser_prod#AStringExpr#visit_all for (self: AStringExpr, Visitor) */ +void parser_prod__AStringExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : Token */; +val* var1 /* : nullable AAnnotations */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5523); +show_backtrace(1); } -/* method parser_prod#AAsNotnullExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AAsNotnullExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AAsNotnullExpr__n_expr_61d(self, p0); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AAsNotnullExpr#n_kwas= for (self: AAsNotnullExpr, TKwas) */ -void parser_prod__AAsNotnullExpr__n_kwas_61d(val* self, val* p0) { -val* var_node /* var node: TKwas */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_node; /* _n_kwas on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#n_kwas= for (self: Object, TKwas) */ -void VIRTUAL_parser_prod__AAsNotnullExpr__n_kwas_61d(val* self, val* p0) { -parser_prod__AAsNotnullExpr__n_kwas_61d(self, p0); +/* method parser_prod#AStringExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AStringExpr__visit_all(val* self, val* p0) { +parser_prod__AStringExpr__visit_all(self, p0); /* Direct call parser_prod#AStringExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#n_opar= for (self: AAsNotnullExpr, TOpar) */ -void parser_prod__AAsNotnullExpr__n_opar_61d(val* self, val* p0) { -val* var_node /* var node: TOpar */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_node; /* _n_opar on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +/* method parser_prod#AStartStringExpr#init_astartstringexpr for (self: AStartStringExpr, nullable TStartString) */ +void parser_prod__AStartStringExpr__init_astartstringexpr(val* self, val* p0) { +val* var_n_string /* var n_string: nullable TStartString */; +var_n_string = p0; +if (unlikely(var_n_string == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5532); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on */ +if (var_n_string == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5533); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_string,self) on */ +if (unlikely(var_n_string == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_string->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#n_opar= for (self: Object, TOpar) */ -void VIRTUAL_parser_prod__AAsNotnullExpr__n_opar_61d(val* self, val* p0) { -parser_prod__AAsNotnullExpr__n_opar_61d(self, p0); +/* method parser_prod#AStartStringExpr#init_astartstringexpr for (self: Object, nullable TStartString) */ +void VIRTUAL_parser_prod__AStartStringExpr__init_astartstringexpr(val* self, val* p0) { +parser_prod__AStartStringExpr__init_astartstringexpr(self, p0); /* Direct call parser_prod#AStartStringExpr#init_astartstringexpr on */ RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#n_kwnot= for (self: AAsNotnullExpr, TKwnot) */ -void parser_prod__AAsNotnullExpr__n_kwnot_61d(val* self, val* p0) { -val* var_node /* var node: TKwnot */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val = var_node; /* _n_kwnot on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +/* method parser_prod#AStartStringExpr#replace_child for (self: AStartStringExpr, ANode, nullable ANode) */ +void parser_prod__AStartStringExpr__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 /* : Token */; +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; +var_old_child = p0; +var_new_child = p1; +var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5538); +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 TStartString */ +cltype = type_parser_nodes__TStartString.color; +idtype = type_parser_nodes__TStartString.id; +if(var_new_child == NULL) { +var7 = 0; +} else { +if(cltype >= var_new_child->type->table_size) { +var7 = 0; +} else { +var7 = var_new_child->type->type_table[cltype] == idtype; +} +} +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TStartString", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5539); +show_backtrace(1); +} +{ +parser_prod__AStartStringExpr__n_string_61d(self, var_new_child); /* Direct call parser_prod#AStartStringExpr#n_string= on */ +} +goto RET_LABEL; +} else { +} RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#n_kwnot= for (self: Object, TKwnot) */ -void VIRTUAL_parser_prod__AAsNotnullExpr__n_kwnot_61d(val* self, val* p0) { -parser_prod__AAsNotnullExpr__n_kwnot_61d(self, p0); +/* method parser_prod#AStartStringExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AStartStringExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AStartStringExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AStartStringExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#n_kwnull= for (self: AAsNotnullExpr, TKwnull) */ -void parser_prod__AAsNotnullExpr__n_kwnull_61d(val* self, val* p0) { -val* var_node /* var node: TKwnull */; +/* method parser_prod#AStartStringExpr#n_string= for (self: AStartStringExpr, Token) */ +void parser_prod__AStartStringExpr__n_string_61d(val* self, val* p0) { +val* var_node /* var node: Token */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_node; /* _n_kwnull on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string 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; } -/* method parser_prod#AAsNotnullExpr#n_kwnull= for (self: Object, TKwnull) */ -void VIRTUAL_parser_prod__AAsNotnullExpr__n_kwnull_61d(val* self, val* p0) { -parser_prod__AAsNotnullExpr__n_kwnull_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#n_cpar= for (self: AAsNotnullExpr, TCpar) */ -void parser_prod__AAsNotnullExpr__n_cpar_61d(val* self, val* p0) { -val* var_node /* var node: TCpar */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val = var_node; /* _n_cpar on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#n_cpar= for (self: Object, TCpar) */ -void VIRTUAL_parser_prod__AAsNotnullExpr__n_cpar_61d(val* self, val* p0) { -parser_prod__AAsNotnullExpr__n_cpar_61d(self, p0); +/* method parser_prod#AStartStringExpr#n_string= for (self: Object, Token) */ +void VIRTUAL_parser_prod__AStartStringExpr__n_string_61d(val* self, val* p0) { +parser_prod__AStartStringExpr__n_string_61d(self, p0); /* Direct call parser_prod#AStartStringExpr#n_string= on */ RET_LABEL:; } -/* method parser_prod#AAsNotnullExpr#visit_all for (self: AAsNotnullExpr, Visitor) */ -void parser_prod__AAsNotnullExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AStartStringExpr#visit_all for (self: AStartStringExpr, Visitor) */ +void parser_prod__AStartStringExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : AExpr */; -val* var1 /* : TKwas */; -val* var2 /* : TOpar */; -val* var3 /* : TKwnot */; -val* var4 /* : TKwnull */; -val* var5 /* : TCpar */; +val* var /* : Token */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 10042); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val; /* _n_kwas on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwas", "src/parser/parser_prod.nit", 10043); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val; /* _n_opar on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 10044); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -var3 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnot].val; /* _n_kwnot on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnot", "src/parser/parser_prod.nit", 10045); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -var4 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val; /* _n_kwnull on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwnull", "src/parser/parser_prod.nit", 10046); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; -var5 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val; /* _n_cpar on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 10047); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on */; -RET_LABEL:; +var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5553); +show_backtrace(1); } -/* method parser_prod#AAsNotnullExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AAsNotnullExpr__visit_all(val* self, val* p0) { -parser_prod__AAsNotnullExpr__visit_all(self, p0); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AIssetAttrExpr#empty_init for (self: AIssetAttrExpr) */ -void parser_prod__AIssetAttrExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AIssetAttrExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AIssetAttrExpr__empty_init(val* self) { -parser_prod__AIssetAttrExpr__empty_init(self); +/* method parser_prod#AStartStringExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AStartStringExpr__visit_all(val* self, val* p0) { +parser_prod__AStartStringExpr__visit_all(self, p0); /* Direct call parser_prod#AStartStringExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AIssetAttrExpr#init_aissetattrexpr for (self: AIssetAttrExpr, nullable TKwisset, nullable AExpr, nullable TAttrid) */ -void parser_prod__AIssetAttrExpr__init_aissetattrexpr(val* self, val* p0, val* p1, val* p2) { -val* var_n_kwisset /* var n_kwisset: nullable TKwisset */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_id /* var n_id: nullable TAttrid */; -var_n_kwisset = p0; -var_n_expr = p1; -var_n_id = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIssetAttrExpr__empty_init]))(self) /* empty_init on */; -if (var_n_kwisset == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10060); -exit(1); -} -self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val = var_n_kwisset; /* _n_kwisset on */ -if (var_n_kwisset == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10061); -exit(1); -} else { -((void (*)(val*, val*))(var_n_kwisset->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwisset, self) /* parent= on */; -} -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10062); -exit(1); +/* method parser_prod#AMidStringExpr#init_amidstringexpr for (self: AMidStringExpr, nullable TMidString) */ +void parser_prod__AMidStringExpr__init_amidstringexpr(val* self, val* p0) { +val* var_n_string /* var n_string: nullable TMidString */; +var_n_string = p0; +if (unlikely(var_n_string == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5561); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10063); -exit(1); +self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on */ +if (var_n_string == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5562); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_string,self) on */ +if (unlikely(var_n_string == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10064); -exit(1); +var_n_string->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10065); -exit(1); -} else { -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AIssetAttrExpr#init_aissetattrexpr for (self: Object, nullable TKwisset, nullable AExpr, nullable TAttrid) */ -void VIRTUAL_parser_prod__AIssetAttrExpr__init_aissetattrexpr(val* self, val* p0, val* p1, val* p2) { -parser_prod__AIssetAttrExpr__init_aissetattrexpr(self, p0, p1, p2); +/* method parser_prod#AMidStringExpr#init_amidstringexpr for (self: Object, nullable TMidString) */ +void VIRTUAL_parser_prod__AMidStringExpr__init_amidstringexpr(val* self, val* p0) { +parser_prod__AMidStringExpr__init_amidstringexpr(self, p0); /* Direct call parser_prod#AMidStringExpr#init_amidstringexpr on */ RET_LABEL:; } -/* method parser_prod#AIssetAttrExpr#replace_child for (self: AIssetAttrExpr, ANode, nullable ANode) */ -void parser_prod__AIssetAttrExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AMidStringExpr#replace_child for (self: AMidStringExpr, ANode, nullable ANode) */ +void parser_prod__AMidStringExpr__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 /* : TKwisset */; +val* var /* : Token */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : AExpr */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : TAttrid */; -short int var13 /* : Bool */; -val* var14 /* : null */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; +const char* var_class_name; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val; /* _n_kwisset on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwisset", "src/parser/parser_prod.nit", 10070); -exit(1); -} -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwisset */ -cltype = type_parser_nodes__TKwisset.color; -idtype = type_parser_nodes__TKwisset.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; -} -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10073); -exit(1); -} -self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val = var_new_child; /* _n_kwisset on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10076); -exit(1); -} -goto RET_LABEL; -} else { -} -var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 10080); -exit(1); +var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5567); +show_backtrace(1); } -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype10 = type_parser_nodes__AExpr.color; -idtype11 = type_parser_nodes__AExpr.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10083); -exit(1); +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10086); -exit(1); +var1 = var2; } -goto RET_LABEL; +if (var1){ +/* isa TMidString */ +cltype = type_parser_nodes__TMidString.color; +idtype = type_parser_nodes__TMidString.id; +if(var_new_child == NULL) { +var7 = 0; } else { -} -var12 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 10090); -exit(1); -} -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var15 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TAttrid */ -cltype17 = type_parser_nodes__TAttrid.color; -idtype18 = type_parser_nodes__TAttrid.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; -} else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10093); -exit(1); +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`", "TMidString", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5568); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10096); -exit(1); +{ +parser_prod__AMidStringExpr__n_string_61d(self, var_new_child); /* Direct call parser_prod#AMidStringExpr#n_string= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AIssetAttrExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AIssetAttrExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AIssetAttrExpr__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#AIssetAttrExpr#n_kwisset= for (self: AIssetAttrExpr, TKwisset) */ -void parser_prod__AIssetAttrExpr__n_kwisset_61d(val* self, val* p0) { -val* var_node /* var node: TKwisset */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val = var_node; /* _n_kwisset on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AIssetAttrExpr#n_kwisset= for (self: Object, TKwisset) */ -void VIRTUAL_parser_prod__AIssetAttrExpr__n_kwisset_61d(val* self, val* p0) { -parser_prod__AIssetAttrExpr__n_kwisset_61d(self, p0); +/* method parser_prod#AMidStringExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AMidStringExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AMidStringExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AMidStringExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AIssetAttrExpr#n_expr= for (self: AIssetAttrExpr, AExpr) */ -void parser_prod__AIssetAttrExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; +/* method parser_prod#AMidStringExpr#n_string= for (self: AMidStringExpr, Token) */ +void parser_prod__AMidStringExpr__n_string_61d(val* self, val* p0) { +val* var_node /* var node: Token */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string 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; } -/* method parser_prod#AIssetAttrExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AIssetAttrExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AIssetAttrExpr__n_expr_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AIssetAttrExpr#n_id= for (self: AIssetAttrExpr, TAttrid) */ -void parser_prod__AIssetAttrExpr__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 */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AIssetAttrExpr#n_id= for (self: Object, TAttrid) */ -void VIRTUAL_parser_prod__AIssetAttrExpr__n_id_61d(val* self, val* p0) { -parser_prod__AIssetAttrExpr__n_id_61d(self, p0); +/* method parser_prod#AMidStringExpr#n_string= for (self: Object, Token) */ +void VIRTUAL_parser_prod__AMidStringExpr__n_string_61d(val* self, val* p0) { +parser_prod__AMidStringExpr__n_string_61d(self, p0); /* Direct call parser_prod#AMidStringExpr#n_string= on */ RET_LABEL:; } -/* method parser_prod#AIssetAttrExpr#visit_all for (self: AIssetAttrExpr, Visitor) */ -void parser_prod__AIssetAttrExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AMidStringExpr#visit_all for (self: AMidStringExpr, Visitor) */ +void parser_prod__AMidStringExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwisset */; -val* var1 /* : AExpr */; -val* var2 /* : TAttrid */; +val* var /* : Token */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AIssetAttrExpr___n_kwisset].val; /* _n_kwisset on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwisset", "src/parser/parser_prod.nit", 10121); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 10122); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 10123); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -RET_LABEL:; +var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5582); +show_backtrace(1); } -/* method parser_prod#AIssetAttrExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AIssetAttrExpr__visit_all(val* self, val* p0) { -parser_prod__AIssetAttrExpr__visit_all(self, p0); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ADebugTypeExpr#empty_init for (self: ADebugTypeExpr) */ -void parser_prod__ADebugTypeExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#ADebugTypeExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ADebugTypeExpr__empty_init(val* self) { -parser_prod__ADebugTypeExpr__empty_init(self); +/* method parser_prod#AMidStringExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AMidStringExpr__visit_all(val* self, val* p0) { +parser_prod__AMidStringExpr__visit_all(self, p0); /* Direct call parser_prod#AMidStringExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ADebugTypeExpr#init_adebugtypeexpr for (self: ADebugTypeExpr, nullable TKwdebug, nullable TKwtype, nullable AExpr, nullable AType) */ -void parser_prod__ADebugTypeExpr__init_adebugtypeexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -val* var_n_kwdebug /* var n_kwdebug: nullable TKwdebug */; -val* var_n_kwtype /* var n_kwtype: nullable TKwtype */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_type /* var n_type: nullable AType */; -var_n_kwdebug = p0; -var_n_kwtype = p1; -var_n_expr = p2; -var_n_type = p3; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ADebugTypeExpr__empty_init]))(self) /* empty_init on */; -if (var_n_kwdebug == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10137); -exit(1); -} -self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val = var_n_kwdebug; /* _n_kwdebug on */ -if (var_n_kwdebug == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10138); -exit(1); -} else { -((void (*)(val*, val*))(var_n_kwdebug->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwdebug, self) /* parent= on */; -} -if (var_n_kwtype == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10139); -exit(1); -} -self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val = var_n_kwtype; /* _n_kwtype on */ -if (var_n_kwtype == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10140); -exit(1); -} else { -((void (*)(val*, val*))(var_n_kwtype->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwtype, self) /* parent= on */; -} -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10141); -exit(1); +/* method parser_prod#AEndStringExpr#init_aendstringexpr for (self: AEndStringExpr, nullable TEndString) */ +void parser_prod__AEndStringExpr__init_aendstringexpr(val* self, val* p0) { +val* var_n_string /* var n_string: nullable TEndString */; +var_n_string = p0; +if (unlikely(var_n_string == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5590); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10142); -exit(1); +self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_n_string; /* _n_string on */ +if (var_n_string == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5591); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_string,self) on */ +if (unlikely(var_n_string == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_type == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10143); -exit(1); +var_n_string->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val = var_n_type; /* _n_type on */ -if (var_n_type == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10144); -exit(1); -} else { -((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#ADebugTypeExpr#init_adebugtypeexpr for (self: Object, nullable TKwdebug, nullable TKwtype, nullable AExpr, nullable AType) */ -void VIRTUAL_parser_prod__ADebugTypeExpr__init_adebugtypeexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__ADebugTypeExpr__init_adebugtypeexpr(self, p0, p1, p2, p3); +/* method parser_prod#AEndStringExpr#init_aendstringexpr for (self: Object, nullable TEndString) */ +void VIRTUAL_parser_prod__AEndStringExpr__init_aendstringexpr(val* self, val* p0) { +parser_prod__AEndStringExpr__init_aendstringexpr(self, p0); /* Direct call parser_prod#AEndStringExpr#init_aendstringexpr on */ RET_LABEL:; } -/* method parser_prod#ADebugTypeExpr#replace_child for (self: ADebugTypeExpr, ANode, nullable ANode) */ -void parser_prod__ADebugTypeExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AEndStringExpr#replace_child for (self: AEndStringExpr, ANode, nullable ANode) */ +void parser_prod__AEndStringExpr__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 /* : TKwdebug */; +val* var /* : Token */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : TKwtype */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : AExpr */; -short int var13 /* : Bool */; -val* var14 /* : null */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : AType */; -short int var20 /* : Bool */; -val* var21 /* : null */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; +const char* var_class_name; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val; /* _n_kwdebug on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwdebug", "src/parser/parser_prod.nit", 10149); -exit(1); -} -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwdebug */ -cltype = type_parser_nodes__TKwdebug.color; -idtype = type_parser_nodes__TKwdebug.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; -} -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10152); -exit(1); -} -self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val = var_new_child; /* _n_kwdebug on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10155); -exit(1); -} -goto RET_LABEL; -} else { -} -var5 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val; /* _n_kwtype on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwtype", "src/parser/parser_prod.nit", 10159); -exit(1); -} -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ -} -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwtype */ -cltype10 = type_parser_nodes__TKwtype.color; -idtype11 = type_parser_nodes__TKwtype.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; -} -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10162); -exit(1); -} -self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val = var_new_child; /* _n_kwtype on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10165); -exit(1); -} -goto RET_LABEL; -} else { -} -var12 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val; /* _n_expr on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 10169); -exit(1); +var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5596); +show_backtrace(1); } -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ -} else { -var15 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype17 = type_parser_nodes__AExpr.color; -idtype18 = type_parser_nodes__AExpr.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; -} else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10172); -exit(1); +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10175); -exit(1); +var1 = var2; } -goto RET_LABEL; +if (var1){ +/* isa TEndString */ +cltype = type_parser_nodes__TEndString.color; +idtype = type_parser_nodes__TEndString.id; +if(var_new_child == NULL) { +var7 = 0; } else { -} -var19 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val; /* _n_type on */ -if (var19 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 10179); -exit(1); -} -var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on */; -if (var20){ -var21 = NULL; -if (var_new_child == NULL) { -var22 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var22 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var22){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AType */ -cltype24 = type_parser_nodes__AType.color; -idtype25 = type_parser_nodes__AType.id; -if(cltype24 >= var_new_child->type->table_size) { -var23 = 0; -} else { -var23 = var_new_child->type->type_table[cltype24] == idtype25; } -if (!var23) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10182); -exit(1); +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`", "TEndString", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5597); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val = var_new_child; /* _n_type on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10185); -exit(1); +{ +parser_prod__AEndStringExpr__n_string_61d(self, var_new_child); /* Direct call parser_prod#AEndStringExpr#n_string= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ADebugTypeExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ADebugTypeExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ADebugTypeExpr__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#ADebugTypeExpr#n_kwdebug= for (self: ADebugTypeExpr, TKwdebug) */ -void parser_prod__ADebugTypeExpr__n_kwdebug_61d(val* self, val* p0) { -val* var_node /* var node: TKwdebug */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val = var_node; /* _n_kwdebug on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#ADebugTypeExpr#n_kwdebug= for (self: Object, TKwdebug) */ -void VIRTUAL_parser_prod__ADebugTypeExpr__n_kwdebug_61d(val* self, val* p0) { -parser_prod__ADebugTypeExpr__n_kwdebug_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ADebugTypeExpr#n_kwtype= for (self: ADebugTypeExpr, TKwtype) */ -void parser_prod__ADebugTypeExpr__n_kwtype_61d(val* self, val* p0) { -val* var_node /* var node: TKwtype */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val = var_node; /* _n_kwtype on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#ADebugTypeExpr#n_kwtype= for (self: Object, TKwtype) */ -void VIRTUAL_parser_prod__ADebugTypeExpr__n_kwtype_61d(val* self, val* p0) { -parser_prod__ADebugTypeExpr__n_kwtype_61d(self, p0); +/* method parser_prod#AEndStringExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AEndStringExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AEndStringExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AEndStringExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ADebugTypeExpr#n_expr= for (self: ADebugTypeExpr, AExpr) */ -void parser_prod__ADebugTypeExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; +/* method parser_prod#AEndStringExpr#n_string= for (self: AEndStringExpr, Token) */ +void parser_prod__AEndStringExpr__n_string_61d(val* self, val* p0) { +val* var_node /* var node: Token */; var_node = p0; -self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val = var_node; /* _n_expr on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val = var_node; /* _n_string 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; } -/* method parser_prod#ADebugTypeExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__ADebugTypeExpr__n_expr_61d(val* self, val* p0) { -parser_prod__ADebugTypeExpr__n_expr_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#ADebugTypeExpr#n_type= for (self: ADebugTypeExpr, AType) */ -void parser_prod__ADebugTypeExpr__n_type_61d(val* self, val* p0) { -val* var_node /* var node: AType */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val = var_node; /* _n_type on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#ADebugTypeExpr#n_type= for (self: Object, AType) */ -void VIRTUAL_parser_prod__ADebugTypeExpr__n_type_61d(val* self, val* p0) { -parser_prod__ADebugTypeExpr__n_type_61d(self, p0); +/* method parser_prod#AEndStringExpr#n_string= for (self: Object, Token) */ +void VIRTUAL_parser_prod__AEndStringExpr__n_string_61d(val* self, val* p0) { +parser_prod__AEndStringExpr__n_string_61d(self, p0); /* Direct call parser_prod#AEndStringExpr#n_string= on */ RET_LABEL:; } -/* method parser_prod#ADebugTypeExpr#visit_all for (self: ADebugTypeExpr, Visitor) */ -void parser_prod__ADebugTypeExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AEndStringExpr#visit_all for (self: AEndStringExpr, Visitor) */ +void parser_prod__AEndStringExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwdebug */; -val* var1 /* : TKwtype */; -val* var2 /* : AExpr */; -val* var3 /* : AType */; +val* var /* : Token */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwdebug].val; /* _n_kwdebug on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwdebug", "src/parser/parser_prod.nit", 10215); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_kwtype].val; /* _n_kwtype on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwtype", "src/parser/parser_prod.nit", 10216); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val; /* _n_expr on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_expr", "src/parser/parser_prod.nit", 10217); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -var3 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val; /* _n_type on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 10218); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -RET_LABEL:; +var = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5611); +show_backtrace(1); } -/* method parser_prod#ADebugTypeExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ADebugTypeExpr__visit_all(val* self, val* p0) { -parser_prod__ADebugTypeExpr__visit_all(self, p0); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AListExprs#empty_init for (self: AListExprs) */ -void parser_prod__AListExprs__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AListExprs#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AListExprs__empty_init(val* self) { -parser_prod__AListExprs__empty_init(self); +/* method parser_prod#AEndStringExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AEndStringExpr__visit_all(val* self, val* p0) { +parser_prod__AEndStringExpr__visit_all(self, p0); /* Direct call parser_prod#AEndStringExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AListExprs#init_alistexprs for (self: AListExprs, Collection[Object]) */ -void parser_prod__AListExprs__init_alistexprs(val* self, val* p0) { +/* method parser_prod#ASuperstringExpr#init_asuperstringexpr for (self: ASuperstringExpr, Collection[Object], nullable AAnnotations) */ +void parser_prod__ASuperstringExpr__init_asuperstringexpr(val* self, val* p0, val* p1) { val* var_n_exprs /* var n_exprs: Collection[Object] */; -val* var /* : Iterator[nullable Object] */; -short int var1 /* : Bool */; -val* var2 /* : nullable Object */; -val* var_n /* var n: Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var4 /* : ANodes[AExpr] */; +val* var_n_annotations /* var n_annotations: nullable AAnnotations */; +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 */; var_n_exprs = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AListExprs__empty_init]))(self) /* empty_init on */; -var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on */; -for(;;) { -var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on */; -if(!var1) break; -var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on */; -var_n = var2; -/* isa AExpr */ -cltype = type_parser_nodes__AExpr.color; -idtype = type_parser_nodes__AExpr.id; -if(cltype >= var_n->type->table_size) { -var3 = 0; +var_n_annotations = p1; +{ +{ /* Inline parser_nodes#ASuperstringExpr#n_exprs (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1861); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +parser_nodes__ANodes__unsafe_add_all(var, var_n_exprs); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var3 = NULL; +if (var_n_annotations == NULL) { +var4 = 0; /* is null */ } else { -var3 = var_n->type->type_table[cltype] == idtype; +var4 = 1; /* arg is null and recv is not */ } -if (!var3) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10230); -exit(1); +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var3) on */ +var_other = var3; +{ +var8 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, 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_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL10:(void)0; } -var4 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10231); -exit(1); } -((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on */; -((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on */; +} else { } -BREAK_label: (void)0; RET_LABEL:; } -/* method parser_prod#AListExprs#init_alistexprs for (self: Object, Collection[Object]) */ -void VIRTUAL_parser_prod__AListExprs__init_alistexprs(val* self, val* p0) { -parser_prod__AListExprs__init_alistexprs(self, p0); +/* method parser_prod#ASuperstringExpr#init_asuperstringexpr for (self: Object, Collection[Object], nullable AAnnotations) */ +void VIRTUAL_parser_prod__ASuperstringExpr__init_asuperstringexpr(val* self, val* p0, val* p1) { +parser_prod__ASuperstringExpr__init_asuperstringexpr(self, p0, p1); /* Direct call parser_prod#ASuperstringExpr#init_asuperstringexpr on */ RET_LABEL:; } -/* method parser_prod#AListExprs#replace_child for (self: AListExprs, ANode, nullable ANode) */ -void parser_prod__AListExprs__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ASuperstringExpr#replace_child for (self: ASuperstringExpr, ANode, nullable ANode) */ +void parser_prod__ASuperstringExpr__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 /* : Range[Int] */; -long var1 /* : Int */; +val* var /* : ANodes[AExpr] */; val* var2 /* : ANodes[AExpr] */; -long var3 /* : Int */; -val* var4 /* : Discrete */; -val* var5 /* : Discrete */; -val* var6 /* : Iterator[nullable Object] */; -short int var7 /* : Bool */; -val* var8 /* : nullable Object */; -long var_i /* var i: Int */; -long var9 /* : Int */; -val* var10 /* : ANodes[AExpr] */; -val* var11 /* : nullable Object */; -short int var12 /* : Bool */; -val* var13 /* : null */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; +short int var3 /* : Bool */; +val* var4 /* : nullable AAnnotations */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var8 /* : Bool */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; int cltype; int idtype; -val* var16 /* : ANodes[AExpr] */; -val* var17 /* : ANodes[AExpr] */; +const char* var_class_name; var_old_child = p0; var_new_child = p1; -var = NEW_range__Range(&type_range__Rangekernel__Int); -var1 = 0; -var2 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10238); -exit(1); -} -var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on */; -var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */ -var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on */; -CHECK_NEW_range__Range(var); -var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on */; -for(;;) { -var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on */; -if(!var7) break; -var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on */; -var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */; -var_i = var9; -var10 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var10 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10239); -exit(1); -} -var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on */; -var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on */; -if (var12){ -var13 = NULL; -if (var_new_child == NULL) { -var14 = 0; /* is null */ +{ +{ /* Inline parser_nodes#ASuperstringExpr#n_exprs (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1861); +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 { -var14 = 1; /* arg is null and recv is not */ } -if (var14){ -/* isa AExpr */ -cltype = type_parser_nodes__AExpr.color; -idtype = type_parser_nodes__AExpr.id; -if(cltype >= var_new_child->type->table_size) { -var15 = 0; +var4 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var4 == NULL) { +var5 = 0; /* cannot be null */ } else { -var15 = var_new_child->type->type_table[cltype] == idtype; +{ /* Inline kernel#Object#== (var4,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; } -if (!var15) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10241); -exit(1); } -var16 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var16 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10242); -exit(1); +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; } -((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on */; -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; +var5 = var6; +} +if (var5){ +/* isa nullable AAnnotations */ +cltype = type_nullable_parser_nodes__AAnnotations.color; +idtype = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var11 = 1; } else { -var17 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var17 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10245); -exit(1); +if(cltype >= var_new_child->type->table_size) { +var11 = 0; +} else { +var11 = var_new_child->type->type_table[cltype] == idtype; +} +} +if (unlikely(!var11)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5629); +show_backtrace(1); } -((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on */; +{ +parser_prod__ASuperstringExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#ASuperstringExpr#n_annotations= on */ } goto RET_LABEL; } else { } -CONTINUE_label: (void)0; -((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on */; +RET_LABEL:; +} +/* method parser_prod#ASuperstringExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ASuperstringExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ASuperstringExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ASuperstringExpr#replace_child on */ +RET_LABEL:; +} +/* method parser_prod#ASuperstringExpr#n_annotations= for (self: ASuperstringExpr, nullable AAnnotations) */ +void parser_prod__ASuperstringExpr__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 */; +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){ +{ +{ /* 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 { } -BREAK_label: (void)0; RET_LABEL:; } -/* method parser_prod#AListExprs#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AListExprs__replace_child(val* self, val* p0, val* p1) { -parser_prod__AListExprs__replace_child(self, p0, p1); +/* method parser_prod#ASuperstringExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__ASuperstringExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__ASuperstringExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#ASuperstringExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#AListExprs#visit_all for (self: AListExprs, Visitor) */ -void parser_prod__AListExprs__visit_all(val* self, val* p0) { +/* method parser_prod#ASuperstringExpr#visit_all for (self: ASuperstringExpr, Visitor) */ +void parser_prod__ASuperstringExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; val* var /* : ANodes[AExpr] */; -val* var1 /* : Iterator[nullable Object] */; -short int var2 /* : Bool */; -val* var3 /* : nullable Object */; -val* var_n /* var n: AExpr */; +val* var2 /* : ANodes[AExpr] */; +val* var3 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10256); -exit(1); +{ +{ /* Inline parser_nodes#ASuperstringExpr#n_exprs (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1861); +show_backtrace(1); } -var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on */; -for(;;) { -var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on */; -if(!var2) break; -var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on */; -var_n = var3; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on */; +var = var2; +RET_LABEL1:(void)0; } -BREAK_label: (void)0; -RET_LABEL:; } -/* method parser_prod#AListExprs#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AListExprs__visit_all(val* self, val* p0) { -parser_prod__AListExprs__visit_all(self, p0); -RET_LABEL:; +{ +parser_nodes__ANodes__visit_all(var, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ +} +var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AParExprs#empty_init for (self: AParExprs) */ -void parser_prod__AParExprs__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AParExprs#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AParExprs__empty_init(val* self) { -parser_prod__AParExprs__empty_init(self); +/* method parser_prod#ASuperstringExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ASuperstringExpr__visit_all(val* self, val* p0) { +parser_prod__ASuperstringExpr__visit_all(self, p0); /* Direct call parser_prod#ASuperstringExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AParExprs#init_aparexprs for (self: AParExprs, nullable TOpar, Collection[Object], nullable TCpar) */ -void parser_prod__AParExprs__init_aparexprs(val* self, val* p0, val* p1, val* p2) { +/* method parser_prod#AParExpr#init_aparexpr for (self: AParExpr, nullable TOpar, nullable AExpr, nullable TCpar, nullable AAnnotations) */ +void parser_prod__AParExpr__init_aparexpr(val* self, val* p0, val* p1, val* p2, val* p3) { val* var_n_opar /* var n_opar: nullable TOpar */; -val* var_n_exprs /* var n_exprs: Collection[Object] */; +val* var_n_expr /* var n_expr: nullable AExpr */; val* var_n_cpar /* var n_cpar: nullable TCpar */; -val* var /* : Iterator[nullable Object] */; -short int var1 /* : Bool */; -val* var2 /* : nullable Object */; -val* var_n /* var n: Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var4 /* : ANodes[AExpr] */; +val* var_n_annotations /* var n_annotations: nullable AAnnotations */; +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 */; var_n_opar = p0; -var_n_exprs = p1; +var_n_expr = p1; var_n_cpar = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AParExprs__empty_init]))(self) /* empty_init on */; -if (var_n_opar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10271); -exit(1); +var_n_annotations = p3; +if (unlikely(var_n_opar == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5655); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val = var_n_opar; /* _n_opar on */ +self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_n_opar; /* _n_opar on */ if (var_n_opar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10272); -exit(1); -} else { -((void (*)(val*, val*))(var_n_opar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_opar, self) /* parent= on */; -} -var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on */; -for(;;) { -var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on */; -if(!var1) break; -var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on */; -var_n = var2; -/* isa AExpr */ -cltype = type_parser_nodes__AExpr.color; -idtype = type_parser_nodes__AExpr.id; -if(cltype >= var_n->type->table_size) { -var3 = 0; +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5656); +show_backtrace(1); } else { -var3 = var_n->type->type_table[cltype] == idtype; +{ /* Inline parser_nodes#ANode#parent= (var_n_opar,self) on */ +if (unlikely(var_n_opar == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (!var3) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10274); -exit(1); +var_n_opar->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -var4 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10275); -exit(1); } -((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on */; -((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on */; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5657); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AParExpr___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", 5658); +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; } -BREAK_label: (void)0; -if (var_n_cpar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10278); -exit(1); } -self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val = var_n_cpar; /* _n_cpar on */ +if (unlikely(var_n_cpar == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5659); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_n_cpar; /* _n_cpar on */ if (var_n_cpar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10279); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5660); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_cpar,self) on */ +if (unlikely(var_n_cpar == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_cpar->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; +} +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var = NULL; +if (var_n_annotations == NULL) { +var4 = 0; /* is null */ +} else { +var4 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var8 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, 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_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL10:(void)0; +} +} } else { -((void (*)(val*, val*))(var_n_cpar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cpar, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AParExprs#init_aparexprs for (self: Object, nullable TOpar, Collection[Object], nullable TCpar) */ -void VIRTUAL_parser_prod__AParExprs__init_aparexprs(val* self, val* p0, val* p1, val* p2) { -parser_prod__AParExprs__init_aparexprs(self, p0, p1, p2); +/* method parser_prod#AParExpr#init_aparexpr for (self: Object, nullable TOpar, nullable AExpr, nullable TCpar, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AParExpr__init_aparexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +parser_prod__AParExpr__init_aparexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#AParExpr#init_aparexpr on */ RET_LABEL:; } -/* method parser_prod#AParExprs#replace_child for (self: AParExprs, ANode, nullable ANode) */ -void parser_prod__AParExprs__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AParExpr#replace_child for (self: AParExpr, ANode, nullable ANode) */ +void parser_prod__AParExpr__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 /* : TOpar */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : Range[Int] */; -long var6 /* : Int */; -val* var7 /* : ANodes[AExpr] */; -long var8 /* : Int */; -val* var9 /* : Discrete */; -val* var10 /* : Discrete */; -val* var11 /* : Iterator[nullable Object] */; +const char* var_class_name; +val* var8 /* : AExpr */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; short int var12 /* : Bool */; -val* var13 /* : nullable Object */; -long var_i /* var i: Int */; -long var14 /* : Int */; -val* var15 /* : ANodes[AExpr] */; -val* var16 /* : nullable Object */; -short int var17 /* : Bool */; -val* var18 /* : null */; -short int var19 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : TCpar */; short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var23 /* : ANodes[AExpr] */; -val* var24 /* : ANodes[AExpr] */; -val* var25 /* : TCpar */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; short int var26 /* : Bool */; -val* var27 /* : null */; -short int var28 /* : Bool */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : nullable AAnnotations */; +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__AParExprs___n_opar].val; /* _n_opar on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 10284); -exit(1); +var = self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val; /* _n_opar on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_opar"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5667); +show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +{ +{ /* 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; } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TOpar */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa TOpar */ cltype = type_parser_nodes__TOpar.color; idtype = type_parser_nodes__TOpar.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; -} -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10287); -exit(1); +var7 = var_new_child->type->type_table[cltype] == idtype; } -self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val = var_new_child; /* _n_opar on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10290); -exit(1); } -goto RET_LABEL; -} 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`", "TOpar", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5668); +show_backtrace(1); } -var5 = NEW_range__Range(&type_range__Rangekernel__Int); -var6 = 0; -var7 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10294); -exit(1); -} -var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on */; -var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */ -var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on */; -CHECK_NEW_range__Range(var5); -var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on */; -for(;;) { -var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on */; -if(!var12) break; -var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on */; -var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */; -var_i = var14; -var15 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var15 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10295); -exit(1); -} -var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on */; -var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on */; -if (var17){ -var18 = NULL; -if (var_new_child == NULL) { -var19 = 0; /* is null */ -} else { -var19 = 1; /* arg is null and recv is not */ -} -if (var19){ -/* isa AExpr */ -cltype21 = type_parser_nodes__AExpr.color; -idtype22 = type_parser_nodes__AExpr.id; -if(cltype21 >= var_new_child->type->table_size) { -var20 = 0; -} else { -var20 = var_new_child->type->type_table[cltype21] == idtype22; -} -if (!var20) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10297); -exit(1); -} -var23 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var23 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10298); -exit(1); -} -((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on */; -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -} else { -var24 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var24 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10301); -exit(1); -} -((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on */; +{ +parser_prod__AParExpr__n_opar_61d(self, var_new_child); /* Direct call parser_prod#AParExpr#n_opar= on */ } goto RET_LABEL; } else { } -CONTINUE_label: (void)0; -((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on */; +var8 = self->attrs[COLOR_parser_nodes__AParExpr___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", 5671); +show_backtrace(1); } -BREAK_label: (void)0; -var25 = self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val; /* _n_cpar on */ -if (var25 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 10306); -exit(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; } -var26 = ((short int (*)(val*, val*))(var25->class->vft[COLOR_kernel__Object___61d_61d]))(var25, var_old_child) /* == on */; -if (var26){ -var27 = NULL; -if (var_new_child == NULL) { -var28 = 0; /* is null */ -} else { -var28 = 1; /* arg is null and recv is not */ } -if (var28){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TCpar */ -cltype30 = type_parser_nodes__TCpar.color; -idtype31 = type_parser_nodes__TCpar.id; -if(cltype30 >= var_new_child->type->table_size) { -var29 = 0; -} else { -var29 = var_new_child->type->type_table[cltype30] == idtype31; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -if (!var29) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10309); -exit(1); +var9 = var10; } -self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val = var_new_child; /* _n_cpar on */ +if (var9){ +/* isa AExpr */ +cltype16 = type_parser_nodes__AExpr.color; +idtype17 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var15 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10312); -exit(1); -} -goto RET_LABEL; +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#AParExprs#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AParExprs__replace_child(val* self, val* p0, val* p1) { -parser_prod__AParExprs__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#AParExprs#n_opar= for (self: AParExprs, TOpar) */ -void parser_prod__AParExprs__n_opar_61d(val* self, val* p0) { -val* var_node /* var node: TOpar */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val = var_node; /* _n_opar on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AParExprs#n_opar= for (self: Object, TOpar) */ -void VIRTUAL_parser_prod__AParExprs__n_opar_61d(val* self, val* p0) { -parser_prod__AParExprs__n_opar_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AParExprs#n_cpar= for (self: AParExprs, TCpar) */ -void parser_prod__AParExprs__n_cpar_61d(val* self, val* p0) { -val* var_node /* var node: TCpar */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val = var_node; /* _n_cpar on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AParExprs#n_cpar= for (self: Object, TCpar) */ -void VIRTUAL_parser_prod__AParExprs__n_cpar_61d(val* self, val* p0) { -parser_prod__AParExprs__n_cpar_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AParExprs#visit_all for (self: AParExprs, Visitor) */ -void parser_prod__AParExprs__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TOpar */; -val* var1 /* : ANodes[AExpr] */; -val* var2 /* : Iterator[nullable Object] */; -short int var3 /* : Bool */; -val* var4 /* : nullable Object */; -val* var_n /* var n: AExpr */; -val* var5 /* : TCpar */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AParExprs___n_opar].val; /* _n_opar on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_opar", "src/parser/parser_prod.nit", 10332); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10333); -exit(1); -} -var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on */; -for(;;) { -var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on */; -if(!var3) break; -var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on */; -var_n = var4; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on */; } -BREAK_label: (void)0; -var5 = self->attrs[COLOR_parser_nodes__AParExprs___n_cpar].val; /* _n_cpar on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cpar", "src/parser/parser_prod.nit", 10336); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on */; -RET_LABEL:; -} -/* method parser_prod#AParExprs#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AParExprs__visit_all(val* self, val* p0) { -parser_prod__AParExprs__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#ABraExprs#empty_init for (self: ABraExprs) */ -void parser_prod__ABraExprs__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#ABraExprs#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ABraExprs__empty_init(val* self) { -parser_prod__ABraExprs__empty_init(self); -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", 5672); +show_backtrace(1); } -/* method parser_prod#ABraExprs#init_abraexprs for (self: ABraExprs, nullable TObra, Collection[Object], nullable TCbra) */ -void parser_prod__ABraExprs__init_abraexprs(val* self, val* p0, val* p1, val* p2) { -val* var_n_obra /* var n_obra: nullable TObra */; -val* var_n_exprs /* var n_exprs: Collection[Object] */; -val* var_n_cbra /* var n_cbra: nullable TCbra */; -val* var /* : Iterator[nullable Object] */; -short int var1 /* : Bool */; -val* var2 /* : nullable Object */; -val* var_n /* var n: Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var4 /* : ANodes[AExpr] */; -var_n_obra = p0; -var_n_exprs = p1; -var_n_cbra = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraExprs__empty_init]))(self) /* empty_init on */; -if (var_n_obra == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10349); -exit(1); +{ +parser_prod__AParExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AParExpr#n_expr= on */ } -self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val = var_n_obra; /* _n_obra on */ -if (var_n_obra == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10350); -exit(1); -} else { -((void (*)(val*, val*))(var_n_obra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_obra, self) /* parent= on */; -} -var = ((val* (*)(val*))(var_n_exprs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_exprs) /* iterator on */; -for(;;) { -var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on */; -if(!var1) break; -var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on */; -var_n = var2; -/* isa AExpr */ -cltype = type_parser_nodes__AExpr.color; -idtype = type_parser_nodes__AExpr.id; -if(cltype >= var_n->type->table_size) { -var3 = 0; +goto RET_LABEL; } else { -var3 = var_n->type->type_table[cltype] == idtype; -} -if (!var3) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10352); -exit(1); -} -var4 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10353); -exit(1); -} -((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on */; -((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on */; -} -BREAK_label: (void)0; -if (var_n_cbra == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10356); -exit(1); } -self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val = var_n_cbra; /* _n_cbra on */ -if (var_n_cbra == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10357); -exit(1); -} else { -((void (*)(val*, val*))(var_n_cbra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cbra, self) /* parent= on */; +var19 = self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val; /* _n_cpar on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_cpar"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5675); +show_backtrace(1); } -RET_LABEL:; +{ +{ /* 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; } -/* method parser_prod#ABraExprs#init_abraexprs for (self: Object, nullable TObra, Collection[Object], nullable TCbra) */ -void VIRTUAL_parser_prod__ABraExprs__init_abraexprs(val* self, val* p0, val* p1, val* p2) { -parser_prod__ABraExprs__init_abraexprs(self, p0, p1, p2); -RET_LABEL:; } -/* method parser_prod#ABraExprs#replace_child for (self: ABraExprs, ANode, nullable ANode) */ -void parser_prod__ABraExprs__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 /* : TObra */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -int cltype; -int idtype; -val* var5 /* : Range[Int] */; -long var6 /* : Int */; -val* var7 /* : ANodes[AExpr] */; -long var8 /* : Int */; -val* var9 /* : Discrete */; -val* var10 /* : Discrete */; -val* var11 /* : Iterator[nullable Object] */; -short int var12 /* : Bool */; -val* var13 /* : nullable Object */; -long var_i /* var i: Int */; -long var14 /* : Int */; -val* var15 /* : ANodes[AExpr] */; -val* var16 /* : nullable Object */; -short int var17 /* : Bool */; -val* var18 /* : null */; -short int var19 /* : Bool */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var23 /* : ANodes[AExpr] */; -val* var24 /* : ANodes[AExpr] */; -val* var25 /* : TCbra */; -short int var26 /* : Bool */; -val* var27 /* : null */; -short int var28 /* : Bool */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val; /* _n_obra on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_obra", "src/parser/parser_prod.nit", 10362); -exit(1); +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +var20 = var21; } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TObra */ -cltype = type_parser_nodes__TObra.color; -idtype = type_parser_nodes__TObra.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; +if (var20){ +/* isa TCpar */ +cltype27 = type_parser_nodes__TCpar.color; +idtype28 = type_parser_nodes__TCpar.id; +if(var_new_child == NULL) { +var26 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; +} else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10365); -exit(1); } -self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val = var_new_child; /* _n_obra on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10368); -exit(1); +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`", "TCpar", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5676); +show_backtrace(1); +} +{ +parser_prod__AParExpr__n_cpar_61d(self, var_new_child); /* Direct call parser_prod#AParExpr#n_cpar= on */ } goto RET_LABEL; } else { } -var5 = NEW_range__Range(&type_range__Rangekernel__Int); -var6 = 0; -var7 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10372); -exit(1); -} -var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on */; -var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */ -var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on */; -CHECK_NEW_range__Range(var5); -var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on */; -for(;;) { -var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on */; -if(!var12) break; -var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on */; -var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */; -var_i = var14; -var15 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var15 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10373); -exit(1); -} -var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on */; -var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on */; -if (var17){ -var18 = NULL; -if (var_new_child == NULL) { -var19 = 0; /* is null */ -} else { -var19 = 1; /* arg is null and recv is not */ -} -if (var19){ -/* isa AExpr */ -cltype21 = type_parser_nodes__AExpr.color; -idtype22 = type_parser_nodes__AExpr.id; -if(cltype21 >= var_new_child->type->table_size) { -var20 = 0; -} else { -var20 = var_new_child->type->type_table[cltype21] == idtype22; -} -if (!var20) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10375); -exit(1); -} -var23 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var23 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10376); -exit(1); -} -((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on */; -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -} else { -var24 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var24 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10379); -exit(1); -} -((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on */; -} -goto RET_LABEL; +var30 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations 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; } -CONTINUE_label: (void)0; -((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on */; } -BREAK_label: (void)0; -var25 = self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val; /* _n_cbra on */ -if (var25 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cbra", "src/parser/parser_prod.nit", 10384); -exit(1); +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -var26 = ((short int (*)(val*, val*))(var25->class->vft[COLOR_kernel__Object___61d_61d]))(var25, var_old_child) /* == on */; -if (var26){ -var27 = NULL; -if (var_new_child == NULL) { -var28 = 0; /* is null */ -} else { -var28 = 1; /* arg is null and recv is not */ +var31 = var32; } -if (var28){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TCbra */ -cltype30 = type_parser_nodes__TCbra.color; -idtype31 = type_parser_nodes__TCbra.id; -if(cltype30 >= var_new_child->type->table_size) { -var29 = 0; +if (var31){ +/* isa nullable AAnnotations */ +cltype38 = type_nullable_parser_nodes__AAnnotations.color; +idtype39 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var37 = 1; +} else { +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -var29 = var_new_child->type->type_table[cltype30] == idtype31; +var37 = var_new_child->type->type_table[cltype38] == idtype39; } -if (!var29) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10387); -exit(1); } -self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val = var_new_child; /* _n_cbra on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10390); -exit(1); +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", "parser/parser_prod.nit", 5680); +show_backtrace(1); +} +{ +parser_prod__AParExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AParExpr#n_annotations= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ABraExprs#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ABraExprs__replace_child(val* self, val* p0, val* p1) { -parser_prod__ABraExprs__replace_child(self, p0, p1); +/* method parser_prod#AParExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AParExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AParExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AParExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ABraExprs#n_obra= for (self: ABraExprs, TObra) */ -void parser_prod__ABraExprs__n_obra_61d(val* self, val* p0) { -val* var_node /* var node: TObra */; +/* method parser_prod#AParExpr#n_opar= for (self: AParExpr, TOpar) */ +void parser_prod__AParExpr__n_opar_61d(val* self, val* p0) { +val* var_node /* var node: TOpar */; var_node = p0; -self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val = var_node; /* _n_obra on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val = var_node; /* _n_opar 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; } -/* method parser_prod#ABraExprs#n_obra= for (self: Object, TObra) */ -void VIRTUAL_parser_prod__ABraExprs__n_obra_61d(val* self, val* p0) { -parser_prod__ABraExprs__n_obra_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#ABraExprs#n_cbra= for (self: ABraExprs, TCbra) */ -void parser_prod__ABraExprs__n_cbra_61d(val* self, val* p0) { -val* var_node /* var node: TCbra */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val = var_node; /* _n_cbra on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#ABraExprs#n_cbra= for (self: Object, TCbra) */ -void VIRTUAL_parser_prod__ABraExprs__n_cbra_61d(val* self, val* p0) { -parser_prod__ABraExprs__n_cbra_61d(self, p0); +/* method parser_prod#AParExpr#n_opar= for (self: Object, TOpar) */ +void VIRTUAL_parser_prod__AParExpr__n_opar_61d(val* self, val* p0) { +parser_prod__AParExpr__n_opar_61d(self, p0); /* Direct call parser_prod#AParExpr#n_opar= on */ RET_LABEL:; } -/* method parser_prod#ABraExprs#visit_all for (self: ABraExprs, Visitor) */ -void parser_prod__ABraExprs__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TObra */; -val* var1 /* : ANodes[AExpr] */; -val* var2 /* : Iterator[nullable Object] */; -short int var3 /* : Bool */; -val* var4 /* : nullable Object */; -val* var_n /* var n: AExpr */; -val* var5 /* : TCbra */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ABraExprs___n_obra].val; /* _n_obra on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_obra", "src/parser/parser_prod.nit", 10410); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_exprs", "src/parser/parser_prod.nit", 10411); -exit(1); -} -var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on */; -for(;;) { -var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on */; -if(!var3) break; -var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on */; -var_n = var4; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on */; -} -BREAK_label: (void)0; -var5 = self->attrs[COLOR_parser_nodes__ABraExprs___n_cbra].val; /* _n_cbra on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_cbra", "src/parser/parser_prod.nit", 10414); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on */; -RET_LABEL:; +/* method parser_prod#AParExpr#n_expr= for (self: AParExpr, AExpr) */ +void parser_prod__AParExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AParExpr___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; } -/* method parser_prod#ABraExprs#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ABraExprs__visit_all(val* self, val* p0) { -parser_prod__ABraExprs__visit_all(self, p0); -RET_LABEL:; } -/* method parser_prod#APlusAssignOp#empty_init for (self: APlusAssignOp) */ -void parser_prod__APlusAssignOp__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#APlusAssignOp#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__APlusAssignOp__empty_init(val* self) { -parser_prod__APlusAssignOp__empty_init(self); +/* method parser_prod#AParExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AParExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AParExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AParExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#APlusAssignOp#init_aplusassignop for (self: APlusAssignOp, nullable TPluseq) */ -void parser_prod__APlusAssignOp__init_aplusassignop(val* self, val* p0) { -val* var_n_pluseq /* var n_pluseq: nullable TPluseq */; -var_n_pluseq = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__APlusAssignOp__empty_init]))(self) /* empty_init on */; -if (var_n_pluseq == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10425); -exit(1); +/* method parser_prod#AParExpr#n_cpar= for (self: AParExpr, TCpar) */ +void parser_prod__AParExpr__n_cpar_61d(val* self, val* p0) { +val* var_node /* var node: TCpar */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val = var_node; /* _n_cpar 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__APlusAssignOp___n_pluseq].val = var_n_pluseq; /* _n_pluseq on */ -if (var_n_pluseq == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10426); -exit(1); -} else { -((void (*)(val*, val*))(var_n_pluseq->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_pluseq, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#APlusAssignOp#init_aplusassignop for (self: Object, nullable TPluseq) */ -void VIRTUAL_parser_prod__APlusAssignOp__init_aplusassignop(val* self, val* p0) { -parser_prod__APlusAssignOp__init_aplusassignop(self, p0); +/* method parser_prod#AParExpr#n_cpar= for (self: Object, TCpar) */ +void VIRTUAL_parser_prod__AParExpr__n_cpar_61d(val* self, val* p0) { +parser_prod__AParExpr__n_cpar_61d(self, p0); /* Direct call parser_prod#AParExpr#n_cpar= on */ RET_LABEL:; } -/* method parser_prod#APlusAssignOp#replace_child for (self: APlusAssignOp, ANode, nullable ANode) */ -void parser_prod__APlusAssignOp__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 /* : TPluseq */; +/* method parser_prod#AParExpr#n_annotations= for (self: AParExpr, nullable AAnnotations) */ +void parser_prod__AParExpr__n_annotations_61d(val* self, val* p0) { +val* var_node /* var node: nullable AAnnotations */; +val* var /* : null */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var4 /* : Bool */; -int cltype; -int idtype; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val; /* _n_pluseq on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_pluseq", "src/parser/parser_prod.nit", 10431); -exit(1); -} -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +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 { -var3 = 1; /* arg is null and recv is not */ +var1 = 1; /* arg is null and recv is not */ } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TPluseq */ -cltype = type_parser_nodes__TPluseq.color; -idtype = type_parser_nodes__TPluseq.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; +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; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10434); -exit(1); +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val = var_new_child; /* _n_pluseq on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10437); -exit(1); +var1 = var2; } -goto RET_LABEL; -} else { +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; } -RET_LABEL:; } -/* method parser_prod#APlusAssignOp#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__APlusAssignOp__replace_child(val* self, val* p0, val* p1) { -parser_prod__APlusAssignOp__replace_child(self, p0, p1); -RET_LABEL:; +} else { } -/* method parser_prod#APlusAssignOp#n_pluseq= for (self: APlusAssignOp, TPluseq) */ -void parser_prod__APlusAssignOp__n_pluseq_61d(val* self, val* p0) { -val* var_node /* var node: TPluseq */; -var_node = p0; -self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val = var_node; /* _n_pluseq on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#APlusAssignOp#n_pluseq= for (self: Object, TPluseq) */ -void VIRTUAL_parser_prod__APlusAssignOp__n_pluseq_61d(val* self, val* p0) { -parser_prod__APlusAssignOp__n_pluseq_61d(self, p0); +/* method parser_prod#AParExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AParExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__AParExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#AParExpr#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#APlusAssignOp#visit_all for (self: APlusAssignOp, Visitor) */ -void parser_prod__APlusAssignOp__visit_all(val* self, val* p0) { +/* method parser_prod#AParExpr#visit_all for (self: AParExpr, Visitor) */ +void parser_prod__AParExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TPluseq */; +val* var /* : TOpar */; +val* var1 /* : AExpr */; +val* var2 /* : TCpar */; +val* var3 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__APlusAssignOp___n_pluseq].val; /* _n_pluseq on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_pluseq", "src/parser/parser_prod.nit", 10452); -exit(1); +var = self->attrs[COLOR_parser_nodes__AParExpr___n_opar].val; /* _n_opar on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_opar"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5709); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#APlusAssignOp#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__APlusAssignOp__visit_all(val* self, val* p0) { -parser_prod__APlusAssignOp__visit_all(self, p0); -RET_LABEL:; +var1 = self->attrs[COLOR_parser_nodes__AParExpr___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", 5710); +show_backtrace(1); } -/* method parser_prod#AMinusAssignOp#empty_init for (self: AMinusAssignOp) */ -void parser_prod__AMinusAssignOp__empty_init(val* self) { -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AMinusAssignOp#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AMinusAssignOp__empty_init(val* self) { -parser_prod__AMinusAssignOp__empty_init(self); -RET_LABEL:; +var2 = self->attrs[COLOR_parser_nodes__AParExpr___n_cpar].val; /* _n_cpar on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_cpar"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5711); +show_backtrace(1); } -/* method parser_prod#AMinusAssignOp#init_aminusassignop for (self: AMinusAssignOp, nullable TMinuseq) */ -void parser_prod__AMinusAssignOp__init_aminusassignop(val* self, val* p0) { -val* var_n_minuseq /* var n_minuseq: nullable TMinuseq */; -var_n_minuseq = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMinusAssignOp__empty_init]))(self) /* empty_init on */; -if (var_n_minuseq == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10463); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val = var_n_minuseq; /* _n_minuseq on */ -if (var_n_minuseq == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10464); -exit(1); -} else { -((void (*)(val*, val*))(var_n_minuseq->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_minuseq, self) /* parent= on */; +var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AMinusAssignOp#init_aminusassignop for (self: Object, nullable TMinuseq) */ -void VIRTUAL_parser_prod__AMinusAssignOp__init_aminusassignop(val* self, val* p0) { -parser_prod__AMinusAssignOp__init_aminusassignop(self, p0); +/* method parser_prod#AParExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AParExpr__visit_all(val* self, val* p0) { +parser_prod__AParExpr__visit_all(self, p0); /* Direct call parser_prod#AParExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AMinusAssignOp#replace_child for (self: AMinusAssignOp, ANode, nullable ANode) */ -void parser_prod__AMinusAssignOp__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 /* : TMinuseq */; -short int var1 /* : Bool */; -val* var2 /* : null */; +/* method parser_prod#AAsCastExpr#init_aascastexpr for (self: AAsCastExpr, nullable AExpr, nullable TKwas, nullable TOpar, nullable AType, nullable TCpar) */ +void parser_prod__AAsCastExpr__init_aascastexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_kwas /* var n_kwas: nullable TKwas */; +val* var_n_opar /* var n_opar: nullable TOpar */; +val* var_n_type /* var n_type: nullable AType */; +val* var_n_cpar /* var n_cpar: nullable TCpar */; +val* var /* : null */; short int var3 /* : Bool */; short int var4 /* : Bool */; -int cltype; -int idtype; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val; /* _n_minuseq on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_minuseq", "src/parser/parser_prod.nit", 10469); -exit(1); +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +short int var8 /* : 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_expr = p0; +var_n_kwas = p1; +var_n_opar = p2; +var_n_type = p3; +var_n_cpar = p4; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5724); +show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__AAsCastExpr___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", 5725); +show_backtrace(1); } else { -var3 = 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 (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TMinuseq */ -cltype = type_parser_nodes__TMinuseq.color; -idtype = type_parser_nodes__TMinuseq.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10472); -exit(1); } -self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val = var_new_child; /* _n_minuseq on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10475); -exit(1); +if (unlikely(var_n_kwas == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5726); +show_backtrace(1); } -goto RET_LABEL; +self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_n_kwas; /* _n_kwas on */ +if (var_n_kwas == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5727); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwas,self) on */ +if (unlikely(var_n_kwas == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -RET_LABEL:; -} -/* method parser_prod#AMinusAssignOp#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AMinusAssignOp__replace_child(val* self, val* p0, val* p1) { -parser_prod__AMinusAssignOp__replace_child(self, p0, p1); -RET_LABEL:; +var_n_kwas->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -/* method parser_prod#AMinusAssignOp#n_minuseq= for (self: AMinusAssignOp, TMinuseq) */ -void parser_prod__AMinusAssignOp__n_minuseq_61d(val* self, val* p0) { -val* var_node /* var node: TMinuseq */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val = var_node; /* _n_minuseq on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; } -/* method parser_prod#AMinusAssignOp#n_minuseq= for (self: Object, TMinuseq) */ -void VIRTUAL_parser_prod__AMinusAssignOp__n_minuseq_61d(val* self, val* p0) { -parser_prod__AMinusAssignOp__n_minuseq_61d(self, p0); -RET_LABEL:; +self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_n_opar; /* _n_opar on */ +var = NULL; +if (var_n_opar == NULL) { +var3 = 0; /* is null */ +} else { +var3 = 1; /* arg is null and recv is not */ } -/* method parser_prod#AMinusAssignOp#visit_all for (self: AMinusAssignOp, Visitor) */ -void parser_prod__AMinusAssignOp__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TMinuseq */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AMinusAssignOp___n_minuseq].val; /* _n_minuseq on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_minuseq", "src/parser/parser_prod.nit", 10490); -exit(1); +if (0) { +{ /* Inline kernel#Object#!= (var_n_opar,var) on */ +var_other = var; +{ +var7 = ((short int (*)(val*, val*))(var_n_opar->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_opar, var_other) /* == on */; +var6 = var7; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; +var8 = !var6; +var4 = var8; +goto RET_LABEL5; +RET_LABEL5:(void)0; } -/* method parser_prod#AMinusAssignOp#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AMinusAssignOp__visit_all(val* self, val* p0) { -parser_prod__AMinusAssignOp__visit_all(self, p0); -RET_LABEL:; +var3 = var4; } -/* method parser_prod#AClosureDef#empty_init for (self: AClosureDef) */ -void parser_prod__AClosureDef__empty_init(val* self) { -RET_LABEL:; +if (var3){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_opar,self) on */ +var_n_opar->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL9:(void)0; } -/* method parser_prod#AClosureDef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AClosureDef__empty_init(val* self) { -parser_prod__AClosureDef__empty_init(self); -RET_LABEL:; } -/* method parser_prod#AClosureDef#init_aclosuredef for (self: AClosureDef, nullable TBang, nullable AClosureId, Collection[Object], nullable TKwdo, nullable AExpr, nullable ALabel) */ -void parser_prod__AClosureDef__init_aclosuredef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -val* var_n_bang /* var n_bang: nullable TBang */; -val* var_n_id /* var n_id: nullable AClosureId */; -val* var_n_ids /* var n_ids: Collection[Object] */; -val* var_n_kwdo /* var n_kwdo: nullable TKwdo */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_label /* var n_label: nullable ALabel */; -val* var /* : Iterator[nullable Object] */; -short int var1 /* : Bool */; -val* var2 /* : nullable Object */; -val* var_n /* var n: Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var4 /* : ANodes[TId] */; -val* var5 /* : null */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; -val* var9 /* : null */; -short int var10 /* : Bool */; -var_n_bang = p0; -var_n_id = p1; -var_n_ids = p2; -var_n_kwdo = p3; -var_n_expr = p4; -var_n_label = p5; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AClosureDef__empty_init]))(self) /* empty_init on */; -if (var_n_bang == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10506); -exit(1); -} -self->attrs[COLOR_parser_nodes__AClosureDef___n_bang].val = var_n_bang; /* _n_bang on */ -if (var_n_bang == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10507); -exit(1); -} else { -((void (*)(val*, val*))(var_n_bang->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_bang, self) /* parent= on */; +} else { } -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10508); -exit(1); +if (unlikely(var_n_type == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5730); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AClosureDef___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10509); -exit(1); -} else { -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; -} -var = ((val* (*)(val*))(var_n_ids->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_ids) /* iterator on */; -for(;;) { -var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on */; -if(!var1) break; -var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on */; -var_n = var2; -/* isa TId */ -cltype = type_parser_nodes__TId.color; -idtype = type_parser_nodes__TId.id; -if(cltype >= var_n->type->table_size) { -var3 = 0; +self->attrs[COLOR_parser_nodes__AAsCastExpr___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", "parser/parser_prod.nit", 5731); +show_backtrace(1); } else { -var3 = var_n->type->type_table[cltype] == idtype; -} -if (!var3) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10511); -exit(1); +{ /* 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", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -var4 = self->attrs[COLOR_parser_nodes__AClosureDef___n_ids].val; /* _n_ids on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 10512); -exit(1); +var_n_type->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL10:(void)0; } -((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on */; -((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on */; } -BREAK_label: (void)0; -self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val = var_n_kwdo; /* _n_kwdo on */ -var5 = NULL; -if (var_n_kwdo == NULL) { -var6 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_n_cpar; /* _n_cpar on */ +var11 = NULL; +if (var_n_cpar == NULL) { +var12 = 0; /* is null */ } else { -var6 = 1; /* arg is null and recv is not */ +var12 = 1; /* arg is null and recv is not */ } -if (var6){ -((void (*)(val*, val*))(var_n_kwdo->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwdo, self) /* parent= on */; -} else { +if (0) { +{ /* Inline kernel#Object#!= (var_n_cpar,var11) on */ +var_other = var11; +{ +var16 = ((short int (*)(val*, val*))(var_n_cpar->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_cpar, var_other) /* == on */; +var15 = var16; } -self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val = var_n_expr; /* _n_expr on */ -var7 = NULL; -if (var_n_expr == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +var17 = !var15; +var13 = var17; +goto RET_LABEL14; +RET_LABEL14:(void)0; } -if (var8){ -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; -} else { +var12 = var13; +} +if (var12){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_cpar,self) on */ +var_n_cpar->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL18:(void)0; } -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 (var10){ -((void (*)(val*, val*))(var_n_label->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_label, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#AClosureDef#init_aclosuredef for (self: Object, nullable TBang, nullable AClosureId, Collection[Object], nullable TKwdo, nullable AExpr, nullable ALabel) */ -void VIRTUAL_parser_prod__AClosureDef__init_aclosuredef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -parser_prod__AClosureDef__init_aclosuredef(self, p0, p1, p2, p3, p4, p5); +/* method parser_prod#AAsCastExpr#init_aascastexpr for (self: Object, nullable AExpr, nullable TKwas, nullable TOpar, nullable AType, nullable TCpar) */ +void VIRTUAL_parser_prod__AAsCastExpr__init_aascastexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +parser_prod__AAsCastExpr__init_aascastexpr(self, p0, p1, p2, p3, p4); /* Direct call parser_prod#AAsCastExpr#init_aascastexpr on */ RET_LABEL:; } -/* method parser_prod#AClosureDef#replace_child for (self: AClosureDef, ANode, nullable ANode) */ -void parser_prod__AClosureDef__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AAsCastExpr#replace_child for (self: AAsCastExpr, ANode, nullable ANode) */ +void parser_prod__AAsCastExpr__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 /* : TBang */; +val* var /* : AExpr */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : 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; -val* var5 /* : AClosureId */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : TKwas */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : Range[Int] */; -long var13 /* : Int */; -val* var14 /* : ANodes[TId] */; -long var15 /* : Int */; -val* var16 /* : Discrete */; -val* var17 /* : Discrete */; -val* var18 /* : Iterator[nullable Object] */; -short int var19 /* : Bool */; -val* var20 /* : nullable Object */; -long var_i /* var i: Int */; -long var21 /* : Int */; -val* var22 /* : ANodes[TId] */; -val* var23 /* : nullable Object */; -short int var24 /* : Bool */; -val* var25 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : nullable TOpar */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; short int var26 /* : Bool */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -val* var30 /* : ANodes[TId] */; -val* var31 /* : ANodes[TId] */; -val* var32 /* : nullable TKwdo */; -short int var33 /* : Bool */; -val* var34 /* : null */; -short int var35 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : AType */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; short int var36 /* : Bool */; -int cltype37; -int idtype38; -val* var39 /* : null */; -val* var40 /* : nullable AExpr */; -short int var41 /* : Bool */; -val* var42 /* : null */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +const char* var_class_name40; +val* var41 /* : nullable TCpar */; +short int var42 /* : Bool */; short int var43 /* : Bool */; -short int var44 /* : Bool */; -int cltype45; -int idtype46; -val* var47 /* : null */; -val* var48 /* : nullable ALabel */; -short int var49 /* : Bool */; -val* var50 /* : null */; -short int var51 /* : Bool */; -short int var52 /* : Bool */; -int cltype53; -int idtype54; -val* var55 /* : null */; +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__AClosureDef___n_bang].val; /* _n_bang on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_bang", "src/parser/parser_prod.nit", 10531); -exit(1); +var = self->attrs[COLOR_parser_nodes__AAsCastExpr___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", 5738); +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; } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa AExpr */ +cltype = type_parser_nodes__AExpr.color; +idtype = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TBang */ -cltype = type_parser_nodes__TBang.color; -idtype = type_parser_nodes__TBang.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10534); -exit(1); } -self->attrs[COLOR_parser_nodes__AClosureDef___n_bang].val = var_new_child; /* _n_bang on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10537); -exit(1); +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", 5739); +show_backtrace(1); +} +{ +parser_prod__AAsCastExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAsCastExpr#n_expr= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__AClosureDef___n_id].val; /* _n_id on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 10541); -exit(1); +var8 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val; /* _n_kwas on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwas"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5742); +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 TKwas */ +cltype16 = type_parser_nodes__TKwas.color; +idtype17 = type_parser_nodes__TKwas.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`", "TKwas", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5743); +show_backtrace(1); +} +{ +parser_prod__AAsCastExpr__n_kwas_61d(self, var_new_child); /* Direct call parser_prod#AAsCastExpr#n_kwas= on */ +} +goto RET_LABEL; +} else { } -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ +var19 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val; /* _n_opar on */ +if (var19 == NULL) { +var20 = 0; /* cannot be null */ } else { -var8 = 1; /* arg is null and recv is not */ +{ /* 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; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AClosureId */ -cltype10 = type_parser_nodes__AClosureId.color; -idtype11 = type_parser_nodes__AClosureId.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; +var20 = var21; +} +if (var20){ +/* isa nullable TOpar */ +cltype27 = type_nullable_parser_nodes__TOpar.color; +idtype28 = type_nullable_parser_nodes__TOpar.id; +if(var_new_child == NULL) { +var26 = 1; } else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; +} else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; +} } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10544); -exit(1); +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 TOpar", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5747); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AClosureDef___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10547); -exit(1); +{ +parser_prod__AAsCastExpr__n_opar_61d(self, var_new_child); /* Direct call parser_prod#AAsCastExpr#n_opar= on */ } goto RET_LABEL; } else { } -var12 = NEW_range__Range(&type_range__Rangekernel__Int); -var13 = 0; -var14 = self->attrs[COLOR_parser_nodes__AClosureDef___n_ids].val; /* _n_ids on */ -if (var14 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 10551); -exit(1); -} -var15 = ((long (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__length]))(var14) /* length on */; -var16 = BOX_kernel__Int(var13); /* autobox from Int to Discrete */ -var17 = BOX_kernel__Int(var15); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var12->class->vft[COLOR_range__Range__without_last]))(var12, var16, var17) /* without_last on */; -CHECK_NEW_range__Range(var12); -var18 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Collection__iterator]))(var12) /* iterator on */; -for(;;) { -var19 = ((short int (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var18) /* is_ok on */; -if(!var19) break; -var20 = ((val* (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__item]))(var18) /* item on */; -var21 = ((struct instance_kernel__Int*)var20)->value; /* autounbox from nullable Object to Int */; -var_i = var21; -var22 = self->attrs[COLOR_parser_nodes__AClosureDef___n_ids].val; /* _n_ids on */ -if (var22 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 10552); -exit(1); -} -var23 = ((val* (*)(val*, long))(var22->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var22, var_i) /* [] on */; -var24 = ((short int (*)(val*, val*))(var23->class->vft[COLOR_kernel__Object___61d_61d]))(var23, var_old_child) /* == on */; -if (var24){ -var25 = NULL; -if (var_new_child == NULL) { -var26 = 0; /* is null */ -} else { -var26 = 1; /* arg is null and recv is not */ -} -if (var26){ -/* isa TId */ -cltype28 = type_parser_nodes__TId.color; -idtype29 = type_parser_nodes__TId.id; -if(cltype28 >= var_new_child->type->table_size) { -var27 = 0; -} else { -var27 = var_new_child->type->type_table[cltype28] == idtype29; -} -if (!var27) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10554); -exit(1); -} -var30 = self->attrs[COLOR_parser_nodes__AClosureDef___n_ids].val; /* _n_ids on */ -if (var30 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 10555); -exit(1); +var30 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val; /* _n_type on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5750); +show_backtrace(1); } -((void (*)(val*, long, val*))(var30->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var30, var_i, var_new_child) /* []= on */; -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -} else { -var31 = self->attrs[COLOR_parser_nodes__AClosureDef___n_ids].val; /* _n_ids on */ -if (var31 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 10558); -exit(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; } -((void (*)(val*, long))(var31->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var31, var_i) /* remove_at on */; } -goto RET_LABEL; -} else { +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -CONTINUE_label: (void)0; -((void (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__next]))(var18) /* next on */; +var31 = var32; } -BREAK_label: (void)0; -var32 = self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val; /* _n_kwdo on */ -if (var32 == NULL) { -var33 = 0; /* cannot be null */ +if (var31){ +/* isa AType */ +cltype38 = type_parser_nodes__AType.color; +idtype39 = type_parser_nodes__AType.id; +if(var_new_child == NULL) { +var37 = 0; } else { -var33 = ((short int (*)(val*, val*))(var32->class->vft[COLOR_kernel__Object___61d_61d]))(var32, var_old_child) /* == on */; -} -if (var33){ -var34 = NULL; -if (var_new_child == NULL) { -var35 = 0; /* is null */ +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -var35 = 1; /* arg is null and recv is not */ +var37 = var_new_child->type->type_table[cltype38] == idtype39; } -if (var35){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwdo */ -cltype37 = type_parser_nodes__TKwdo.color; -idtype38 = type_parser_nodes__TKwdo.id; -if(cltype37 >= var_new_child->type->table_size) { -var36 = 0; -} else { -var36 = var_new_child->type->type_table[cltype37] == idtype38; } -if (!var36) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10566); -exit(1); +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`", "AType", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5751); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val = var_new_child; /* _n_kwdo on */ -} else { -var39 = NULL; -self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val = var39; /* _n_kwdo on */ +{ +parser_prod__AAsCastExpr__n_type_61d(self, var_new_child); /* Direct call parser_prod#AAsCastExpr#n_type= on */ } goto RET_LABEL; } else { } -var40 = self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val; /* _n_expr on */ -if (var40 == NULL) { -var41 = 0; /* cannot be null */ -} else { -var41 = ((short int (*)(val*, val*))(var40->class->vft[COLOR_kernel__Object___61d_61d]))(var40, var_old_child) /* == on */; -} -if (var41){ -var42 = NULL; -if (var_new_child == NULL) { -var43 = 0; /* is null */ -} else { -var43 = 1; /* arg is null and recv is not */ -} -if (var43){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype45 = type_parser_nodes__AExpr.color; -idtype46 = type_parser_nodes__AExpr.id; -if(cltype45 >= var_new_child->type->table_size) { -var44 = 0; +var41 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val; /* _n_cpar on */ +if (var41 == NULL) { +var42 = 0; /* cannot be null */ } else { -var44 = var_new_child->type->type_table[cltype45] == idtype46; +{ /* 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 (!var44) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10576); -exit(1); } -self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val = var_new_child; /* _n_expr on */ -} else { -var47 = NULL; -self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val = var47; /* _n_expr on */ +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; } -goto RET_LABEL; -} else { +var42 = var43; } -var48 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var48 == NULL) { -var49 = 0; /* cannot be null */ +if (var42){ +/* isa nullable TCpar */ +cltype49 = type_nullable_parser_nodes__TCpar.color; +idtype50 = type_nullable_parser_nodes__TCpar.id; +if(var_new_child == NULL) { +var48 = 1; } else { -var49 = ((short int (*)(val*, val*))(var48->class->vft[COLOR_kernel__Object___61d_61d]))(var48, var_old_child) /* == on */; -} -if (var49){ -var50 = NULL; -if (var_new_child == NULL) { -var51 = 0; /* is null */ +if(cltype49 >= var_new_child->type->table_size) { +var48 = 0; } else { -var51 = 1; /* arg is null and recv is not */ +var48 = var_new_child->type->type_table[cltype49] == idtype50; } -if (var51){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa ALabel */ -cltype53 = type_parser_nodes__ALabel.color; -idtype54 = type_parser_nodes__ALabel.id; -if(cltype53 >= var_new_child->type->table_size) { -var52 = 0; -} else { -var52 = var_new_child->type->type_table[cltype53] == idtype54; } -if (!var52) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10586); -exit(1); +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 TCpar", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5755); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on */ -} else { -var55 = NULL; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var55; /* _n_label on */ +{ +parser_prod__AAsCastExpr__n_cpar_61d(self, var_new_child); /* Direct call parser_prod#AAsCastExpr#n_cpar= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AClosureDef#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AClosureDef__replace_child(val* self, val* p0, val* p1) { -parser_prod__AClosureDef__replace_child(self, p0, p1); +/* method parser_prod#AAsCastExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AAsCastExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AAsCastExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAsCastExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AClosureDef#n_bang= for (self: AClosureDef, TBang) */ -void parser_prod__AClosureDef__n_bang_61d(val* self, val* p0) { -val* var_node /* var node: TBang */; +/* method parser_prod#AAsCastExpr#n_expr= for (self: AAsCastExpr, AExpr) */ +void parser_prod__AAsCastExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AClosureDef___n_bang].val = var_node; /* _n_bang on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AAsCastExpr___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#AClosureDef#n_bang= for (self: Object, TBang) */ -void VIRTUAL_parser_prod__AClosureDef__n_bang_61d(val* self, val* p0) { -parser_prod__AClosureDef__n_bang_61d(self, p0); +/* method parser_prod#AAsCastExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AAsCastExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AAsCastExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AAsCastExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#AClosureDef#n_id= for (self: AClosureDef, AClosureId) */ -void parser_prod__AClosureDef__n_id_61d(val* self, val* p0) { -val* var_node /* var node: AClosureId */; +/* method parser_prod#AAsCastExpr#n_kwas= for (self: AAsCastExpr, TKwas) */ +void parser_prod__AAsCastExpr__n_kwas_61d(val* self, val* p0) { +val* var_node /* var node: TKwas */; var_node = p0; -self->attrs[COLOR_parser_nodes__AClosureDef___n_id].val = var_node; /* _n_id on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val = var_node; /* _n_kwas 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#AClosureDef#n_id= for (self: Object, AClosureId) */ -void VIRTUAL_parser_prod__AClosureDef__n_id_61d(val* self, val* p0) { -parser_prod__AClosureDef__n_id_61d(self, p0); +/* method parser_prod#AAsCastExpr#n_kwas= for (self: Object, TKwas) */ +void VIRTUAL_parser_prod__AAsCastExpr__n_kwas_61d(val* self, val* p0) { +parser_prod__AAsCastExpr__n_kwas_61d(self, p0); /* Direct call parser_prod#AAsCastExpr#n_kwas= on */ RET_LABEL:; } -/* method parser_prod#AClosureDef#n_kwdo= for (self: AClosureDef, nullable TKwdo) */ -void parser_prod__AClosureDef__n_kwdo_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwdo */; +/* method parser_prod#AAsCastExpr#n_opar= for (self: AAsCastExpr, nullable TOpar) */ +void parser_prod__AAsCastExpr__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__AClosureDef___n_kwdo].val = var_node; /* _n_kwdo on */ +self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val = var_node; /* _n_opar 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){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, 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; +} +} } else { } RET_LABEL:; } -/* method parser_prod#AClosureDef#n_kwdo= for (self: Object, nullable TKwdo) */ -void VIRTUAL_parser_prod__AClosureDef__n_kwdo_61d(val* self, val* p0) { -parser_prod__AClosureDef__n_kwdo_61d(self, p0); +/* method parser_prod#AAsCastExpr#n_opar= for (self: Object, nullable TOpar) */ +void VIRTUAL_parser_prod__AAsCastExpr__n_opar_61d(val* self, val* p0) { +parser_prod__AAsCastExpr__n_opar_61d(self, p0); /* Direct call parser_prod#AAsCastExpr#n_opar= on */ RET_LABEL:; } -/* method parser_prod#AClosureDef#n_expr= for (self: AClosureDef, nullable AExpr) */ -void parser_prod__AClosureDef__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#AAsCastExpr#n_type= for (self: AAsCastExpr, AType) */ +void parser_prod__AAsCastExpr__n_type_61d(val* self, val* p0) { +val* var_node /* var node: AType */; var_node = p0; -self->attrs[COLOR_parser_nodes__AClosureDef___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 */ +self->attrs[COLOR_parser_nodes__AAsCastExpr___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 (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { } RET_LABEL:; } -/* method parser_prod#AClosureDef#n_expr= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AClosureDef__n_expr_61d(val* self, val* p0) { -parser_prod__AClosureDef__n_expr_61d(self, p0); +/* method parser_prod#AAsCastExpr#n_type= for (self: Object, AType) */ +void VIRTUAL_parser_prod__AAsCastExpr__n_type_61d(val* self, val* p0) { +parser_prod__AAsCastExpr__n_type_61d(self, p0); /* Direct call parser_prod#AAsCastExpr#n_type= on */ RET_LABEL:; } -/* method parser_prod#AClosureDef#n_label= for (self: AClosureDef, nullable ALabel) */ -void parser_prod__AClosureDef__n_label_61d(val* self, val* p0) { -val* var_node /* var node: nullable ALabel */; +/* method parser_prod#AAsCastExpr#n_cpar= for (self: AAsCastExpr, nullable TCpar) */ +void parser_prod__AAsCastExpr__n_cpar_61d(val* self, val* p0) { +val* var_node /* var node: nullable TCpar */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ +self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val = var_node; /* _n_cpar 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){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, 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; +} +} } else { } RET_LABEL:; } -/* method parser_prod#AClosureDef#n_label= for (self: Object, nullable ALabel) */ -void VIRTUAL_parser_prod__AClosureDef__n_label_61d(val* self, val* p0) { -parser_prod__AClosureDef__n_label_61d(self, p0); +/* method parser_prod#AAsCastExpr#n_cpar= for (self: Object, nullable TCpar) */ +void VIRTUAL_parser_prod__AAsCastExpr__n_cpar_61d(val* self, val* p0) { +parser_prod__AAsCastExpr__n_cpar_61d(self, p0); /* Direct call parser_prod#AAsCastExpr#n_cpar= on */ RET_LABEL:; } -/* method parser_prod#AClosureDef#visit_all for (self: AClosureDef, Visitor) */ -void parser_prod__AClosureDef__visit_all(val* self, val* p0) { +/* method parser_prod#AAsCastExpr#visit_all for (self: AAsCastExpr, Visitor) */ +void parser_prod__AAsCastExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TBang */; -val* var1 /* : AClosureId */; -val* var2 /* : ANodes[TId] */; -val* var3 /* : Iterator[nullable Object] */; -short int var4 /* : Bool */; -val* var5 /* : nullable Object */; -val* var_n /* var n: TId */; -val* var6 /* : nullable TKwdo */; -val* var7 /* : null */; -short int var8 /* : Bool */; -val* var9 /* : nullable TKwdo */; -val* var10 /* : nullable AExpr */; -val* var11 /* : null */; -short int var12 /* : Bool */; -val* var13 /* : nullable AExpr */; -val* var14 /* : nullable ALabel */; -val* var15 /* : null */; -short int var16 /* : Bool */; -val* var17 /* : nullable ALabel */; +val* var /* : AExpr */; +val* var1 /* : TKwas */; +val* var2 /* : nullable TOpar */; +val* var3 /* : AType */; +val* var4 /* : nullable TCpar */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AClosureDef___n_bang].val; /* _n_bang on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_bang", "src/parser/parser_prod.nit", 10630); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__AClosureDef___n_id].val; /* _n_id on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 10631); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__AClosureDef___n_ids].val; /* _n_ids on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_ids", "src/parser/parser_prod.nit", 10632); -exit(1); -} -var3 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__iterator]))(var2) /* iterator on */; -for(;;) { -var4 = ((short int (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var3) /* is_ok on */; -if(!var4) break; -var5 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__item]))(var3) /* item on */; -var_n = var5; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__next]))(var3) /* next on */; -} -BREAK_label: (void)0; -var6 = self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val; /* _n_kwdo on */ -var7 = NULL; -if (var6 == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ -} -if (var8){ -var9 = self->attrs[COLOR_parser_nodes__AClosureDef___n_kwdo].val; /* _n_kwdo on */ -if (var9 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10636); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on */; -} else { -} -var10 = self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val; /* _n_expr on */ -var11 = NULL; -if (var10 == NULL) { -var12 = 0; /* is null */ -} else { -var12 = 1; /* arg is null and recv is not */ -} -if (var12){ -var13 = self->attrs[COLOR_parser_nodes__AClosureDef___n_expr].val; /* _n_expr on */ -if (var13 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10639); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var13) /* enter_visit on */; -} else { -} -var14 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -var15 = NULL; -if (var14 == NULL) { -var16 = 0; /* is null */ -} else { -var16 = 1; /* arg is null and recv is not */ -} -if (var16){ -var17 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var17 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10642); -exit(1); +var = self->attrs[COLOR_parser_nodes__AAsCastExpr___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", 5789); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var17) /* enter_visit on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -RET_LABEL:; +var1 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_kwas].val; /* _n_kwas on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwas"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5790); +show_backtrace(1); } -/* method parser_prod#AClosureDef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AClosureDef__visit_all(val* self, val* p0) { -parser_prod__AClosureDef__visit_all(self, p0); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ASimpleClosureId#empty_init for (self: ASimpleClosureId) */ -void parser_prod__ASimpleClosureId__empty_init(val* self) { -RET_LABEL:; +var2 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_opar].val; /* _n_opar on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ASimpleClosureId#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ASimpleClosureId__empty_init(val* self) { -parser_prod__ASimpleClosureId__empty_init(self); -RET_LABEL:; +var3 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val; /* _n_type on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5792); +show_backtrace(1); } -/* method parser_prod#ASimpleClosureId#init_asimpleclosureid for (self: ASimpleClosureId, nullable TId) */ -void parser_prod__ASimpleClosureId__init_asimpleclosureid(val* self, val* p0) { -val* var_n_id /* var n_id: nullable TId */; -var_n_id = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASimpleClosureId__empty_init]))(self) /* empty_init on */; -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10654); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } -self->attrs[COLOR_parser_nodes__ASimpleClosureId___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10655); -exit(1); -} else { -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; +var4 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_cpar].val; /* _n_cpar on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#ASimpleClosureId#init_asimpleclosureid for (self: Object, nullable TId) */ -void VIRTUAL_parser_prod__ASimpleClosureId__init_asimpleclosureid(val* self, val* p0) { -parser_prod__ASimpleClosureId__init_asimpleclosureid(self, p0); +/* method parser_prod#AAsCastExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AAsCastExpr__visit_all(val* self, val* p0) { +parser_prod__AAsCastExpr__visit_all(self, p0); /* Direct call parser_prod#AAsCastExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ASimpleClosureId#replace_child for (self: ASimpleClosureId, ANode, nullable ANode) */ -void parser_prod__ASimpleClosureId__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 */; -short int var1 /* : Bool */; -val* var2 /* : null */; +/* method parser_prod#AAsNotnullExpr#init_aasnotnullexpr for (self: AAsNotnullExpr, nullable AExpr, nullable TKwas, nullable TOpar, nullable TKwnot, nullable TKwnull, nullable TCpar) */ +void parser_prod__AAsNotnullExpr__init_aasnotnullexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_kwas /* var n_kwas: nullable TKwas */; +val* var_n_opar /* var n_opar: nullable TOpar */; +val* var_n_kwnot /* var n_kwnot: nullable TKwnot */; +val* var_n_kwnull /* var n_kwnull: nullable TKwnull */; +val* var_n_cpar /* var n_cpar: nullable TCpar */; +val* var /* : null */; short int var3 /* : Bool */; short int var4 /* : Bool */; -int cltype; -int idtype; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ASimpleClosureId___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 10660); -exit(1); -} -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TId */ -cltype = type_parser_nodes__TId.color; -idtype = type_parser_nodes__TId.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; -} -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10663); -exit(1); -} -self->attrs[COLOR_parser_nodes__ASimpleClosureId___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10666); -exit(1); +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +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_expr = p0; +var_n_kwas = p1; +var_n_opar = p2; +var_n_kwnot = p3; +var_n_kwnull = p4; +var_n_cpar = p5; +if (unlikely(var_n_expr == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5806); +show_backtrace(1); } -goto RET_LABEL; +self->attrs[COLOR_parser_nodes__AAsNotnullExpr___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", 5807); +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); } -RET_LABEL:; -} -/* method parser_prod#ASimpleClosureId#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ASimpleClosureId__replace_child(val* self, val* p0, val* p1) { -parser_prod__ASimpleClosureId__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#ASimpleClosureId#n_id= for (self: ASimpleClosureId, TId) */ -void parser_prod__ASimpleClosureId__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TId */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ASimpleClosureId___n_id].val = var_node; /* _n_id on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#ASimpleClosureId#n_id= for (self: Object, TId) */ -void VIRTUAL_parser_prod__ASimpleClosureId__n_id_61d(val* self, val* p0) { -parser_prod__ASimpleClosureId__n_id_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ASimpleClosureId#visit_all for (self: ASimpleClosureId, Visitor) */ -void parser_prod__ASimpleClosureId__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TId */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ASimpleClosureId___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 10681); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; -} -/* method parser_prod#ASimpleClosureId#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ASimpleClosureId__visit_all(val* self, val* p0) { -parser_prod__ASimpleClosureId__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#ABreakClosureId#empty_init for (self: ABreakClosureId) */ -void parser_prod__ABreakClosureId__empty_init(val* self) { -RET_LABEL:; +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -/* method parser_prod#ABreakClosureId#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ABreakClosureId__empty_init(val* self) { -parser_prod__ABreakClosureId__empty_init(self); -RET_LABEL:; } -/* method parser_prod#ABreakClosureId#init_abreakclosureid for (self: ABreakClosureId, nullable TKwbreak) */ -void parser_prod__ABreakClosureId__init_abreakclosureid(val* self, val* p0) { -val* var_n_kwbreak /* var n_kwbreak: nullable TKwbreak */; -var_n_kwbreak = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABreakClosureId__empty_init]))(self) /* empty_init on */; -if (var_n_kwbreak == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10692); -exit(1); +if (unlikely(var_n_kwas == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5808); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABreakClosureId___n_kwbreak].val = var_n_kwbreak; /* _n_kwbreak on */ -if (var_n_kwbreak == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10693); -exit(1); +self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwas].val = var_n_kwas; /* _n_kwas on */ +if (var_n_kwas == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5809); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwbreak->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwbreak, self) /* parent= on */; -} -RET_LABEL:; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwas,self) on */ +if (unlikely(var_n_kwas == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -/* method parser_prod#ABreakClosureId#init_abreakclosureid for (self: Object, nullable TKwbreak) */ -void VIRTUAL_parser_prod__ABreakClosureId__init_abreakclosureid(val* self, val* p0) { -parser_prod__ABreakClosureId__init_abreakclosureid(self, p0); -RET_LABEL:; +var_n_kwas->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -/* method parser_prod#ABreakClosureId#replace_child for (self: ABreakClosureId, ANode, nullable ANode) */ -void parser_prod__ABreakClosureId__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 */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -int cltype; -int idtype; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ABreakClosureId___n_kwbreak].val; /* _n_kwbreak on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwbreak", "src/parser/parser_prod.nit", 10698); -exit(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; -if (var1){ -var2 = NULL; -if (var_new_child == NULL) { +self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_opar].val = var_n_opar; /* _n_opar on */ +var = NULL; +if (var_n_opar == NULL) { var3 = 0; /* is null */ } else { var3 = 1; /* arg is null and recv is not */ } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwbreak */ -cltype = type_parser_nodes__TKwbreak.color; -idtype = type_parser_nodes__TKwbreak.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; +if (0) { +{ /* Inline kernel#Object#!= (var_n_opar,var) on */ +var_other = var; +{ +var7 = ((short int (*)(val*, val*))(var_n_opar->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_opar, var_other) /* == on */; +var6 = var7; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10701); -exit(1); +var8 = !var6; +var4 = var8; +goto RET_LABEL5; +RET_LABEL5:(void)0; } -self->attrs[COLOR_parser_nodes__ABreakClosureId___n_kwbreak].val = var_new_child; /* _n_kwbreak on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 10704); -exit(1); +var3 = var4; } -goto RET_LABEL; -} else { +if (var3){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_opar,self) on */ +var_n_opar->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL9:(void)0; } -RET_LABEL:; } -/* method parser_prod#ABreakClosureId#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ABreakClosureId__replace_child(val* self, val* p0, val* p1) { -parser_prod__ABreakClosureId__replace_child(self, p0, p1); -RET_LABEL:; +} else { } -/* method parser_prod#ABreakClosureId#n_kwbreak= for (self: ABreakClosureId, TKwbreak) */ -void parser_prod__ABreakClosureId__n_kwbreak_61d(val* self, val* p0) { -val* var_node /* var node: TKwbreak */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ABreakClosureId___n_kwbreak].val = var_node; /* _n_kwbreak on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +if (unlikely(var_n_kwnot == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5812); +show_backtrace(1); } -/* method parser_prod#ABreakClosureId#n_kwbreak= for (self: Object, TKwbreak) */ -void VIRTUAL_parser_prod__ABreakClosureId__n_kwbreak_61d(val* self, val* p0) { -parser_prod__ABreakClosureId__n_kwbreak_61d(self, p0); -RET_LABEL:; +self->attrs[COLOR_parser_nodes__AAsNotnullExpr___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", 5813); +show_backtrace(1); +} else { +{ /* 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); } -/* method parser_prod#ABreakClosureId#visit_all for (self: ABreakClosureId, Visitor) */ -void parser_prod__ABreakClosureId__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TKwbreak */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ABreakClosureId___n_kwbreak].val; /* _n_kwbreak on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwbreak", "src/parser/parser_prod.nit", 10719); -exit(1); +var_n_kwnot->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL10:(void)0; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; } -/* method parser_prod#ABreakClosureId#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ABreakClosureId__visit_all(val* self, val* p0) { -parser_prod__ABreakClosureId__visit_all(self, p0); -RET_LABEL:; +if (unlikely(var_n_kwnull == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5814); +show_backtrace(1); } -/* method parser_prod#AModuleName#empty_init for (self: AModuleName) */ -void parser_prod__AModuleName__empty_init(val* self) { -RET_LABEL:; +self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_kwnull].val = var_n_kwnull; /* _n_kwnull on */ +if (var_n_kwnull == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 5815); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwnull,self) on */ +if (unlikely(var_n_kwnull == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -/* method parser_prod#AModuleName#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AModuleName__empty_init(val* self) { -parser_prod__AModuleName__empty_init(self); -RET_LABEL:; +var_n_kwnull->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL11:(void)0; } -/* method parser_prod#AModuleName#init_amodulename for (self: AModuleName, nullable TQuad, Collection[Object], nullable TId) */ -void parser_prod__AModuleName__init_amodulename(val* self, val* p0, val* p1, val* p2) { -val* var_n_quad /* var n_quad: nullable TQuad */; -val* var_n_path /* var n_path: Collection[Object] */; -val* var_n_id /* var n_id: nullable TId */; -val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : Iterator[nullable Object] */; -short int var3 /* : Bool */; -val* var4 /* : nullable Object */; -val* var_n /* var n: Object */; -short int var5 /* : Bool */; -int cltype; -int idtype; -val* var6 /* : ANodes[TId] */; -var_n_quad = p0; -var_n_path = p1; -var_n_id = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AModuleName__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val = var_n_quad; /* _n_quad on */ -var = NULL; -if (var_n_quad == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ } -if (var1){ -((void (*)(val*, val*))(var_n_quad->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_quad, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_cpar].val = var_n_cpar; /* _n_cpar on */ +var12 = NULL; +if (var_n_cpar == NULL) { +var13 = 0; /* is null */ } else { +var13 = 1; /* arg is null and recv is not */ } -var2 = ((val* (*)(val*))(var_n_path->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_path) /* iterator on */; -for(;;) { -var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on */; -if(!var3) break; -var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on */; -var_n = var4; -/* isa TId */ -cltype = type_parser_nodes__TId.color; -idtype = type_parser_nodes__TId.id; -if(cltype >= var_n->type->table_size) { -var5 = 0; -} else { -var5 = var_n->type->type_table[cltype] == idtype; +if (0) { +{ /* Inline kernel#Object#!= (var_n_cpar,var12) on */ +var_other = var12; +{ +var17 = ((short int (*)(val*, val*))(var_n_cpar->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_cpar, var_other) /* == on */; +var16 = var17; } -if (!var5) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 10737); -exit(1); +var18 = !var16; +var14 = var18; +goto RET_LABEL15; +RET_LABEL15:(void)0; } -var6 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on */ -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_path", "src/parser/parser_prod.nit", 10738); -exit(1); +var13 = var14; } -((void (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var6, var_n) /* add on */; -((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on */; +if (var13){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_cpar,self) on */ +var_n_cpar->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL19:(void)0; } -BREAK_label: (void)0; -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 10741); -exit(1); } -self->attrs[COLOR_parser_nodes__AModuleName___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 10742); -exit(1); } else { -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AModuleName#init_amodulename for (self: Object, nullable TQuad, Collection[Object], nullable TId) */ -void VIRTUAL_parser_prod__AModuleName__init_amodulename(val* self, val* p0, val* p1, val* p2) { -parser_prod__AModuleName__init_amodulename(self, p0, p1, p2); +/* method parser_prod#AAsNotnullExpr#init_aasnotnullexpr for (self: Object, nullable AExpr, nullable TKwas, nullable TOpar, nullable TKwnot, nullable TKwnull, nullable TCpar) */ +void VIRTUAL_parser_prod__AAsNotnullExpr__init_aasnotnullexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { +parser_prod__AAsNotnullExpr__init_aasnotnullexpr(self, p0, p1, p2, p3, p4, p5); /* Direct call parser_prod#AAsNotnullExpr#init_aasnotnullexpr on */ RET_LABEL:; }