X-Git-Url: http://nitlanguage.org diff --git a/c_src/parser_prod.sep.2.c b/c_src/parser_prod.sep.2.c index deefb54..d3b553e 100644 --- a/c_src/parser_prod.sep.2.c +++ b/c_src/parser_prod.sep.2.c @@ -1,9999 +1,9974 @@ #include "parser_prod.sep.0.h" -/* method parser_prod#AConcreteInitPropdef#replace_child for (self: AConcreteInitPropdef, ANode, nullable ANode) */ -void parser_prod__AConcreteInitPropdef__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 */; +/* method parser_prod#AMethPropdef#visit_all for (self: AMethPropdef, Visitor) */ +void parser_prod__AMethPropdef__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; val* var /* : nullable ADoc */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -int cltype; -int idtype; -val* var5 /* : null */; -val* var6 /* : nullable TKwredef */; -short int var7 /* : Bool */; -val* var8 /* : null */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; -val* var14 /* : nullable AVisibility */; -short int var15 /* : Bool */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : TKwinit */; -short int var22 /* : Bool */; -val* var23 /* : null */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : nullable AMethid */; -short int var29 /* : Bool */; -val* var30 /* : null */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : null */; -val* var36 /* : nullable ASignature */; -short int var37 /* : Bool */; -val* var38 /* : null */; -short int var39 /* : Bool */; -short int var40 /* : Bool */; -int cltype41; -int idtype42; -val* var43 /* : nullable AAnnotations */; -short int var44 /* : Bool */; -val* var45 /* : null */; -short int var46 /* : Bool */; -short int var47 /* : Bool */; -int cltype48; -int idtype49; -val* var50 /* : null */; -val* var51 /* : nullable AExpr */; -short int var52 /* : Bool */; -val* var53 /* : null */; -short int var54 /* : Bool */; -short int var55 /* : Bool */; -int cltype56; -int idtype57; -val* var58 /* : null */; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} 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 */ -} else { -var3 = 1; /* arg is null and recv is not */ +val* var1 /* : nullable TKwredef */; +val* var2 /* : nullable AVisibility */; +val* var3 /* : nullable TKwmeth */; +val* var4 /* : nullable TKwinit */; +val* var5 /* : nullable TKwnew */; +val* var6 /* : nullable AMethid */; +val* var7 /* : nullable ASignature */; +val* var8 /* : nullable AAnnotations */; +val* var9 /* : nullable AExternCalls */; +val* var10 /* : nullable AExternCodeBlock */; +val* var11 /* : nullable AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa ADoc */ -cltype = type_parser_nodes__ADoc.color; -idtype = type_parser_nodes__ADoc.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var1 = self->attrs[COLOR_parser_nodes__APropdef___n_kwredef].val; /* _n_kwredef on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2466); -show_backtrace(1); +var2 = self->attrs[COLOR_parser_nodes__APropdef___n_visibility].val; /* _n_visibility on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on */ +var3 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwmeth].val; /* _n_kwmeth on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } -goto RET_LABEL; -} else { +var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwinit].val; /* _n_kwinit on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var6 == NULL) { -var7 = 0; /* cannot be null */ -} else { -var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on */; +var5 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwnew].val; /* _n_kwnew on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 1; /* arg is null and recv is not */ +var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var6); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var9){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwredef */ -cltype11 = type_parser_nodes__TKwredef.color; -idtype12 = type_parser_nodes__TKwredef.id; -if(cltype11 >= var_new_child->type->table_size) { -var10 = 0; -} else { -var10 = var_new_child->type->type_table[cltype11] == idtype12; +var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var7); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (!var10) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2476); -show_backtrace(1); +var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var8); /* Direct call parser_nodes#Visitor#enter_visit on */ } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on */ -} else { -var13 = NULL; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on */ +var9 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_extern_calls].val; /* _n_extern_calls on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var9); /* Direct call parser_nodes#Visitor#enter_visit on */ } -goto RET_LABEL; -} else { +var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_extern_code_block].val; /* _n_extern_code_block on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var10); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on */ -if (var14 == NULL) { -var15 = 0; /* cannot be null */ -} else { -var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on */; +var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_block].val; /* _n_block on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var11); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var15){ -var16 = NULL; -if (var_new_child == NULL) { -var17 = 0; /* is null */ -} else { -var17 = 1; /* arg is null and recv is not */ +RET_LABEL:; } -if (var17){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AVisibility */ -cltype19 = type_parser_nodes__AVisibility.color; -idtype20 = type_parser_nodes__AVisibility.id; -if(cltype19 >= var_new_child->type->table_size) { -var18 = 0; -} else { -var18 = var_new_child->type->type_table[cltype19] == idtype20; +/* method parser_prod#AMethPropdef#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AMethPropdef__visit_all(val* self, val* p0) { +parser_prod__AMethPropdef__visit_all(self, p0); /* Direct call parser_prod#AMethPropdef#visit_all on */ +RET_LABEL:; } -if (!var18) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2486); +/* method parser_prod#AIdMethid#init_aidmethid for (self: AIdMethid, nullable TId) */ +void parser_prod__AIdMethid__init_aidmethid(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", 1295); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on */ +self->attrs[COLOR_parser_nodes__AIdMethid___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", 1296); +show_backtrace(1); } else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2489); +{ /* 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); } -goto RET_LABEL; -} else { +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -var21 = self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val; /* _n_kwinit on */ -if (var21 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwinit"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2493); -show_backtrace(1); } -var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on */; -if (var22){ -var23 = NULL; -if (var_new_child == NULL) { -var24 = 0; /* is null */ -} else { -var24 = 1; /* arg is null and recv is not */ +RET_LABEL:; } -if (var24){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwinit */ -cltype26 = type_parser_nodes__TKwinit.color; -idtype27 = type_parser_nodes__TKwinit.id; -if(cltype26 >= var_new_child->type->table_size) { -var25 = 0; -} else { -var25 = var_new_child->type->type_table[cltype26] == idtype27; +/* method parser_prod#AIdMethid#init_aidmethid for (self: Object, nullable TId) */ +void VIRTUAL_parser_prod__AIdMethid__init_aidmethid(val* self, val* p0) { +parser_prod__AIdMethid__init_aidmethid(self, p0); /* Direct call parser_prod#AIdMethid#init_aidmethid on */ +RET_LABEL:; } -if (!var25) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2496); +/* method parser_prod#AIdMethid#replace_child for (self: AIdMethid, ANode, nullable ANode) */ +void parser_prod__AIdMethid__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 */; +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__AIdMethid___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", 1301); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val = var_new_child; /* _n_kwinit on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2499); -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; } -goto RET_LABEL; -} else { } -var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ -if (var28 == NULL) { -var29 = 0; /* cannot be null */ -} else { -var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on */; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -if (var29){ -var30 = NULL; -if (var_new_child == NULL) { -var31 = 0; /* is null */ -} else { -var31 = 1; /* arg is null and recv is not */ +var1 = var2; } -if (var31){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AMethid */ -cltype33 = type_parser_nodes__AMethid.color; -idtype34 = type_parser_nodes__AMethid.id; -if(cltype33 >= var_new_child->type->table_size) { -var32 = 0; +if (var1){ +/* isa TId */ +cltype = type_parser_nodes__TId.color; +idtype = type_parser_nodes__TId.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var32 = var_new_child->type->type_table[cltype33] == idtype34; -} -if (!var32) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2506); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var35 = NULL; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var35; /* _n_methid on */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -goto RET_LABEL; -} else { } -var36 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -if (var36 == NULL) { -var37 = 0; /* cannot be null */ -} else { -var37 = ((short int (*)(val*, val*))(var36->class->vft[COLOR_kernel__Object___61d_61d]))(var36, var_old_child) /* == 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`", "TId", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1302); +show_backtrace(1); } -if (var37){ -var38 = NULL; -if (var_new_child == NULL) { -var39 = 0; /* is null */ -} else { -var39 = 1; /* arg is null and recv is not */ +{ +parser_prod__AIdMethid__n_id_61d(self, var_new_child); /* Direct call parser_prod#AIdMethid#n_id= on */ } -if (var39){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa ASignature */ -cltype41 = type_parser_nodes__ASignature.color; -idtype42 = type_parser_nodes__ASignature.id; -if(cltype41 >= var_new_child->type->table_size) { -var40 = 0; +goto RET_LABEL; } else { -var40 = var_new_child->type->type_table[cltype41] == idtype42; } -if (!var40) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2516); -show_backtrace(1); +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2519); -show_backtrace(1); +/* method parser_prod#AIdMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AIdMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__AIdMethid__replace_child(self, p0, p1); /* Direct call parser_prod#AIdMethid#replace_child on */ +RET_LABEL:; } -goto RET_LABEL; -} else { +/* method parser_prod#AIdMethid#n_id= for (self: AIdMethid, TId) */ +void parser_prod__AIdMethid__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TId */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AIdMethid___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; } -var43 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var43 == NULL) { -var44 = 0; /* cannot be null */ -} else { -var44 = ((short int (*)(val*, val*))(var43->class->vft[COLOR_kernel__Object___61d_61d]))(var43, var_old_child) /* == on */; } -if (var44){ -var45 = NULL; -if (var_new_child == NULL) { -var46 = 0; /* is null */ -} else { -var46 = 1; /* arg is null and recv is not */ +RET_LABEL:; } -if (var46){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype48 = type_parser_nodes__AAnnotations.color; -idtype49 = type_parser_nodes__AAnnotations.id; -if(cltype48 >= var_new_child->type->table_size) { -var47 = 0; -} else { -var47 = var_new_child->type->type_table[cltype48] == idtype49; +/* method parser_prod#AIdMethid#n_id= for (self: Object, TId) */ +void VIRTUAL_parser_prod__AIdMethid__n_id_61d(val* self, val* p0) { +parser_prod__AIdMethid__n_id_61d(self, p0); /* Direct call parser_prod#AIdMethid#n_id= on */ +RET_LABEL:; } -if (!var47) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2526); +/* method parser_prod#AIdMethid#visit_all for (self: AIdMethid, Visitor) */ +void parser_prod__AIdMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TId */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AIdMethid___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", 1316); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ -} else { -var50 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var50; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -goto RET_LABEL; -} else { +RET_LABEL:; } -var51 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on */ -if (var51 == NULL) { -var52 = 0; /* cannot be null */ -} else { -var52 = ((short int (*)(val*, val*))(var51->class->vft[COLOR_kernel__Object___61d_61d]))(var51, var_old_child) /* == on */; +/* method parser_prod#AIdMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AIdMethid__visit_all(val* self, val* p0) { +parser_prod__AIdMethid__visit_all(self, p0); /* Direct call parser_prod#AIdMethid#visit_all on */ +RET_LABEL:; } -if (var52){ -var53 = NULL; -if (var_new_child == NULL) { -var54 = 0; /* is null */ -} else { -var54 = 1; /* arg is null and recv is not */ +/* method parser_prod#APlusMethid#init_aplusmethid for (self: APlusMethid, nullable TPlus) */ +void parser_prod__APlusMethid__init_aplusmethid(val* self, val* p0) { +val* var_n_plus /* var n_plus: nullable TPlus */; +var_n_plus = p0; +if (unlikely(var_n_plus == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1324); +show_backtrace(1); } -if (var54){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype56 = type_parser_nodes__AExpr.color; -idtype57 = type_parser_nodes__AExpr.id; -if(cltype56 >= var_new_child->type->table_size) { -var55 = 0; +self->attrs[COLOR_parser_nodes__APlusMethid___n_plus].val = var_n_plus; /* _n_plus on */ +if (var_n_plus == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1325); +show_backtrace(1); } else { -var55 = var_new_child->type->type_table[cltype56] == idtype57; -} -if (!var55) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2536); +{ /* Inline parser_nodes#ANode#parent= (var_n_plus,self) on */ +if (unlikely(var_n_plus == 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__AConcreteMethPropdef___n_block].val = var_new_child; /* _n_block on */ -} else { -var58 = NULL; -self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var58; /* _n_block on */ +var_n_plus->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -goto RET_LABEL; -} else { } RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AConcreteInitPropdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__AConcreteInitPropdef__replace_child(self, p0, p1); +/* method parser_prod#APlusMethid#init_aplusmethid for (self: Object, nullable TPlus) */ +void VIRTUAL_parser_prod__APlusMethid__init_aplusmethid(val* self, val* p0) { +parser_prod__APlusMethid__init_aplusmethid(self, p0); /* Direct call parser_prod#APlusMethid#init_aplusmethid on */ RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#n_doc= for (self: AConcreteInitPropdef, nullable ADoc) */ -void parser_prod__AConcreteInitPropdef__n_doc_61d(val* self, val* p0) { -val* var_node /* var node: nullable ADoc */; -val* var /* : null */; +/* method parser_prod#APlusMethid#replace_child for (self: APlusMethid, ANode, nullable ANode) */ +void parser_prod__APlusMethid__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 /* : TPlus */; short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +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__APlusMethid___n_plus].val; /* _n_plus on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_plus"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1330); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} 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; } -RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#n_doc= for (self: Object, nullable ADoc) */ -void VIRTUAL_parser_prod__AConcreteInitPropdef__n_doc_61d(val* self, val* p0) { -parser_prod__AConcreteInitPropdef__n_doc_61d(self, p0); -RET_LABEL:; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#AConcreteInitPropdef#n_kwredef= for (self: AConcreteInitPropdef, nullable TKwredef) */ -void parser_prod__AConcreteInitPropdef__n_kwredef_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwredef */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +var1 = var2; } if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +/* isa TPlus */ +cltype = type_parser_nodes__TPlus.color; +idtype = type_parser_nodes__TPlus.id; +if(var_new_child == NULL) { +var7 = 0; } else { +if(cltype >= var_new_child->type->table_size) { +var7 = 0; +} else { +var7 = var_new_child->type->type_table[cltype] == idtype; } -RET_LABEL:; -} -/* method parser_prod#AConcreteInitPropdef#n_kwredef= for (self: Object, nullable TKwredef) */ -void VIRTUAL_parser_prod__AConcreteInitPropdef__n_kwredef_61d(val* self, val* p0) { -parser_prod__AConcreteInitPropdef__n_kwredef_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#n_visibility= for (self: AConcreteInitPropdef, nullable AVisibility) */ -void parser_prod__AConcreteInitPropdef__n_visibility_61d(val* self, val* p0) { -val* var_node /* var node: nullable AVisibility */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on */ -if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2562); +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`", "TPlus", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1331); show_backtrace(1); +} +{ +parser_prod__APlusMethid__n_plus_61d(self, var_new_child); /* Direct call parser_prod#APlusMethid#n_plus= on */ +} +goto RET_LABEL; } else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#n_visibility= for (self: Object, nullable AVisibility) */ -void VIRTUAL_parser_prod__AConcreteInitPropdef__n_visibility_61d(val* self, val* p0) { -parser_prod__AConcreteInitPropdef__n_visibility_61d(self, p0); +/* method parser_prod#APlusMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__APlusMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__APlusMethid__replace_child(self, p0, p1); /* Direct call parser_prod#APlusMethid#replace_child on */ RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#n_kwinit= for (self: AConcreteInitPropdef, TKwinit) */ -void parser_prod__AConcreteInitPropdef__n_kwinit_61d(val* self, val* p0) { -val* var_node /* var node: TKwinit */; +/* method parser_prod#APlusMethid#n_plus= for (self: APlusMethid, TPlus) */ +void parser_prod__APlusMethid__n_plus_61d(val* self, val* p0) { +val* var_node /* var node: TPlus */; var_node = p0; -self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val = var_node; /* _n_kwinit on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__APlusMethid___n_plus].val = var_node; /* _n_plus 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#AConcreteInitPropdef#n_kwinit= for (self: Object, TKwinit) */ -void VIRTUAL_parser_prod__AConcreteInitPropdef__n_kwinit_61d(val* self, val* p0) { -parser_prod__AConcreteInitPropdef__n_kwinit_61d(self, p0); +/* method parser_prod#APlusMethid#n_plus= for (self: Object, TPlus) */ +void VIRTUAL_parser_prod__APlusMethid__n_plus_61d(val* self, val* p0) { +parser_prod__APlusMethid__n_plus_61d(self, p0); /* Direct call parser_prod#APlusMethid#n_plus= on */ RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#n_methid= for (self: AConcreteInitPropdef, nullable AMethid) */ -void parser_prod__AConcreteInitPropdef__n_methid_61d(val* self, val* p0) { -val* var_node /* var node: nullable AMethid */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#APlusMethid#visit_all for (self: APlusMethid, Visitor) */ +void parser_prod__APlusMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TPlus */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__APlusMethid___n_plus].val; /* _n_plus on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_plus"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1345); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#n_methid= for (self: Object, nullable AMethid) */ -void VIRTUAL_parser_prod__AConcreteInitPropdef__n_methid_61d(val* self, val* p0) { -parser_prod__AConcreteInitPropdef__n_methid_61d(self, p0); +/* method parser_prod#APlusMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__APlusMethid__visit_all(val* self, val* p0) { +parser_prod__APlusMethid__visit_all(self, p0); /* Direct call parser_prod#APlusMethid#visit_all on */ RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#n_signature= for (self: AConcreteInitPropdef, nullable ASignature) */ -void parser_prod__AConcreteInitPropdef__n_signature_61d(val* self, val* p0) { -val* var_node /* var node: nullable ASignature */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on */ -if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2579); +/* method parser_prod#AMinusMethid#init_aminusmethid for (self: AMinusMethid, nullable TMinus) */ +void parser_prod__AMinusMethid__init_aminusmethid(val* self, val* p0) { +val* var_n_minus /* var n_minus: nullable TMinus */; +var_n_minus = p0; +if (unlikely(var_n_minus == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1353); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AMinusMethid___n_minus].val = var_n_minus; /* _n_minus on */ +if (var_n_minus == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1354); show_backtrace(1); } else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_minus,self) on */ +if (unlikely(var_n_minus == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_minus->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#n_signature= for (self: Object, nullable ASignature) */ -void VIRTUAL_parser_prod__AConcreteInitPropdef__n_signature_61d(val* self, val* p0) { -parser_prod__AConcreteInitPropdef__n_signature_61d(self, p0); +/* method parser_prod#AMinusMethid#init_aminusmethid for (self: Object, nullable TMinus) */ +void VIRTUAL_parser_prod__AMinusMethid__init_aminusmethid(val* self, val* p0) { +parser_prod__AMinusMethid__init_aminusmethid(self, p0); /* Direct call parser_prod#AMinusMethid#init_aminusmethid on */ RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#n_annotations= for (self: AConcreteInitPropdef, nullable AAnnotations) */ -void parser_prod__AConcreteInitPropdef__n_annotations_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAnnotations */; -val* var /* : null */; +/* method parser_prod#AMinusMethid#replace_child for (self: AMinusMethid, ANode, nullable ANode) */ +void parser_prod__AMinusMethid__replace_child(val* self, val* p0, val* p1) { +val* var_old_child /* var old_child: ANode */; +val* var_new_child /* var new_child: nullable ANode */; +val* var /* : TMinus */; short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +short int 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__AMinusMethid___n_minus].val; /* _n_minus on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_minus"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1359); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} 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; } -RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AConcreteInitPropdef__n_annotations_61d(val* self, val* p0) { -parser_prod__AConcreteInitPropdef__n_annotations_61d(self, p0); -RET_LABEL:; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#AConcreteInitPropdef#n_block= for (self: AConcreteInitPropdef, nullable AExpr) */ -void parser_prod__AConcreteInitPropdef__n_block_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_node; /* _n_block on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +var1 = var2; } if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +/* isa TMinus */ +cltype = type_parser_nodes__TMinus.color; +idtype = type_parser_nodes__TMinus.id; +if(var_new_child == NULL) { +var7 = 0; } else { -} -RET_LABEL:; -} -/* method parser_prod#AConcreteInitPropdef#n_block= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AConcreteInitPropdef__n_block_61d(val* self, val* p0) { -parser_prod__AConcreteInitPropdef__n_block_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AConcreteInitPropdef#visit_all for (self: AConcreteInitPropdef, Visitor) */ -void parser_prod__AConcreteInitPropdef__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : nullable ADoc */; -val* var1 /* : null */; -short int var2 /* : Bool */; -val* var3 /* : nullable ADoc */; -val* var4 /* : nullable TKwredef */; -val* var5 /* : null */; -short int var6 /* : Bool */; -val* var7 /* : nullable TKwredef */; -val* var8 /* : nullable AVisibility */; -val* var9 /* : TKwinit */; -val* var10 /* : nullable AMethid */; -val* var11 /* : null */; -short int var12 /* : Bool */; -val* var13 /* : nullable AMethid */; -val* var14 /* : nullable ASignature */; -val* var15 /* : nullable AAnnotations */; -val* var16 /* : null */; -short int var17 /* : Bool */; -val* var18 /* : nullable AAnnotations */; -val* var19 /* : nullable AExpr */; -val* var20 /* : null */; -short int var21 /* : Bool */; -val* var22 /* : nullable AExpr */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ -var1 = NULL; -if (var == NULL) { -var2 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var2 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2600); +} +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TMinus", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1360); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -} else { +{ +parser_prod__AMinusMethid__n_minus_61d(self, var_new_child); /* Direct call parser_prod#AMinusMethid#n_minus= on */ } -var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -var5 = NULL; -if (var4 == NULL) { -var6 = 0; /* is null */ +goto RET_LABEL; } else { -var6 = 1; /* arg is null and recv is not */ } -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2603); -show_backtrace(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; -} else { +RET_LABEL:; } -var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on */ -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on */; -var9 = self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val; /* _n_kwinit on */ -if (var9 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwinit"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2606); -show_backtrace(1); +/* method parser_prod#AMinusMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AMinusMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__AMinusMethid__replace_child(self, p0, p1); /* Direct call parser_prod#AMinusMethid#replace_child on */ +RET_LABEL:; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on */; -var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ -var11 = NULL; -if (var10 == NULL) { -var12 = 0; /* is null */ -} else { -var12 = 1; /* arg is null and recv is not */ +/* method parser_prod#AMinusMethid#n_minus= for (self: AMinusMethid, TMinus) */ +void parser_prod__AMinusMethid__n_minus_61d(val* self, val* p0) { +val* var_node /* var node: TMinus */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AMinusMethid___n_minus].val = var_node; /* _n_minus on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (var12){ -var13 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ -if (var13 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2608); -show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var13) /* enter_visit on */; -} else { +RET_LABEL:; } -var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var14) /* enter_visit on */; -var15 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var16 = NULL; -if (var15 == NULL) { -var17 = 0; /* is null */ -} else { -var17 = 1; /* arg is null and recv is not */ +/* method parser_prod#AMinusMethid#n_minus= for (self: Object, TMinus) */ +void VIRTUAL_parser_prod__AMinusMethid__n_minus_61d(val* self, val* p0) { +parser_prod__AMinusMethid__n_minus_61d(self, p0); /* Direct call parser_prod#AMinusMethid#n_minus= on */ +RET_LABEL:; } -if (var17){ -var18 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var18 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2612); +/* method parser_prod#AMinusMethid#visit_all for (self: AMinusMethid, Visitor) */ +void parser_prod__AMinusMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TMinus */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AMinusMethid___n_minus].val; /* _n_minus on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_minus"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1374); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var18) /* enter_visit on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var19 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on */ -var20 = NULL; -if (var19 == NULL) { -var21 = 0; /* is null */ -} else { -var21 = 1; /* arg is null and recv is not */ +RET_LABEL:; +} +/* method parser_prod#AMinusMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AMinusMethid__visit_all(val* self, val* p0) { +parser_prod__AMinusMethid__visit_all(self, p0); /* Direct call parser_prod#AMinusMethid#visit_all on */ +RET_LABEL:; } -if (var21){ -var22 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on */ -if (var22 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2615); +/* method parser_prod#AStarMethid#init_astarmethid for (self: AStarMethid, nullable TStar) */ +void parser_prod__AStarMethid__init_astarmethid(val* self, val* p0) { +val* var_n_star /* var n_star: nullable TStar */; +var_n_star = p0; +if (unlikely(var_n_star == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1382); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var22) /* enter_visit on */; +self->attrs[COLOR_parser_nodes__AStarMethid___n_star].val = var_n_star; /* _n_star on */ +if (var_n_star == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1383); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_star,self) on */ +if (unlikely(var_n_star == 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_star->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -/* method parser_prod#AConcreteInitPropdef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AConcreteInitPropdef__visit_all(val* self, val* p0) { -parser_prod__AConcreteInitPropdef__visit_all(self, p0); -RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#empty_init for (self: AExternInitPropdef) */ -void parser_prod__AExternInitPropdef__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AExternInitPropdef__empty_init(val* self) { -parser_prod__AExternInitPropdef__empty_init(self); +/* method parser_prod#AStarMethid#init_astarmethid for (self: Object, nullable TStar) */ +void VIRTUAL_parser_prod__AStarMethid__init_astarmethid(val* self, val* p0) { +parser_prod__AStarMethid__init_astarmethid(self, p0); /* Direct call parser_prod#AStarMethid#init_astarmethid on */ RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#init_aexterninitpropdef for (self: AExternInitPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwnew, nullable AMethid, nullable ASignature, nullable TString, nullable AExternCalls, nullable AExternCodeBlock) */ -void parser_prod__AExternInitPropdef__init_aexterninitpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8) { -val* var_n_doc /* var n_doc: nullable ADoc */; -val* var_n_kwredef /* var n_kwredef: nullable TKwredef */; -val* var_n_visibility /* var n_visibility: nullable AVisibility */; -val* var_n_kwnew /* var n_kwnew: nullable TKwnew */; -val* var_n_methid /* var n_methid: nullable AMethid */; -val* var_n_signature /* var n_signature: nullable ASignature */; -val* var_n_extern /* var n_extern: nullable TString */; -val* var_n_extern_calls /* var n_extern_calls: nullable AExternCalls */; -val* var_n_extern_code_block /* var n_extern_code_block: nullable AExternCodeBlock */; -val* var /* : null */; +/* method parser_prod#AStarMethid#replace_child for (self: AStarMethid, ANode, nullable ANode) */ +void parser_prod__AStarMethid__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 /* : TStar */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : null */; -short int var5 /* : Bool */; -val* var6 /* : null */; +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 /* : null */; -short int var9 /* : Bool */; -val* var10 /* : null */; -short int var11 /* : Bool */; -var_n_doc = p0; -var_n_kwredef = p1; -var_n_visibility = p2; -var_n_kwnew = p3; -var_n_methid = p4; -var_n_signature = p5; -var_n_extern = p6; -var_n_extern_calls = p7; -var_n_extern_code_block = p8; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternInitPropdef__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on */ -var = NULL; -if (var_n_doc == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +int cltype; +int idtype; +const char* var_class_name; +var_old_child = p0; +var_new_child = p1; +var = self->attrs[COLOR_parser_nodes__AStarMethid___n_star].val; /* _n_star on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_star"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1388); +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){ -((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on */; +/* isa TStar */ +cltype = type_parser_nodes__TStar.color; +idtype = type_parser_nodes__TStar.id; +if(var_new_child == NULL) { +var7 = 0; } else { -} -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ -var2 = NULL; -if (var_n_kwredef == NULL) { -var3 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var3){ -((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on */; -} else { } -if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2643); +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`", "TStar", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1389); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on */ -if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2644); -show_backtrace(1); +{ +parser_prod__AStarMethid__n_star_61d(self, var_new_child); /* Direct call parser_prod#AStarMethid#n_star= on */ +} +goto RET_LABEL; } else { -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; } -if (var_n_kwnew == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2645); -show_backtrace(1); +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__AExternInitPropdef___n_kwnew].val = var_n_kwnew; /* _n_kwnew on */ -if (var_n_kwnew == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2646); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_kwnew->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwnew, self) /* parent= on */; +/* method parser_prod#AStarMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AStarMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__AStarMethid__replace_child(self, p0, p1); /* Direct call parser_prod#AStarMethid#replace_child on */ +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on */ -var4 = NULL; -if (var_n_methid == NULL) { -var5 = 0; /* is null */ -} else { -var5 = 1; /* arg is null and recv is not */ +/* method parser_prod#AStarMethid#n_star= for (self: AStarMethid, TStar) */ +void parser_prod__AStarMethid__n_star_61d(val* self, val* p0) { +val* var_node /* var node: TStar */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AStarMethid___n_star].val = var_node; /* _n_star 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 (var5){ -((void (*)(val*, val*))(var_n_methid->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_methid, self) /* parent= on */; -} else { } -if (var_n_signature == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2651); -show_backtrace(1); +RET_LABEL:; +} +/* method parser_prod#AStarMethid#n_star= for (self: Object, TStar) */ +void VIRTUAL_parser_prod__AStarMethid__n_star_61d(val* self, val* p0) { +parser_prod__AStarMethid__n_star_61d(self, p0); /* Direct call parser_prod#AStarMethid#n_star= on */ +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on */ -if (var_n_signature == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2652); +/* method parser_prod#AStarMethid#visit_all for (self: AStarMethid, Visitor) */ +void parser_prod__AStarMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TStar */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AStarMethid___n_star].val; /* _n_star on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_star"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1403); show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_signature->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_signature, self) /* parent= on */; } -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_n_extern; /* _n_extern on */ -var6 = NULL; -if (var_n_extern == NULL) { -var7 = 0; /* is null */ -} else { -var7 = 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 (var7){ -((void (*)(val*, val*))(var_n_extern->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_extern, self) /* parent= on */; -} else { +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_n_extern_calls; /* _n_extern_calls on */ -var8 = NULL; -if (var_n_extern_calls == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 1; /* arg is null and recv is not */ +/* method parser_prod#AStarMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AStarMethid__visit_all(val* self, val* p0) { +parser_prod__AStarMethid__visit_all(self, p0); /* Direct call parser_prod#AStarMethid#visit_all on */ +RET_LABEL:; } -if (var9){ -((void (*)(val*, val*))(var_n_extern_calls->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_extern_calls, self) /* parent= on */; -} else { +/* method parser_prod#AStarstarMethid#init_astarstarmethid for (self: AStarstarMethid, nullable TStarstar) */ +void parser_prod__AStarstarMethid__init_astarstarmethid(val* self, val* p0) { +val* var_n_starstar /* var n_starstar: nullable TStarstar */; +var_n_starstar = p0; +if (unlikely(var_n_starstar == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1411); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_n_extern_code_block; /* _n_extern_code_block on */ -var10 = NULL; -if (var_n_extern_code_block == NULL) { -var11 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__AStarstarMethid___n_starstar].val = var_n_starstar; /* _n_starstar on */ +if (var_n_starstar == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1412); +show_backtrace(1); } else { -var11 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_starstar,self) on */ +if (unlikely(var_n_starstar == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_starstar->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (var11){ -((void (*)(val*, val*))(var_n_extern_code_block->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_extern_code_block, self) /* parent= on */; -} else { } RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#init_aexterninitpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwnew, nullable AMethid, nullable ASignature, nullable TString, nullable AExternCalls, nullable AExternCodeBlock) */ -void VIRTUAL_parser_prod__AExternInitPropdef__init_aexterninitpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8) { -parser_prod__AExternInitPropdef__init_aexterninitpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8); +/* method parser_prod#AStarstarMethid#init_astarstarmethid for (self: Object, nullable TStarstar) */ +void VIRTUAL_parser_prod__AStarstarMethid__init_astarstarmethid(val* self, val* p0) { +parser_prod__AStarstarMethid__init_astarstarmethid(self, p0); /* Direct call parser_prod#AStarstarMethid#init_astarstarmethid on */ RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#replace_child for (self: AExternInitPropdef, ANode, nullable ANode) */ -void parser_prod__AExternInitPropdef__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AStarstarMethid#replace_child for (self: AStarstarMethid, ANode, nullable ANode) */ +void parser_prod__AStarstarMethid__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 ADoc */; +val* var /* : TStarstar */; 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 /* : null */; -val* var6 /* : nullable TKwredef */; -short int var7 /* : Bool */; -val* var8 /* : null */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; -val* var14 /* : nullable AVisibility */; -short int var15 /* : Bool */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : TKwnew */; -short int var22 /* : Bool */; -val* var23 /* : null */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : nullable AMethid */; -short int var29 /* : Bool */; -val* var30 /* : null */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : null */; -val* var36 /* : nullable ASignature */; -short int var37 /* : Bool */; -val* var38 /* : null */; -short int var39 /* : Bool */; -short int var40 /* : Bool */; -int cltype41; -int idtype42; -val* var43 /* : nullable TString */; -short int var44 /* : Bool */; -val* var45 /* : null */; -short int var46 /* : Bool */; -short int var47 /* : Bool */; -int cltype48; -int idtype49; -val* var50 /* : null */; -val* var51 /* : nullable AExternCalls */; -short int var52 /* : Bool */; -val* var53 /* : null */; -short int var54 /* : Bool */; -short int var55 /* : Bool */; -int cltype56; -int idtype57; -val* var58 /* : null */; -val* var59 /* : nullable AExternCodeBlock */; -short int var60 /* : Bool */; -val* var61 /* : null */; -short int var62 /* : Bool */; -short int var63 /* : Bool */; -int cltype64; -int idtype65; -val* var66 /* : null */; +const char* var_class_name; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} else { -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; +var = self->attrs[COLOR_parser_nodes__AStarstarMethid___n_starstar].val; /* _n_starstar on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_starstar"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1417); +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){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TStarstar */ +cltype = type_parser_nodes__TStarstar.color; +idtype = type_parser_nodes__TStarstar.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 ADoc */ -cltype = type_parser_nodes__ADoc.color; -idtype = type_parser_nodes__ADoc.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2672); +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`", "TStarstar", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1418); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on */ +{ +parser_prod__AStarstarMethid__n_starstar_61d(self, var_new_child); /* Direct call parser_prod#AStarstarMethid#n_starstar= on */ } goto RET_LABEL; } else { } -var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var6 == NULL) { -var7 = 0; /* cannot be null */ -} else { -var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on */; +RET_LABEL:; } -if (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 1; /* arg is null and recv is not */ +/* method parser_prod#AStarstarMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AStarstarMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__AStarstarMethid__replace_child(self, p0, p1); /* Direct call parser_prod#AStarstarMethid#replace_child on */ +RET_LABEL:; } -if (var9){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwredef */ -cltype11 = type_parser_nodes__TKwredef.color; -idtype12 = type_parser_nodes__TKwredef.id; -if(cltype11 >= var_new_child->type->table_size) { -var10 = 0; -} else { -var10 = var_new_child->type->type_table[cltype11] == idtype12; +/* method parser_prod#AStarstarMethid#n_starstar= for (self: AStarstarMethid, TStarstar) */ +void parser_prod__AStarstarMethid__n_starstar_61d(val* self, val* p0) { +val* var_node /* var node: TStarstar */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AStarstarMethid___n_starstar].val = var_node; /* _n_starstar 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 (!var10) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2682); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on */ -} else { -var13 = NULL; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on */ +RET_LABEL:; } -goto RET_LABEL; -} else { +/* method parser_prod#AStarstarMethid#n_starstar= for (self: Object, TStarstar) */ +void VIRTUAL_parser_prod__AStarstarMethid__n_starstar_61d(val* self, val* p0) { +parser_prod__AStarstarMethid__n_starstar_61d(self, p0); /* Direct call parser_prod#AStarstarMethid#n_starstar= on */ +RET_LABEL:; } -var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on */ -if (var14 == NULL) { -var15 = 0; /* cannot be null */ -} else { -var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on */; +/* method parser_prod#AStarstarMethid#visit_all for (self: AStarstarMethid, Visitor) */ +void parser_prod__AStarstarMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TStarstar */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AStarstarMethid___n_starstar].val; /* _n_starstar on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_starstar"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1432); +show_backtrace(1); } -if (var15){ -var16 = NULL; -if (var_new_child == NULL) { -var17 = 0; /* is null */ -} else { -var17 = 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 (var17){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AVisibility */ -cltype19 = type_parser_nodes__AVisibility.color; -idtype20 = type_parser_nodes__AVisibility.id; -if(cltype19 >= var_new_child->type->table_size) { -var18 = 0; -} else { -var18 = var_new_child->type->type_table[cltype19] == idtype20; +RET_LABEL:; +} +/* method parser_prod#AStarstarMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AStarstarMethid__visit_all(val* self, val* p0) { +parser_prod__AStarstarMethid__visit_all(self, p0); /* Direct call parser_prod#AStarstarMethid#visit_all on */ +RET_LABEL:; } -if (!var18) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2692); +/* method parser_prod#ASlashMethid#init_aslashmethid for (self: ASlashMethid, nullable TSlash) */ +void parser_prod__ASlashMethid__init_aslashmethid(val* self, val* p0) { +val* var_n_slash /* var n_slash: nullable TSlash */; +var_n_slash = p0; +if (unlikely(var_n_slash == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1440); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on */ +self->attrs[COLOR_parser_nodes__ASlashMethid___n_slash].val = var_n_slash; /* _n_slash on */ +if (var_n_slash == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1441); +show_backtrace(1); } else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2695); +{ /* Inline parser_nodes#ANode#parent= (var_n_slash,self) on */ +if (unlikely(var_n_slash == 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_slash->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -var21 = self->attrs[COLOR_parser_nodes__AExternInitPropdef___n_kwnew].val; /* _n_kwnew on */ -if (var21 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnew"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2699); -show_backtrace(1); } -var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on */; -if (var22){ -var23 = NULL; -if (var_new_child == NULL) { -var24 = 0; /* is null */ -} else { -var24 = 1; /* arg is null and recv is not */ +RET_LABEL:; } -if (var24){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwnew */ -cltype26 = type_parser_nodes__TKwnew.color; -idtype27 = type_parser_nodes__TKwnew.id; -if(cltype26 >= var_new_child->type->table_size) { -var25 = 0; -} else { -var25 = var_new_child->type->type_table[cltype26] == idtype27; +/* method parser_prod#ASlashMethid#init_aslashmethid for (self: Object, nullable TSlash) */ +void VIRTUAL_parser_prod__ASlashMethid__init_aslashmethid(val* self, val* p0) { +parser_prod__ASlashMethid__init_aslashmethid(self, p0); /* Direct call parser_prod#ASlashMethid#init_aslashmethid on */ +RET_LABEL:; } -if (!var25) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2702); +/* method parser_prod#ASlashMethid#replace_child for (self: ASlashMethid, ANode, nullable ANode) */ +void parser_prod__ASlashMethid__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 /* : TSlash */; +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__ASlashMethid___n_slash].val; /* _n_slash on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_slash"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1446); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AExternInitPropdef___n_kwnew].val = var_new_child; /* _n_kwnew on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2705); -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; } -goto RET_LABEL; -} else { } -var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ -if (var28 == NULL) { -var29 = 0; /* cannot be null */ -} else { -var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on */; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -if (var29){ -var30 = NULL; -if (var_new_child == NULL) { -var31 = 0; /* is null */ -} else { -var31 = 1; /* arg is null and recv is not */ +var1 = var2; } -if (var31){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AMethid */ -cltype33 = type_parser_nodes__AMethid.color; -idtype34 = type_parser_nodes__AMethid.id; -if(cltype33 >= var_new_child->type->table_size) { -var32 = 0; +if (var1){ +/* isa TSlash */ +cltype = type_parser_nodes__TSlash.color; +idtype = type_parser_nodes__TSlash.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var32 = var_new_child->type->type_table[cltype33] == idtype34; +if(cltype >= var_new_child->type->table_size) { +var7 = 0; +} else { +var7 = var_new_child->type->type_table[cltype] == idtype; +} } -if (!var32) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2712); +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`", "TSlash", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1447); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on */ -} else { -var35 = NULL; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var35; /* _n_methid on */ +{ +parser_prod__ASlashMethid__n_slash_61d(self, var_new_child); /* Direct call parser_prod#ASlashMethid#n_slash= on */ } goto RET_LABEL; } else { } -var36 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -if (var36 == NULL) { -var37 = 0; /* cannot be null */ -} else { -var37 = ((short int (*)(val*, val*))(var36->class->vft[COLOR_kernel__Object___61d_61d]))(var36, var_old_child) /* == on */; +RET_LABEL:; } -if (var37){ -var38 = NULL; -if (var_new_child == NULL) { -var39 = 0; /* is null */ -} else { -var39 = 1; /* arg is null and recv is not */ +/* method parser_prod#ASlashMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ASlashMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__ASlashMethid__replace_child(self, p0, p1); /* Direct call parser_prod#ASlashMethid#replace_child on */ +RET_LABEL:; } -if (var39){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa ASignature */ -cltype41 = type_parser_nodes__ASignature.color; -idtype42 = type_parser_nodes__ASignature.id; -if(cltype41 >= var_new_child->type->table_size) { -var40 = 0; -} else { -var40 = var_new_child->type->type_table[cltype41] == idtype42; +/* method parser_prod#ASlashMethid#n_slash= for (self: ASlashMethid, TSlash) */ +void parser_prod__ASlashMethid__n_slash_61d(val* self, val* p0) { +val* var_node /* var node: TSlash */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ASlashMethid___n_slash].val = var_node; /* _n_slash 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 (!var40) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2722); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2725); -show_backtrace(1); +RET_LABEL:; } -goto RET_LABEL; -} else { +/* method parser_prod#ASlashMethid#n_slash= for (self: Object, TSlash) */ +void VIRTUAL_parser_prod__ASlashMethid__n_slash_61d(val* self, val* p0) { +parser_prod__ASlashMethid__n_slash_61d(self, p0); /* Direct call parser_prod#ASlashMethid#n_slash= on */ +RET_LABEL:; } -var43 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on */ -if (var43 == NULL) { -var44 = 0; /* cannot be null */ -} else { -var44 = ((short int (*)(val*, val*))(var43->class->vft[COLOR_kernel__Object___61d_61d]))(var43, var_old_child) /* == on */; +/* method parser_prod#ASlashMethid#visit_all for (self: ASlashMethid, Visitor) */ +void parser_prod__ASlashMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TSlash */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ASlashMethid___n_slash].val; /* _n_slash on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_slash"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1461); +show_backtrace(1); } -if (var44){ -var45 = NULL; -if (var_new_child == NULL) { -var46 = 0; /* is null */ -} else { -var46 = 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 (var46){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TString */ -cltype48 = type_parser_nodes__TString.color; -idtype49 = type_parser_nodes__TString.id; -if(cltype48 >= var_new_child->type->table_size) { -var47 = 0; -} else { -var47 = var_new_child->type->type_table[cltype48] == idtype49; +RET_LABEL:; +} +/* method parser_prod#ASlashMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ASlashMethid__visit_all(val* self, val* p0) { +parser_prod__ASlashMethid__visit_all(self, p0); /* Direct call parser_prod#ASlashMethid#visit_all on */ +RET_LABEL:; } -if (!var47) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2732); +/* method parser_prod#APercentMethid#init_apercentmethid for (self: APercentMethid, nullable TPercent) */ +void parser_prod__APercentMethid__init_apercentmethid(val* self, val* p0) { +val* var_n_percent /* var n_percent: nullable TPercent */; +var_n_percent = p0; +if (unlikely(var_n_percent == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1469); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_new_child; /* _n_extern on */ +self->attrs[COLOR_parser_nodes__APercentMethid___n_percent].val = var_n_percent; /* _n_percent on */ +if (var_n_percent == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1470); +show_backtrace(1); } else { -var50 = NULL; -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var50; /* _n_extern on */ +{ /* Inline parser_nodes#ANode#parent= (var_n_percent,self) on */ +if (unlikely(var_n_percent == 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_percent->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -var51 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on */ -if (var51 == NULL) { -var52 = 0; /* cannot be null */ -} else { -var52 = ((short int (*)(val*, val*))(var51->class->vft[COLOR_kernel__Object___61d_61d]))(var51, var_old_child) /* == on */; } -if (var52){ -var53 = NULL; -if (var_new_child == NULL) { -var54 = 0; /* is null */ -} else { -var54 = 1; /* arg is null and recv is not */ +RET_LABEL:; } -if (var54){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExternCalls */ -cltype56 = type_parser_nodes__AExternCalls.color; -idtype57 = type_parser_nodes__AExternCalls.id; -if(cltype56 >= var_new_child->type->table_size) { -var55 = 0; -} else { -var55 = var_new_child->type->type_table[cltype56] == idtype57; +/* method parser_prod#APercentMethid#init_apercentmethid for (self: Object, nullable TPercent) */ +void VIRTUAL_parser_prod__APercentMethid__init_apercentmethid(val* self, val* p0) { +parser_prod__APercentMethid__init_apercentmethid(self, p0); /* Direct call parser_prod#APercentMethid#init_apercentmethid on */ +RET_LABEL:; } -if (!var55) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2742); +/* method parser_prod#APercentMethid#replace_child for (self: APercentMethid, ANode, nullable ANode) */ +void parser_prod__APercentMethid__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 /* : TPercent */; +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__APercentMethid___n_percent].val; /* _n_percent on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_percent"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1475); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_new_child; /* _n_extern_calls on */ -} else { -var58 = NULL; -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var58; /* _n_extern_calls on */ +{ +{ /* 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; } -goto RET_LABEL; -} else { } -var59 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on */ -if (var59 == NULL) { -var60 = 0; /* cannot be null */ -} else { -var60 = ((short int (*)(val*, val*))(var59->class->vft[COLOR_kernel__Object___61d_61d]))(var59, var_old_child) /* == on */; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -if (var60){ -var61 = NULL; -if (var_new_child == NULL) { -var62 = 0; /* is null */ -} else { -var62 = 1; /* arg is null and recv is not */ +var1 = var2; } -if (var62){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExternCodeBlock */ -cltype64 = type_parser_nodes__AExternCodeBlock.color; -idtype65 = type_parser_nodes__AExternCodeBlock.id; -if(cltype64 >= var_new_child->type->table_size) { -var63 = 0; +if (var1){ +/* isa TPercent */ +cltype = type_parser_nodes__TPercent.color; +idtype = type_parser_nodes__TPercent.id; +if(var_new_child == NULL) { +var7 = 0; +} else { +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var63 = var_new_child->type->type_table[cltype64] == idtype65; +var7 = var_new_child->type->type_table[cltype] == idtype; +} } -if (!var63) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2752); +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`", "TPercent", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1476); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_new_child; /* _n_extern_code_block on */ -} else { -var66 = NULL; -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var66; /* _n_extern_code_block on */ +{ +parser_prod__APercentMethid__n_percent_61d(self, var_new_child); /* Direct call parser_prod#APercentMethid#n_percent= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AExternInitPropdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__AExternInitPropdef__replace_child(self, p0, p1); +/* method parser_prod#APercentMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__APercentMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__APercentMethid__replace_child(self, p0, p1); /* Direct call parser_prod#APercentMethid#replace_child on */ RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_doc= for (self: AExternInitPropdef, nullable ADoc) */ -void parser_prod__AExternInitPropdef__n_doc_61d(val* self, val* p0) { -val* var_node /* var node: nullable ADoc */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#APercentMethid#n_percent= for (self: APercentMethid, TPercent) */ +void parser_prod__APercentMethid__n_percent_61d(val* self, val* p0) { +val* var_node /* var node: TPercent */; var_node = p0; -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc 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__APercentMethid___n_percent].val = var_node; /* _n_percent 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#AExternInitPropdef#n_doc= for (self: Object, nullable ADoc) */ -void VIRTUAL_parser_prod__AExternInitPropdef__n_doc_61d(val* self, val* p0) { -parser_prod__AExternInitPropdef__n_doc_61d(self, p0); +/* method parser_prod#APercentMethid#n_percent= for (self: Object, TPercent) */ +void VIRTUAL_parser_prod__APercentMethid__n_percent_61d(val* self, val* p0) { +parser_prod__APercentMethid__n_percent_61d(self, p0); /* Direct call parser_prod#APercentMethid#n_percent= on */ RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_kwredef= for (self: AExternInitPropdef, nullable TKwredef) */ -void parser_prod__AExternInitPropdef__n_kwredef_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwredef */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#APercentMethid#visit_all for (self: APercentMethid, Visitor) */ +void parser_prod__APercentMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TPercent */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__APercentMethid___n_percent].val; /* _n_percent on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_percent"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1490); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_kwredef= for (self: Object, nullable TKwredef) */ -void VIRTUAL_parser_prod__AExternInitPropdef__n_kwredef_61d(val* self, val* p0) { -parser_prod__AExternInitPropdef__n_kwredef_61d(self, p0); +/* method parser_prod#APercentMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__APercentMethid__visit_all(val* self, val* p0) { +parser_prod__APercentMethid__visit_all(self, p0); /* Direct call parser_prod#APercentMethid#visit_all on */ RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_visibility= for (self: AExternInitPropdef, nullable AVisibility) */ -void parser_prod__AExternInitPropdef__n_visibility_61d(val* self, val* p0) { -val* var_node /* var node: nullable AVisibility */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on */ -if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2778); +/* method parser_prod#AEqMethid#init_aeqmethid for (self: AEqMethid, nullable TEq) */ +void parser_prod__AEqMethid__init_aeqmethid(val* self, val* p0) { +val* var_n_eq /* var n_eq: nullable TEq */; +var_n_eq = p0; +if (unlikely(var_n_eq == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1498); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AEqMethid___n_eq].val = var_n_eq; /* _n_eq on */ +if (var_n_eq == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1499); show_backtrace(1); } else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_eq,self) on */ +if (unlikely(var_n_eq == 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_eq->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -/* method parser_prod#AExternInitPropdef#n_visibility= for (self: Object, nullable AVisibility) */ -void VIRTUAL_parser_prod__AExternInitPropdef__n_visibility_61d(val* self, val* p0) { -parser_prod__AExternInitPropdef__n_visibility_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_kwnew= for (self: AExternInitPropdef, TKwnew) */ -void parser_prod__AExternInitPropdef__n_kwnew_61d(val* self, val* p0) { -val* var_node /* var node: TKwnew */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AExternInitPropdef___n_kwnew].val = var_node; /* _n_kwnew on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_kwnew= for (self: Object, TKwnew) */ -void VIRTUAL_parser_prod__AExternInitPropdef__n_kwnew_61d(val* self, val* p0) { -parser_prod__AExternInitPropdef__n_kwnew_61d(self, p0); +/* method parser_prod#AEqMethid#init_aeqmethid for (self: Object, nullable TEq) */ +void VIRTUAL_parser_prod__AEqMethid__init_aeqmethid(val* self, val* p0) { +parser_prod__AEqMethid__init_aeqmethid(self, p0); /* Direct call parser_prod#AEqMethid#init_aeqmethid on */ RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_methid= for (self: AExternInitPropdef, nullable AMethid) */ -void parser_prod__AExternInitPropdef__n_methid_61d(val* self, val* p0) { -val* var_node /* var node: nullable AMethid */; -val* var /* : null */; +/* method parser_prod#AEqMethid#replace_child for (self: AEqMethid, ANode, nullable ANode) */ +void parser_prod__AEqMethid__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 /* : TEq */; short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +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__AEqMethid___n_eq].val; /* _n_eq on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_eq"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1504); +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){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +/* isa TEq */ +cltype = type_parser_nodes__TEq.color; +idtype = type_parser_nodes__TEq.id; +if(var_new_child == NULL) { +var7 = 0; } else { +if(cltype >= var_new_child->type->table_size) { +var7 = 0; +} else { +var7 = var_new_child->type->type_table[cltype] == idtype; } -RET_LABEL:; -} -/* method parser_prod#AExternInitPropdef#n_methid= for (self: Object, nullable AMethid) */ -void VIRTUAL_parser_prod__AExternInitPropdef__n_methid_61d(val* self, val* p0) { -parser_prod__AExternInitPropdef__n_methid_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_signature= for (self: AExternInitPropdef, nullable ASignature) */ -void parser_prod__AExternInitPropdef__n_signature_61d(val* self, val* p0) { -val* var_node /* var node: nullable ASignature */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on */ -if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2795); +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`", "TEq", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1505); show_backtrace(1); +} +{ +parser_prod__AEqMethid__n_eq_61d(self, var_new_child); /* Direct call parser_prod#AEqMethid#n_eq= on */ +} +goto RET_LABEL; } else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_signature= for (self: Object, nullable ASignature) */ -void VIRTUAL_parser_prod__AExternInitPropdef__n_signature_61d(val* self, val* p0) { -parser_prod__AExternInitPropdef__n_signature_61d(self, p0); +/* method parser_prod#AEqMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AEqMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__AEqMethid__replace_child(self, p0, p1); /* Direct call parser_prod#AEqMethid#replace_child on */ RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_extern= for (self: AExternInitPropdef, nullable TString) */ -void parser_prod__AExternInitPropdef__n_extern_61d(val* self, val* p0) { -val* var_node /* var node: nullable TString */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#AEqMethid#n_eq= for (self: AEqMethid, TEq) */ +void parser_prod__AEqMethid__n_eq_61d(val* self, val* p0) { +val* var_node /* var node: TEq */; var_node = p0; -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_node; /* _n_extern 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__AEqMethid___n_eq].val = var_node; /* _n_eq 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#AExternInitPropdef#n_extern= for (self: Object, nullable TString) */ -void VIRTUAL_parser_prod__AExternInitPropdef__n_extern_61d(val* self, val* p0) { -parser_prod__AExternInitPropdef__n_extern_61d(self, p0); +/* method parser_prod#AEqMethid#n_eq= for (self: Object, TEq) */ +void VIRTUAL_parser_prod__AEqMethid__n_eq_61d(val* self, val* p0) { +parser_prod__AEqMethid__n_eq_61d(self, p0); /* Direct call parser_prod#AEqMethid#n_eq= on */ RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_extern_calls= for (self: AExternInitPropdef, nullable AExternCalls) */ -void parser_prod__AExternInitPropdef__n_extern_calls_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExternCalls */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_node; /* _n_extern_calls on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#AEqMethid#visit_all for (self: AEqMethid, Visitor) */ +void parser_prod__AEqMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TEq */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AEqMethid___n_eq].val; /* _n_eq on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_eq"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1519); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_extern_calls= for (self: Object, nullable AExternCalls) */ -void VIRTUAL_parser_prod__AExternInitPropdef__n_extern_calls_61d(val* self, val* p0) { -parser_prod__AExternInitPropdef__n_extern_calls_61d(self, p0); +/* method parser_prod#AEqMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AEqMethid__visit_all(val* self, val* p0) { +parser_prod__AEqMethid__visit_all(self, p0); /* Direct call parser_prod#AEqMethid#visit_all on */ RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_extern_code_block= for (self: AExternInitPropdef, nullable AExternCodeBlock) */ -void parser_prod__AExternInitPropdef__n_extern_code_block_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExternCodeBlock */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_node; /* _n_extern_code_block on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#ANeMethid#init_anemethid for (self: ANeMethid, nullable TNe) */ +void parser_prod__ANeMethid__init_anemethid(val* self, val* p0) { +val* var_n_ne /* var n_ne: nullable TNe */; +var_n_ne = p0; +if (unlikely(var_n_ne == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1527); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ANeMethid___n_ne].val = var_n_ne; /* _n_ne on */ +if (var_n_ne == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1528); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_ne,self) on */ +if (unlikely(var_n_ne == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_ne->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#n_extern_code_block= for (self: Object, nullable AExternCodeBlock) */ -void VIRTUAL_parser_prod__AExternInitPropdef__n_extern_code_block_61d(val* self, val* p0) { -parser_prod__AExternInitPropdef__n_extern_code_block_61d(self, p0); +/* method parser_prod#ANeMethid#init_anemethid for (self: Object, nullable TNe) */ +void VIRTUAL_parser_prod__ANeMethid__init_anemethid(val* self, val* p0) { +parser_prod__ANeMethid__init_anemethid(self, p0); /* Direct call parser_prod#ANeMethid#init_anemethid on */ RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#visit_all for (self: AExternInitPropdef, Visitor) */ -void parser_prod__AExternInitPropdef__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : nullable ADoc */; -val* var1 /* : null */; +/* method parser_prod#ANeMethid#replace_child for (self: ANeMethid, ANode, nullable ANode) */ +void parser_prod__ANeMethid__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 /* : TNe */; +short int var1 /* : Bool */; short int var2 /* : Bool */; -val* var3 /* : nullable ADoc */; -val* var4 /* : nullable TKwredef */; -val* var5 /* : null */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; short int var6 /* : Bool */; -val* var7 /* : nullable TKwredef */; -val* var8 /* : nullable AVisibility */; -val* var9 /* : TKwnew */; -val* var10 /* : nullable AMethid */; -val* var11 /* : null */; -short int var12 /* : Bool */; -val* var13 /* : nullable AMethid */; -val* var14 /* : nullable ASignature */; -val* var15 /* : nullable TString */; -val* var16 /* : null */; -short int var17 /* : Bool */; -val* var18 /* : nullable TString */; -val* var19 /* : nullable AExternCalls */; -val* var20 /* : null */; -short int var21 /* : Bool */; -val* var22 /* : nullable AExternCalls */; -val* var23 /* : nullable AExternCodeBlock */; -val* var24 /* : null */; -short int var25 /* : Bool */; -val* var26 /* : nullable AExternCodeBlock */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ -var1 = NULL; -if (var == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ -} -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2823); +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__ANeMethid___n_ne].val; /* _n_ne on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ne"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1533); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -} else { -} -var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -var5 = NULL; -if (var4 == NULL) { -var6 = 0; /* is null */ -} else { -var6 = 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 (var6){ -var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2826); -show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; -} else { +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on */ -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on */; -var9 = self->attrs[COLOR_parser_nodes__AExternInitPropdef___n_kwnew].val; /* _n_kwnew on */ -if (var9 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnew"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2829); -show_backtrace(1); +var1 = var2; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on */; -var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ -var11 = NULL; -if (var10 == NULL) { -var12 = 0; /* is null */ +if (var1){ +/* isa TNe */ +cltype = type_parser_nodes__TNe.color; +idtype = type_parser_nodes__TNe.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var12 = 1; /* arg is null and recv is not */ -} -if (var12){ -var13 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ -if (var13 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2831); -show_backtrace(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var13) /* enter_visit on */; +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { +var7 = var_new_child->type->type_table[cltype] == idtype; } -var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var14) /* enter_visit on */; -var15 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on */ -var16 = NULL; -if (var15 == NULL) { -var17 = 0; /* is null */ -} else { -var17 = 1; /* arg is null and recv is not */ } -if (var17){ -var18 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on */ -if (var18 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2835); +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`", "TNe", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1534); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var18) /* enter_visit on */; -} else { +{ +parser_prod__ANeMethid__n_ne_61d(self, var_new_child); /* Direct call parser_prod#ANeMethid#n_ne= on */ } -var19 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on */ -var20 = NULL; -if (var19 == NULL) { -var21 = 0; /* is null */ +goto RET_LABEL; } else { -var21 = 1; /* arg is null and recv is not */ } -if (var21){ -var22 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on */ -if (var22 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2838); -show_backtrace(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var22) /* enter_visit on */; -} else { +RET_LABEL:; } -var23 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on */ -var24 = NULL; -if (var23 == NULL) { -var25 = 0; /* is null */ -} else { -var25 = 1; /* arg is null and recv is not */ +/* method parser_prod#ANeMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ANeMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__ANeMethid__replace_child(self, p0, p1); /* Direct call parser_prod#ANeMethid#replace_child on */ +RET_LABEL:; } -if (var25){ -var26 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on */ -if (var26 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2841); -show_backtrace(1); +/* method parser_prod#ANeMethid#n_ne= for (self: ANeMethid, TNe) */ +void parser_prod__ANeMethid__n_ne_61d(val* self, val* p0) { +val* var_node /* var node: TNe */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ANeMethid___n_ne].val = var_node; /* _n_ne 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, var26) /* enter_visit on */; -} else { } RET_LABEL:; } -/* method parser_prod#AExternInitPropdef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AExternInitPropdef__visit_all(val* self, val* p0) { -parser_prod__AExternInitPropdef__visit_all(self, p0); +/* method parser_prod#ANeMethid#n_ne= for (self: Object, TNe) */ +void VIRTUAL_parser_prod__ANeMethid__n_ne_61d(val* self, val* p0) { +parser_prod__ANeMethid__n_ne_61d(self, p0); /* Direct call parser_prod#ANeMethid#n_ne= on */ RET_LABEL:; } -/* method parser_prod#AMainMethPropdef#empty_init for (self: AMainMethPropdef) */ -void parser_prod__AMainMethPropdef__empty_init(val* self) { +/* method parser_prod#ANeMethid#visit_all for (self: ANeMethid, Visitor) */ +void parser_prod__ANeMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TNe */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ANeMethid___n_ne].val; /* _n_ne on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ne"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1548); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#AMainMethPropdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AMainMethPropdef__empty_init(val* self) { -parser_prod__AMainMethPropdef__empty_init(self); +/* method parser_prod#ANeMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ANeMethid__visit_all(val* self, val* p0) { +parser_prod__ANeMethid__visit_all(self, p0); /* Direct call parser_prod#ANeMethid#visit_all on */ RET_LABEL:; } -/* method parser_prod#AMainMethPropdef#init_amainmethpropdef for (self: AMainMethPropdef, nullable TKwredef, nullable AExpr) */ -void parser_prod__AMainMethPropdef__init_amainmethpropdef(val* self, val* p0, val* p1) { -val* var_n_kwredef /* var n_kwredef: nullable TKwredef */; -val* var_n_block /* var n_block: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -var_n_kwredef = p0; -var_n_block = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMainMethPropdef__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ -var = NULL; -if (var_n_kwredef == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#ALeMethid#init_alemethid for (self: ALeMethid, nullable TLe) */ +void parser_prod__ALeMethid__init_alemethid(val* self, val* p0) { +val* var_n_le /* var n_le: nullable TLe */; +var_n_le = p0; +if (unlikely(var_n_le == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1556); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ALeMethid___n_le].val = var_n_le; /* _n_le on */ +if (var_n_le == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1557); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_le,self) on */ +if (unlikely(var_n_le == 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__AConcreteMethPropdef___n_block].val = var_n_block; /* _n_block on */ -var2 = NULL; -if (var_n_block == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +var_n_le->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (var3){ -((void (*)(val*, val*))(var_n_block->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_block, self) /* parent= on */; -} else { } RET_LABEL:; } -/* method parser_prod#AMainMethPropdef#init_amainmethpropdef for (self: Object, nullable TKwredef, nullable AExpr) */ -void VIRTUAL_parser_prod__AMainMethPropdef__init_amainmethpropdef(val* self, val* p0, val* p1) { -parser_prod__AMainMethPropdef__init_amainmethpropdef(self, p0, p1); +/* method parser_prod#ALeMethid#init_alemethid for (self: Object, nullable TLe) */ +void VIRTUAL_parser_prod__ALeMethid__init_alemethid(val* self, val* p0) { +parser_prod__ALeMethid__init_alemethid(self, p0); /* Direct call parser_prod#ALeMethid#init_alemethid on */ RET_LABEL:; } -/* method parser_prod#AMainMethPropdef#replace_child for (self: AMainMethPropdef, ANode, nullable ANode) */ -void parser_prod__AMainMethPropdef__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ALeMethid#replace_child for (self: ALeMethid, ANode, nullable ANode) */ +void parser_prod__ALeMethid__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 TKwredef */; +val* var /* : TLe */; 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 /* : null */; -val* var6 /* : nullable AExpr */; -short int var7 /* : Bool */; -val* var8 /* : null */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; +const char* var_class_name; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} 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 */ -} else { -var3 = 1; /* arg is null and recv is not */ +var = self->attrs[COLOR_parser_nodes__ALeMethid___n_le].val; /* _n_le on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_le"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1562); +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 TKwredef */ -cltype = type_parser_nodes__TKwredef.color; -idtype = type_parser_nodes__TKwredef.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; +{ +{ /* 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 (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2869); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var5; /* _n_kwredef on */ +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -goto RET_LABEL; -} else { +var1 = var2; } -var6 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on */ -if (var6 == NULL) { -var7 = 0; /* cannot be null */ +if (var1){ +/* isa TLe */ +cltype = type_parser_nodes__TLe.color; +idtype = type_parser_nodes__TLe.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on */; -} -if (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var9 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var9){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype11 = type_parser_nodes__AExpr.color; -idtype12 = type_parser_nodes__AExpr.id; -if(cltype11 >= var_new_child->type->table_size) { -var10 = 0; -} else { -var10 = var_new_child->type->type_table[cltype11] == idtype12; } -if (!var10) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2879); +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`", "TLe", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1563); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_new_child; /* _n_block on */ -} else { -var13 = NULL; -self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var13; /* _n_block on */ +{ +parser_prod__ALeMethid__n_le_61d(self, var_new_child); /* Direct call parser_prod#ALeMethid#n_le= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AMainMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AMainMethPropdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__AMainMethPropdef__replace_child(self, p0, p1); +/* method parser_prod#ALeMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ALeMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__ALeMethid__replace_child(self, p0, p1); /* Direct call parser_prod#ALeMethid#replace_child on */ RET_LABEL:; } -/* method parser_prod#AMainMethPropdef#n_kwredef= for (self: AMainMethPropdef, nullable TKwredef) */ -void parser_prod__AMainMethPropdef__n_kwredef_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwredef */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#ALeMethid#n_le= for (self: ALeMethid, TLe) */ +void parser_prod__ALeMethid__n_le_61d(val* self, val* p0) { +val* var_node /* var node: TLe */; var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef 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__ALeMethid___n_le].val = var_node; /* _n_le 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#AMainMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */ -void VIRTUAL_parser_prod__AMainMethPropdef__n_kwredef_61d(val* self, val* p0) { -parser_prod__AMainMethPropdef__n_kwredef_61d(self, p0); +/* method parser_prod#ALeMethid#n_le= for (self: Object, TLe) */ +void VIRTUAL_parser_prod__ALeMethid__n_le_61d(val* self, val* p0) { +parser_prod__ALeMethid__n_le_61d(self, p0); /* Direct call parser_prod#ALeMethid#n_le= on */ RET_LABEL:; } -/* method parser_prod#AMainMethPropdef#n_block= for (self: AMainMethPropdef, nullable AExpr) */ -void parser_prod__AMainMethPropdef__n_block_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_node; /* _n_block on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#ALeMethid#visit_all for (self: ALeMethid, Visitor) */ +void parser_prod__ALeMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TLe */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ALeMethid___n_le].val; /* _n_le on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_le"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1577); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AMainMethPropdef#n_block= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AMainMethPropdef__n_block_61d(val* self, val* p0) { -parser_prod__AMainMethPropdef__n_block_61d(self, p0); +/* method parser_prod#ALeMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ALeMethid__visit_all(val* self, val* p0) { +parser_prod__ALeMethid__visit_all(self, p0); /* Direct call parser_prod#ALeMethid#visit_all on */ RET_LABEL:; } -/* method parser_prod#AMainMethPropdef#visit_all for (self: AMainMethPropdef, Visitor) */ -void parser_prod__AMainMethPropdef__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : nullable TKwredef */; -val* var1 /* : null */; -short int var2 /* : Bool */; -val* var3 /* : nullable TKwredef */; -val* var4 /* : nullable AExpr */; -val* var5 /* : null */; -short int var6 /* : Bool */; -val* var7 /* : nullable AExpr */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -var1 = NULL; -if (var == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ -} -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2907); +/* method parser_prod#AGeMethid#init_agemethid for (self: AGeMethid, nullable TGe) */ +void parser_prod__AGeMethid__init_agemethid(val* self, val* p0) { +val* var_n_ge /* var n_ge: nullable TGe */; +var_n_ge = p0; +if (unlikely(var_n_ge == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1585); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -} else { -} -var4 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block 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__AConcreteMethPropdef___n_block].val; /* _n_block on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2910); +self->attrs[COLOR_parser_nodes__AGeMethid___n_ge].val = var_n_ge; /* _n_ge on */ +if (var_n_ge == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1586); show_backtrace(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_ge,self) on */ +if (unlikely(var_n_ge == 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_ge->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -/* method parser_prod#AMainMethPropdef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AMainMethPropdef__visit_all(val* self, val* p0) { -parser_prod__AMainMethPropdef__visit_all(self, p0); -RET_LABEL:; } -/* method parser_prod#ATypePropdef#empty_init for (self: ATypePropdef) */ -void parser_prod__ATypePropdef__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#ATypePropdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ATypePropdef__empty_init(val* self) { -parser_prod__ATypePropdef__empty_init(self); +/* method parser_prod#AGeMethid#init_agemethid for (self: Object, nullable TGe) */ +void VIRTUAL_parser_prod__AGeMethid__init_agemethid(val* self, val* p0) { +parser_prod__AGeMethid__init_agemethid(self, p0); /* Direct call parser_prod#AGeMethid#init_agemethid on */ RET_LABEL:; } -/* method parser_prod#ATypePropdef#init_atypepropdef for (self: ATypePropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwtype, nullable TClassid, nullable AType, nullable AAnnotations) */ -void parser_prod__ATypePropdef__init_atypepropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6) { -val* var_n_doc /* var n_doc: nullable ADoc */; -val* var_n_kwredef /* var n_kwredef: nullable TKwredef */; -val* var_n_visibility /* var n_visibility: nullable AVisibility */; -val* var_n_kwtype /* var n_kwtype: nullable TKwtype */; -val* var_n_id /* var n_id: nullable TClassid */; -val* var_n_type /* var n_type: nullable AType */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : null */; -short int var5 /* : Bool */; -var_n_doc = p0; -var_n_kwredef = p1; -var_n_visibility = p2; -var_n_kwtype = p3; -var_n_id = p4; -var_n_type = p5; -var_n_annotations = p6; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ATypePropdef__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on */ -var = NULL; -if (var_n_doc == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#AGeMethid#replace_child for (self: AGeMethid, ANode, nullable ANode) */ +void parser_prod__AGeMethid__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 /* : TGe */; +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__AGeMethid___n_ge].val; /* _n_ge on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ge"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1591); +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){ -((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on */; +/* isa TGe */ +cltype = type_parser_nodes__TGe.color; +idtype = type_parser_nodes__TGe.id; +if(var_new_child == NULL) { +var7 = 0; } else { -} -self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ -var2 = NULL; -if (var_n_kwredef == NULL) { -var3 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var3){ -((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on */; -} else { } -if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2936); +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`", "TGe", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1592); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ATypePropdef___n_visibility].val = var_n_visibility; /* _n_visibility on */ -if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2937); -show_backtrace(1); +{ +parser_prod__AGeMethid__n_ge_61d(self, var_new_child); /* Direct call parser_prod#AGeMethid#n_ge= on */ +} +goto RET_LABEL; } else { -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; } -if (var_n_kwtype == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2938); -show_backtrace(1); +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwtype].val = var_n_kwtype; /* _n_kwtype on */ -if (var_n_kwtype == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2939); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_kwtype->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwtype, self) /* parent= on */; +/* method parser_prod#AGeMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AGeMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__AGeMethid__replace_child(self, p0, p1); /* Direct call parser_prod#AGeMethid#replace_child on */ +RET_LABEL:; } -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2940); -show_backtrace(1); +/* method parser_prod#AGeMethid#n_ge= for (self: AGeMethid, TGe) */ +void parser_prod__AGeMethid__n_ge_61d(val* self, val* p0) { +val* var_node /* var node: TGe */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AGeMethid___n_ge].val = var_node; /* _n_ge 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__ATypePropdef___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2941); +} +RET_LABEL:; +} +/* method parser_prod#AGeMethid#n_ge= for (self: Object, TGe) */ +void VIRTUAL_parser_prod__AGeMethid__n_ge_61d(val* self, val* p0) { +parser_prod__AGeMethid__n_ge_61d(self, p0); /* Direct call parser_prod#AGeMethid#n_ge= on */ +RET_LABEL:; +} +/* method parser_prod#AGeMethid#visit_all for (self: AGeMethid, Visitor) */ +void parser_prod__AGeMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TGe */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AGeMethid___n_ge].val; /* _n_ge on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ge"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1606); show_backtrace(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_type == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2942); +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +RET_LABEL:; +} +/* method parser_prod#AGeMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AGeMethid__visit_all(val* self, val* p0) { +parser_prod__AGeMethid__visit_all(self, p0); /* Direct call parser_prod#AGeMethid#visit_all on */ +RET_LABEL:; +} +/* method parser_prod#ALtMethid#init_altmethid for (self: ALtMethid, nullable TLt) */ +void parser_prod__ALtMethid__init_altmethid(val* self, val* p0) { +val* var_n_lt /* var n_lt: nullable TLt */; +var_n_lt = p0; +if (unlikely(var_n_lt == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1614); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ATypePropdef___n_type].val = var_n_type; /* _n_type on */ -if (var_n_type == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2943); +self->attrs[COLOR_parser_nodes__ALtMethid___n_lt].val = var_n_lt; /* _n_lt on */ +if (var_n_lt == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1615); show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_lt,self) on */ +if (unlikely(var_n_lt == 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 */ -var4 = NULL; -if (var_n_annotations == NULL) { -var5 = 0; /* is null */ -} else { -var5 = 1; /* arg is null and recv is not */ +var_n_lt->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (var5){ -((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#ATypePropdef#init_atypepropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwtype, nullable TClassid, nullable AType, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ATypePropdef__init_atypepropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6) { -parser_prod__ATypePropdef__init_atypepropdef(self, p0, p1, p2, p3, p4, p5, p6); +/* method parser_prod#ALtMethid#init_altmethid for (self: Object, nullable TLt) */ +void VIRTUAL_parser_prod__ALtMethid__init_altmethid(val* self, val* p0) { +parser_prod__ALtMethid__init_altmethid(self, p0); /* Direct call parser_prod#ALtMethid#init_altmethid on */ RET_LABEL:; } -/* method parser_prod#ATypePropdef#replace_child for (self: ATypePropdef, ANode, nullable ANode) */ -void parser_prod__ATypePropdef__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ALtMethid#replace_child for (self: ALtMethid, ANode, nullable ANode) */ +void parser_prod__ALtMethid__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 ADoc */; +val* var /* : TLt */; 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 /* : null */; -val* var6 /* : nullable TKwredef */; -short int var7 /* : Bool */; -val* var8 /* : null */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; -val* var14 /* : AVisibility */; -short int var15 /* : Bool */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : TKwtype */; -short int var22 /* : Bool */; -val* var23 /* : null */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : TClassid */; -short int var29 /* : Bool */; -val* var30 /* : null */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : AType */; -short int var36 /* : Bool */; -val* var37 /* : null */; -short int var38 /* : Bool */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -val* var42 /* : nullable AAnnotations */; -short int var43 /* : Bool */; -val* var44 /* : null */; -short int var45 /* : Bool */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -val* var49 /* : null */; +const char* var_class_name; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} 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 */ -} else { -var3 = 1; /* arg is null and recv is not */ +var = self->attrs[COLOR_parser_nodes__ALtMethid___n_lt].val; /* _n_lt on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_lt"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1620); +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 ADoc */ -cltype = type_parser_nodes__ADoc.color; -idtype = type_parser_nodes__ADoc.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; +{ +{ /* 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 (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2955); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on */ +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -goto RET_LABEL; -} else { +var1 = var2; } -var6 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwredef].val; /* _n_kwredef on */ -if (var6 == NULL) { -var7 = 0; /* cannot be null */ +if (var1){ +/* isa TLt */ +cltype = type_parser_nodes__TLt.color; +idtype = type_parser_nodes__TLt.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on */; -} -if (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var9 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var9){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwredef */ -cltype11 = type_parser_nodes__TKwredef.color; -idtype12 = type_parser_nodes__TKwredef.id; -if(cltype11 >= var_new_child->type->table_size) { -var10 = 0; -} else { -var10 = var_new_child->type->type_table[cltype11] == idtype12; } -if (!var10) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2965); +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`", "TLt", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1621); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwredef].val = var_new_child; /* _n_kwredef on */ -} else { -var13 = NULL; -self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwredef].val = var13; /* _n_kwredef on */ +{ +parser_prod__ALtMethid__n_lt_61d(self, var_new_child); /* Direct call parser_prod#ALtMethid#n_lt= on */ } goto RET_LABEL; } else { } -var14 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_visibility].val; /* _n_visibility on */ -if (var14 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2972); -show_backtrace(1); +RET_LABEL:; } -var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on */; -if (var15){ -var16 = NULL; -if (var_new_child == NULL) { -var17 = 0; /* is null */ -} else { -var17 = 1; /* arg is null and recv is not */ +/* method parser_prod#ALtMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ALtMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__ALtMethid__replace_child(self, p0, p1); /* Direct call parser_prod#ALtMethid#replace_child on */ +RET_LABEL:; } -if (var17){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AVisibility */ -cltype19 = type_parser_nodes__AVisibility.color; -idtype20 = type_parser_nodes__AVisibility.id; -if(cltype19 >= var_new_child->type->table_size) { -var18 = 0; -} else { -var18 = var_new_child->type->type_table[cltype19] == idtype20; +/* method parser_prod#ALtMethid#n_lt= for (self: ALtMethid, TLt) */ +void parser_prod__ALtMethid__n_lt_61d(val* self, val* p0) { +val* var_node /* var node: TLt */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ALtMethid___n_lt].val = var_node; /* _n_lt 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 (!var18) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2975); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ATypePropdef___n_visibility].val = var_new_child; /* _n_visibility on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2978); -show_backtrace(1); +RET_LABEL:; } -goto RET_LABEL; -} else { +/* method parser_prod#ALtMethid#n_lt= for (self: Object, TLt) */ +void VIRTUAL_parser_prod__ALtMethid__n_lt_61d(val* self, val* p0) { +parser_prod__ALtMethid__n_lt_61d(self, p0); /* Direct call parser_prod#ALtMethid#n_lt= on */ +RET_LABEL:; } -var21 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwtype].val; /* _n_kwtype on */ -if (var21 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwtype"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2982); +/* method parser_prod#ALtMethid#visit_all for (self: ALtMethid, Visitor) */ +void parser_prod__ALtMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TLt */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ALtMethid___n_lt].val; /* _n_lt on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_lt"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1635); show_backtrace(1); } -var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on */; -if (var22){ -var23 = NULL; -if (var_new_child == NULL) { -var24 = 0; /* is null */ -} else { -var24 = 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 (var24){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwtype */ -cltype26 = type_parser_nodes__TKwtype.color; -idtype27 = type_parser_nodes__TKwtype.id; -if(cltype26 >= var_new_child->type->table_size) { -var25 = 0; -} else { -var25 = var_new_child->type->type_table[cltype26] == idtype27; +RET_LABEL:; } -if (!var25) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2985); -show_backtrace(1); +/* method parser_prod#ALtMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ALtMethid__visit_all(val* self, val* p0) { +parser_prod__ALtMethid__visit_all(self, p0); /* Direct call parser_prod#ALtMethid#visit_all on */ +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwtype].val = var_new_child; /* _n_kwtype on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2988); +/* method parser_prod#AGtMethid#init_agtmethid for (self: AGtMethid, nullable TGt) */ +void parser_prod__AGtMethid__init_agtmethid(val* self, val* p0) { +val* var_n_gt /* var n_gt: nullable TGt */; +var_n_gt = p0; +if (unlikely(var_n_gt == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1643); show_backtrace(1); } -goto RET_LABEL; -} else { -} -var28 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_id].val; /* _n_id on */ -if (var28 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2992); +self->attrs[COLOR_parser_nodes__AGtMethid___n_gt].val = var_n_gt; /* _n_gt on */ +if (var_n_gt == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1644); show_backtrace(1); -} -var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on */; -if (var29){ -var30 = NULL; -if (var_new_child == NULL) { -var31 = 0; /* is null */ } else { -var31 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_gt,self) on */ +if (unlikely(var_n_gt == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var31){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TClassid */ -cltype33 = type_parser_nodes__TClassid.color; -idtype34 = type_parser_nodes__TClassid.id; -if(cltype33 >= var_new_child->type->table_size) { -var32 = 0; -} else { -var32 = var_new_child->type->type_table[cltype33] == idtype34; +var_n_gt->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (!var32) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2995); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ATypePropdef___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2998); -show_backtrace(1); +RET_LABEL:; } -goto RET_LABEL; -} else { +/* method parser_prod#AGtMethid#init_agtmethid for (self: Object, nullable TGt) */ +void VIRTUAL_parser_prod__AGtMethid__init_agtmethid(val* self, val* p0) { +parser_prod__AGtMethid__init_agtmethid(self, p0); /* Direct call parser_prod#AGtMethid#init_agtmethid on */ +RET_LABEL:; } -var35 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_type].val; /* _n_type on */ -if (var35 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3002); +/* method parser_prod#AGtMethid#replace_child for (self: AGtMethid, ANode, nullable ANode) */ +void parser_prod__AGtMethid__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 /* : TGt */; +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__AGtMethid___n_gt].val; /* _n_gt on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_gt"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1649); show_backtrace(1); } -var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on */; -if (var36){ -var37 = NULL; -if (var_new_child == NULL) { -var38 = 0; /* is null */ -} else { -var38 = 1; /* arg is null and recv is not */ -} -if (var38){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AType */ -cltype40 = type_parser_nodes__AType.color; -idtype41 = type_parser_nodes__AType.id; -if(cltype40 >= var_new_child->type->table_size) { -var39 = 0; -} else { -var39 = var_new_child->type->type_table[cltype40] == idtype41; +{ +{ /* 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 (!var39) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3005); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ATypePropdef___n_type].val = var_new_child; /* _n_type on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3008); -show_backtrace(1); +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -goto RET_LABEL; -} else { +var1 = var2; } -var42 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var42 == NULL) { -var43 = 0; /* cannot be null */ +if (var1){ +/* isa TGt */ +cltype = type_parser_nodes__TGt.color; +idtype = type_parser_nodes__TGt.id; +if(var_new_child == NULL) { +var7 = 0; } else { -var43 = ((short int (*)(val*, val*))(var42->class->vft[COLOR_kernel__Object___61d_61d]))(var42, var_old_child) /* == on */; -} -if (var43){ -var44 = NULL; -if (var_new_child == NULL) { -var45 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var45 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var45){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype47 = type_parser_nodes__AAnnotations.color; -idtype48 = type_parser_nodes__AAnnotations.id; -if(cltype47 >= var_new_child->type->table_size) { -var46 = 0; -} else { -var46 = var_new_child->type->type_table[cltype47] == idtype48; } -if (!var46) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3015); +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`", "TGt", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1650); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ -} else { -var49 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var49; /* _n_annotations on */ +{ +parser_prod__AGtMethid__n_gt_61d(self, var_new_child); /* Direct call parser_prod#AGtMethid#n_gt= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ATypePropdef#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ATypePropdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__ATypePropdef__replace_child(self, p0, p1); +/* method parser_prod#AGtMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AGtMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__AGtMethid__replace_child(self, p0, p1); /* Direct call parser_prod#AGtMethid#replace_child on */ RET_LABEL:; } -/* method parser_prod#ATypePropdef#n_doc= for (self: ATypePropdef, nullable ADoc) */ -void parser_prod__ATypePropdef__n_doc_61d(val* self, val* p0) { -val* var_node /* var node: nullable ADoc */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#AGtMethid#n_gt= for (self: AGtMethid, TGt) */ +void parser_prod__AGtMethid__n_gt_61d(val* self, val* p0) { +val* var_node /* var node: TGt */; var_node = p0; -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc 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__AGtMethid___n_gt].val = var_node; /* _n_gt 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#ATypePropdef#n_doc= for (self: Object, nullable ADoc) */ -void VIRTUAL_parser_prod__ATypePropdef__n_doc_61d(val* self, val* p0) { -parser_prod__ATypePropdef__n_doc_61d(self, p0); +/* method parser_prod#AGtMethid#n_gt= for (self: Object, TGt) */ +void VIRTUAL_parser_prod__AGtMethid__n_gt_61d(val* self, val* p0) { +parser_prod__AGtMethid__n_gt_61d(self, p0); /* Direct call parser_prod#AGtMethid#n_gt= on */ RET_LABEL:; } -/* method parser_prod#ATypePropdef#n_kwredef= for (self: ATypePropdef, nullable TKwredef) */ -void parser_prod__ATypePropdef__n_kwredef_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwredef */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwredef].val = var_node; /* _n_kwredef on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#AGtMethid#visit_all for (self: AGtMethid, Visitor) */ +void parser_prod__AGtMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TGt */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AGtMethid___n_gt].val; /* _n_gt on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_gt"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1664); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#ATypePropdef#n_kwredef= for (self: Object, nullable TKwredef) */ -void VIRTUAL_parser_prod__ATypePropdef__n_kwredef_61d(val* self, val* p0) { -parser_prod__ATypePropdef__n_kwredef_61d(self, p0); +/* method parser_prod#AGtMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AGtMethid__visit_all(val* self, val* p0) { +parser_prod__AGtMethid__visit_all(self, p0); /* Direct call parser_prod#AGtMethid#visit_all on */ RET_LABEL:; } -/* method parser_prod#ATypePropdef#n_visibility= for (self: ATypePropdef, AVisibility) */ -void parser_prod__ATypePropdef__n_visibility_61d(val* self, val* p0) { -val* var_node /* var node: AVisibility */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ATypePropdef___n_visibility].val = var_node; /* _n_visibility on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +/* method parser_prod#ALlMethid#init_allmethid for (self: ALlMethid, nullable TLl) */ +void parser_prod__ALlMethid__init_allmethid(val* self, val* p0) { +val* var_n_ll /* var n_ll: nullable TLl */; +var_n_ll = p0; +if (unlikely(var_n_ll == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1672); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ALlMethid___n_ll].val = var_n_ll; /* _n_ll on */ +if (var_n_ll == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1673); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_ll,self) on */ +if (unlikely(var_n_ll == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_ll->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#ATypePropdef#n_visibility= for (self: Object, AVisibility) */ -void VIRTUAL_parser_prod__ATypePropdef__n_visibility_61d(val* self, val* p0) { -parser_prod__ATypePropdef__n_visibility_61d(self, p0); +/* method parser_prod#ALlMethid#init_allmethid for (self: Object, nullable TLl) */ +void VIRTUAL_parser_prod__ALlMethid__init_allmethid(val* self, val* p0) { +parser_prod__ALlMethid__init_allmethid(self, p0); /* Direct call parser_prod#ALlMethid#init_allmethid on */ RET_LABEL:; } -/* method parser_prod#ATypePropdef#n_kwtype= for (self: ATypePropdef, TKwtype) */ -void parser_prod__ATypePropdef__n_kwtype_61d(val* self, val* p0) { -val* var_node /* var node: TKwtype */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ATypePropdef___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 */; +/* method parser_prod#ALlMethid#replace_child for (self: ALlMethid, ANode, nullable ANode) */ +void parser_prod__ALlMethid__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 /* : TLl */; +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__ALlMethid___n_ll].val; /* _n_ll on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ll"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1678); +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 TLl */ +cltype = type_parser_nodes__TLl.color; +idtype = type_parser_nodes__TLl.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`", "TLl", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1679); +show_backtrace(1); +} +{ +parser_prod__ALlMethid__n_ll_61d(self, var_new_child); /* Direct call parser_prod#ALlMethid#n_ll= on */ +} +goto RET_LABEL; +} else { +} RET_LABEL:; } -/* method parser_prod#ATypePropdef#n_kwtype= for (self: Object, TKwtype) */ -void VIRTUAL_parser_prod__ATypePropdef__n_kwtype_61d(val* self, val* p0) { -parser_prod__ATypePropdef__n_kwtype_61d(self, p0); +/* method parser_prod#ALlMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ALlMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__ALlMethid__replace_child(self, p0, p1); /* Direct call parser_prod#ALlMethid#replace_child on */ RET_LABEL:; } -/* method parser_prod#ATypePropdef#n_id= for (self: ATypePropdef, TClassid) */ -void parser_prod__ATypePropdef__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TClassid */; +/* method parser_prod#ALlMethid#n_ll= for (self: ALlMethid, TLl) */ +void parser_prod__ALlMethid__n_ll_61d(val* self, val* p0) { +val* var_node /* var node: TLl */; var_node = p0; -self->attrs[COLOR_parser_nodes__ATypePropdef___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__ALlMethid___n_ll].val = var_node; /* _n_ll 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#ATypePropdef#n_id= for (self: Object, TClassid) */ -void VIRTUAL_parser_prod__ATypePropdef__n_id_61d(val* self, val* p0) { -parser_prod__ATypePropdef__n_id_61d(self, p0); +/* method parser_prod#ALlMethid#n_ll= for (self: Object, TLl) */ +void VIRTUAL_parser_prod__ALlMethid__n_ll_61d(val* self, val* p0) { +parser_prod__ALlMethid__n_ll_61d(self, p0); /* Direct call parser_prod#ALlMethid#n_ll= on */ RET_LABEL:; } -/* method parser_prod#ATypePropdef#n_type= for (self: ATypePropdef, AType) */ -void parser_prod__ATypePropdef__n_type_61d(val* self, val* p0) { -val* var_node /* var node: AType */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ATypePropdef___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 */; +/* method parser_prod#ALlMethid#visit_all for (self: ALlMethid, Visitor) */ +void parser_prod__ALlMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TLl */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__ALlMethid___n_ll].val; /* _n_ll on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ll"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1693); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#ATypePropdef#n_type= for (self: Object, AType) */ -void VIRTUAL_parser_prod__ATypePropdef__n_type_61d(val* self, val* p0) { -parser_prod__ATypePropdef__n_type_61d(self, p0); +/* method parser_prod#ALlMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ALlMethid__visit_all(val* self, val* p0) { +parser_prod__ALlMethid__visit_all(self, p0); /* Direct call parser_prod#ALlMethid#visit_all on */ RET_LABEL:; } -/* method parser_prod#ATypePropdef#n_annotations= for (self: ATypePropdef, nullable AAnnotations) */ -void parser_prod__ATypePropdef__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 */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#AGgMethid#init_aggmethid for (self: AGgMethid, nullable TGg) */ +void parser_prod__AGgMethid__init_aggmethid(val* self, val* p0) { +val* var_n_gg /* var n_gg: nullable TGg */; +var_n_gg = p0; +if (unlikely(var_n_gg == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1701); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AGgMethid___n_gg].val = var_n_gg; /* _n_gg on */ +if (var_n_gg == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1702); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_gg,self) on */ +if (unlikely(var_n_gg == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_gg->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } -/* method parser_prod#ATypePropdef#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ATypePropdef__n_annotations_61d(val* self, val* p0) { -parser_prod__ATypePropdef__n_annotations_61d(self, p0); +/* method parser_prod#AGgMethid#init_aggmethid for (self: Object, nullable TGg) */ +void VIRTUAL_parser_prod__AGgMethid__init_aggmethid(val* self, val* p0) { +parser_prod__AGgMethid__init_aggmethid(self, p0); /* Direct call parser_prod#AGgMethid#init_aggmethid on */ RET_LABEL:; } -/* method parser_prod#ATypePropdef#visit_all for (self: ATypePropdef, Visitor) */ -void parser_prod__ATypePropdef__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : nullable ADoc */; -val* var1 /* : null */; +/* method parser_prod#AGgMethid#replace_child for (self: AGgMethid, ANode, nullable ANode) */ +void parser_prod__AGgMethid__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 /* : TGg */; +short int var1 /* : Bool */; short int var2 /* : Bool */; -val* var3 /* : nullable ADoc */; -val* var4 /* : nullable TKwredef */; -val* var5 /* : null */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; short int var6 /* : Bool */; -val* var7 /* : nullable TKwredef */; -val* var8 /* : AVisibility */; -val* var9 /* : TKwtype */; -val* var10 /* : TClassid */; -val* var11 /* : AType */; -val* var12 /* : nullable AAnnotations */; -val* var13 /* : null */; -short int var14 /* : Bool */; -val* var15 /* : nullable AAnnotations */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ -var1 = NULL; -if (var == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ -} -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3070); +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__AGgMethid___n_gg].val; /* _n_gg on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_gg"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1707); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -} 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; } -var4 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwredef].val; /* _n_kwredef 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__ATypePropdef___n_kwredef].val; /* _n_kwredef on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3073); -show_backtrace(1); +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; -} else { +var1 = var2; } -var8 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_visibility].val; /* _n_visibility on */ -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3075); -show_backtrace(1); +if (var1){ +/* isa TGg */ +cltype = type_parser_nodes__TGg.color; +idtype = type_parser_nodes__TGg.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; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on */; -var9 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwtype].val; /* _n_kwtype on */ -if (var9 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwtype"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3076); -show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on */; -var10 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_id].val; /* _n_id on */ -if (var10 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3077); +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`", "TGg", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1708); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on */; -var11 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_type].val; /* _n_type on */ -if (var11 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3078); -show_backtrace(1); +{ +parser_prod__AGgMethid__n_gg_61d(self, var_new_child); /* Direct call parser_prod#AGgMethid#n_gg= on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on */; -var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var13 = NULL; -if (var12 == NULL) { -var14 = 0; /* is null */ +goto RET_LABEL; } else { -var14 = 1; /* arg is null and recv is not */ } -if (var14){ -var15 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var15 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3080); -show_backtrace(1); +RET_LABEL:; +} +/* method parser_prod#AGgMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AGgMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__AGgMethid__replace_child(self, p0, p1); /* Direct call parser_prod#AGgMethid#replace_child on */ +RET_LABEL:; +} +/* method parser_prod#AGgMethid#n_gg= for (self: AGgMethid, TGg) */ +void parser_prod__AGgMethid__n_gg_61d(val* self, val* p0) { +val* var_node /* var node: TGg */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AGgMethid___n_gg].val = var_node; /* _n_gg 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, var15) /* enter_visit on */; -} else { } RET_LABEL:; } -/* method parser_prod#ATypePropdef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ATypePropdef__visit_all(val* self, val* p0) { -parser_prod__ATypePropdef__visit_all(self, p0); +/* method parser_prod#AGgMethid#n_gg= for (self: Object, TGg) */ +void VIRTUAL_parser_prod__AGgMethid__n_gg_61d(val* self, val* p0) { +parser_prod__AGgMethid__n_gg_61d(self, p0); /* Direct call parser_prod#AGgMethid#n_gg= on */ RET_LABEL:; } -/* method parser_prod#AReadAble#empty_init for (self: AReadAble) */ -void parser_prod__AReadAble__empty_init(val* self) { +/* method parser_prod#AGgMethid#visit_all for (self: AGgMethid, Visitor) */ +void parser_prod__AGgMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TGg */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AGgMethid___n_gg].val; /* _n_gg on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_gg"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1722); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#AReadAble#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AReadAble__empty_init(val* self) { -parser_prod__AReadAble__empty_init(self); +/* method parser_prod#AGgMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AGgMethid__visit_all(val* self, val* p0) { +parser_prod__AGgMethid__visit_all(self, p0); /* Direct call parser_prod#AGgMethid#visit_all on */ RET_LABEL:; } -/* method parser_prod#AReadAble#init_areadable for (self: AReadAble, nullable TKwredef, nullable TKwreadable) */ -void parser_prod__AReadAble__init_areadable(val* self, val* p0, val* p1) { -val* var_n_kwredef /* var n_kwredef: nullable TKwredef */; -val* var_n_kwreadable /* var n_kwreadable: nullable TKwreadable */; -val* var /* : null */; -short int var1 /* : Bool */; -var_n_kwredef = p0; -var_n_kwreadable = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AReadAble__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ -var = NULL; -if (var_n_kwredef == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#ABraMethid#init_abramethid for (self: ABraMethid, nullable TObra, nullable TCbra) */ +void parser_prod__ABraMethid__init_abramethid(val* self, val* p0, val* p1) { +val* var_n_obra /* var n_obra: nullable TObra */; +val* var_n_cbra /* var n_cbra: nullable TCbra */; +var_n_obra = p0; +var_n_cbra = p1; +if (unlikely(var_n_obra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1731); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ABraMethid___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", 1732); +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 (var_n_kwreadable == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3097); +} +if (unlikely(var_n_cbra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1733); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AReadAble___n_kwreadable].val = var_n_kwreadable; /* _n_kwreadable on */ -if (var_n_kwreadable == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3098); +self->attrs[COLOR_parser_nodes__ABraMethid___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", 1734); show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwreadable->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwreadable, 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); +} +var_n_cbra->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; +} } RET_LABEL:; } -/* method parser_prod#AReadAble#init_areadable for (self: Object, nullable TKwredef, nullable TKwreadable) */ -void VIRTUAL_parser_prod__AReadAble__init_areadable(val* self, val* p0, val* p1) { -parser_prod__AReadAble__init_areadable(self, p0, p1); +/* method parser_prod#ABraMethid#init_abramethid for (self: Object, nullable TObra, nullable TCbra) */ +void VIRTUAL_parser_prod__ABraMethid__init_abramethid(val* self, val* p0, val* p1) { +parser_prod__ABraMethid__init_abramethid(self, p0, p1); /* Direct call parser_prod#ABraMethid#init_abramethid on */ RET_LABEL:; } -/* method parser_prod#AReadAble#replace_child for (self: AReadAble, ANode, nullable ANode) */ -void parser_prod__AReadAble__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ABraMethid#replace_child for (self: ABraMethid, ANode, nullable ANode) */ +void parser_prod__ABraMethid__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 TKwredef */; +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 /* : null */; -val* var6 /* : TKwreadable */; -short int var7 /* : Bool */; -val* var8 /* : null */; +const char* var_class_name; +val* var8 /* : TCbra */; short int var9 /* : Bool */; short int var10 /* : Bool */; -int cltype11; -int idtype12; +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__AAble___n_kwredef].val; /* _n_kwredef on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} else { -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; +var = self->attrs[COLOR_parser_nodes__ABraMethid___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", 1739); +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){ -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 TKwredef */ -cltype = type_parser_nodes__TKwredef.color; -idtype = type_parser_nodes__TKwredef.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3106); +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", 1740); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val = var_new_child; /* _n_kwredef on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val = var5; /* _n_kwredef on */ +{ +parser_prod__ABraMethid__n_obra_61d(self, var_new_child); /* Direct call parser_prod#ABraMethid#n_obra= on */ } goto RET_LABEL; } else { } -var6 = self->attrs[COLOR_parser_nodes__AReadAble___n_kwreadable].val; /* _n_kwreadable on */ -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwreadable"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3113); +var8 = self->attrs[COLOR_parser_nodes__ABraMethid___n_cbra].val; /* _n_cbra on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_cbra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1743); show_backtrace(1); } -var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on */; -if (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 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; +} +} +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; } if (var9){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwreadable */ -cltype11 = type_parser_nodes__TKwreadable.color; -idtype12 = type_parser_nodes__TKwreadable.id; -if(cltype11 >= var_new_child->type->table_size) { -var10 = 0; +/* isa TCbra */ +cltype16 = type_parser_nodes__TCbra.color; +idtype17 = type_parser_nodes__TCbra.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var10 = var_new_child->type->type_table[cltype11] == idtype12; +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -if (!var10) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3116); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AReadAble___n_kwreadable].val = var_new_child; /* _n_kwreadable on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3119); +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`", "TCbra", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1744); show_backtrace(1); } +{ +parser_prod__ABraMethid__n_cbra_61d(self, var_new_child); /* Direct call parser_prod#ABraMethid#n_cbra= on */ +} goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AReadAble#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AReadAble__replace_child(val* self, val* p0, val* p1) { -parser_prod__AReadAble__replace_child(self, p0, p1); +/* method parser_prod#ABraMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ABraMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__ABraMethid__replace_child(self, p0, p1); /* Direct call parser_prod#ABraMethid#replace_child on */ RET_LABEL:; } -/* method parser_prod#AReadAble#n_kwredef= for (self: AReadAble, nullable TKwredef) */ -void parser_prod__AReadAble__n_kwredef_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwredef */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#ABraMethid#n_obra= for (self: ABraMethid, TObra) */ +void parser_prod__ABraMethid__n_obra_61d(val* self, val* p0) { +val* var_node /* var node: TObra */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val = var_node; /* _n_kwredef 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__ABraMethid___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 (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#AReadAble#n_kwredef= for (self: Object, nullable TKwredef) */ -void VIRTUAL_parser_prod__AReadAble__n_kwredef_61d(val* self, val* p0) { -parser_prod__AReadAble__n_kwredef_61d(self, p0); +/* method parser_prod#ABraMethid#n_obra= for (self: Object, TObra) */ +void VIRTUAL_parser_prod__ABraMethid__n_obra_61d(val* self, val* p0) { +parser_prod__ABraMethid__n_obra_61d(self, p0); /* Direct call parser_prod#ABraMethid#n_obra= on */ RET_LABEL:; } -/* method parser_prod#AReadAble#n_kwreadable= for (self: AReadAble, TKwreadable) */ -void parser_prod__AReadAble__n_kwreadable_61d(val* self, val* p0) { -val* var_node /* var node: TKwreadable */; +/* method parser_prod#ABraMethid#n_cbra= for (self: ABraMethid, TCbra) */ +void parser_prod__ABraMethid__n_cbra_61d(val* self, val* p0) { +val* var_node /* var node: TCbra */; var_node = p0; -self->attrs[COLOR_parser_nodes__AReadAble___n_kwreadable].val = var_node; /* _n_kwreadable on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ABraMethid___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#AReadAble#n_kwreadable= for (self: Object, TKwreadable) */ -void VIRTUAL_parser_prod__AReadAble__n_kwreadable_61d(val* self, val* p0) { -parser_prod__AReadAble__n_kwreadable_61d(self, p0); +/* method parser_prod#ABraMethid#n_cbra= for (self: Object, TCbra) */ +void VIRTUAL_parser_prod__ABraMethid__n_cbra_61d(val* self, val* p0) { +parser_prod__ABraMethid__n_cbra_61d(self, p0); /* Direct call parser_prod#ABraMethid#n_cbra= on */ RET_LABEL:; } -/* method parser_prod#AReadAble#visit_all for (self: AReadAble, Visitor) */ -void parser_prod__AReadAble__visit_all(val* self, val* p0) { +/* method parser_prod#ABraMethid#visit_all for (self: ABraMethid, Visitor) */ +void parser_prod__ABraMethid__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : nullable TKwredef */; -val* var1 /* : null */; -short int var2 /* : Bool */; -val* var3 /* : nullable TKwredef */; -val* var4 /* : TKwreadable */; +val* var /* : TObra */; +val* var1 /* : TCbra */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val; /* _n_kwredef on */ -var1 = NULL; -if (var == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ -} -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val; /* _n_kwredef on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3142); +var = self->attrs[COLOR_parser_nodes__ABraMethid___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", 1763); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var4 = self->attrs[COLOR_parser_nodes__AReadAble___n_kwreadable].val; /* _n_kwreadable on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwreadable"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3144); +var1 = self->attrs[COLOR_parser_nodes__ABraMethid___n_cbra].val; /* _n_cbra on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_cbra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1764); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; -RET_LABEL:; -} -/* method parser_prod#AReadAble#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AReadAble__visit_all(val* self, val* p0) { -parser_prod__AReadAble__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#AWriteAble#empty_init for (self: AWriteAble) */ -void parser_prod__AWriteAble__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AWriteAble#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AWriteAble__empty_init(val* self) { -parser_prod__AWriteAble__empty_init(self); +/* method parser_prod#ABraMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ABraMethid__visit_all(val* self, val* p0) { +parser_prod__ABraMethid__visit_all(self, p0); /* Direct call parser_prod#ABraMethid#visit_all on */ RET_LABEL:; } -/* method parser_prod#AWriteAble#init_awriteable for (self: AWriteAble, nullable TKwredef, nullable AVisibility, nullable TKwwritable) */ -void parser_prod__AWriteAble__init_awriteable(val* self, val* p0, val* p1, val* p2) { -val* var_n_kwredef /* var n_kwredef: nullable TKwredef */; -val* var_n_visibility /* var n_visibility: nullable AVisibility */; -val* var_n_kwwritable /* var n_kwwritable: nullable TKwwritable */; -val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -var_n_kwredef = p0; -var_n_visibility = p1; -var_n_kwwritable = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AWriteAble__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ -var = NULL; -if (var_n_kwredef == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (var1){ -((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on */; -} else { -} -self->attrs[COLOR_parser_nodes__AAble___n_visibility].val = var_n_visibility; /* _n_visibility on */ -var2 = NULL; -if (var_n_visibility == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; -} else { -} -if (var_n_kwwritable == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3165); +/* method parser_prod#AStarshipMethid#init_astarshipmethid for (self: AStarshipMethid, nullable TStarship) */ +void parser_prod__AStarshipMethid__init_astarshipmethid(val* self, val* p0) { +val* var_n_starship /* var n_starship: nullable TStarship */; +var_n_starship = p0; +if (unlikely(var_n_starship == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1772); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AWriteAble___n_kwwritable].val = var_n_kwwritable; /* _n_kwwritable on */ -if (var_n_kwwritable == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3166); +self->attrs[COLOR_parser_nodes__AStarshipMethid___n_starship].val = var_n_starship; /* _n_starship on */ +if (var_n_starship == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1773); show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwwritable->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwwritable, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_starship,self) on */ +if (unlikely(var_n_starship == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_starship->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } -/* method parser_prod#AWriteAble#init_awriteable for (self: Object, nullable TKwredef, nullable AVisibility, nullable TKwwritable) */ -void VIRTUAL_parser_prod__AWriteAble__init_awriteable(val* self, val* p0, val* p1, val* p2) { -parser_prod__AWriteAble__init_awriteable(self, p0, p1, p2); +/* method parser_prod#AStarshipMethid#init_astarshipmethid for (self: Object, nullable TStarship) */ +void VIRTUAL_parser_prod__AStarshipMethid__init_astarshipmethid(val* self, val* p0) { +parser_prod__AStarshipMethid__init_astarshipmethid(self, p0); /* Direct call parser_prod#AStarshipMethid#init_astarshipmethid on */ RET_LABEL:; } -/* method parser_prod#AWriteAble#replace_child for (self: AWriteAble, ANode, nullable ANode) */ -void parser_prod__AWriteAble__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AStarshipMethid#replace_child for (self: AStarshipMethid, ANode, nullable ANode) */ +void parser_prod__AStarshipMethid__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 TKwredef */; +val* var /* : TStarship */; 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 /* : null */; -val* var6 /* : nullable AVisibility */; -short int var7 /* : Bool */; -val* var8 /* : null */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; -val* var14 /* : TKwwritable */; -short int var15 /* : Bool */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; +const char* var_class_name; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val; /* _n_kwredef on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} 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 */ -} 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 TKwredef */ -cltype = type_parser_nodes__TKwredef.color; -idtype = type_parser_nodes__TKwredef.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3174); +var = self->attrs[COLOR_parser_nodes__AStarshipMethid___n_starship].val; /* _n_starship on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_starship"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1778); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val = var_new_child; /* _n_kwredef on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val = var5; /* _n_kwredef on */ -} -goto RET_LABEL; -} else { -} -var6 = self->attrs[COLOR_parser_nodes__AAble___n_visibility].val; /* _n_visibility on */ -if (var6 == NULL) { -var7 = 0; /* cannot be null */ -} else { -var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on */; -} -if (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 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 (var9){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AVisibility */ -cltype11 = type_parser_nodes__AVisibility.color; -idtype12 = type_parser_nodes__AVisibility.id; -if(cltype11 >= var_new_child->type->table_size) { -var10 = 0; -} else { -var10 = var_new_child->type->type_table[cltype11] == idtype12; } -if (!var10) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3184); -show_backtrace(1); +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AAble___n_visibility].val = var_new_child; /* _n_visibility on */ -} else { -var13 = NULL; -self->attrs[COLOR_parser_nodes__AAble___n_visibility].val = var13; /* _n_visibility on */ +var1 = var2; } -goto RET_LABEL; +if (var1){ +/* isa TStarship */ +cltype = type_parser_nodes__TStarship.color; +idtype = type_parser_nodes__TStarship.id; +if(var_new_child == NULL) { +var7 = 0; } else { -} -var14 = self->attrs[COLOR_parser_nodes__AWriteAble___n_kwwritable].val; /* _n_kwwritable on */ -if (var14 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwwritable"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3191); -show_backtrace(1); -} -var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on */; -if (var15){ -var16 = NULL; -if (var_new_child == NULL) { -var17 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var17 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var17){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwwritable */ -cltype19 = type_parser_nodes__TKwwritable.color; -idtype20 = type_parser_nodes__TKwwritable.id; -if(cltype19 >= var_new_child->type->table_size) { -var18 = 0; -} else { -var18 = var_new_child->type->type_table[cltype19] == idtype20; } -if (!var18) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3194); +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`", "TStarship", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1779); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AWriteAble___n_kwwritable].val = var_new_child; /* _n_kwwritable on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3197); -show_backtrace(1); +{ +parser_prod__AStarshipMethid__n_starship_61d(self, var_new_child); /* Direct call parser_prod#AStarshipMethid#n_starship= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AWriteAble#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AWriteAble__replace_child(val* self, val* p0, val* p1) { -parser_prod__AWriteAble__replace_child(self, p0, p1); +/* method parser_prod#AStarshipMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AStarshipMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__AStarshipMethid__replace_child(self, p0, p1); /* Direct call parser_prod#AStarshipMethid#replace_child on */ RET_LABEL:; } -/* method parser_prod#AWriteAble#n_kwredef= for (self: AWriteAble, nullable TKwredef) */ -void parser_prod__AWriteAble__n_kwredef_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwredef */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#AStarshipMethid#n_starship= for (self: AStarshipMethid, TStarship) */ +void parser_prod__AStarshipMethid__n_starship_61d(val* self, val* p0) { +val* var_node /* var node: TStarship */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val = var_node; /* _n_kwredef 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__AStarshipMethid___n_starship].val = var_node; /* _n_starship 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#AWriteAble#n_kwredef= for (self: Object, nullable TKwredef) */ -void VIRTUAL_parser_prod__AWriteAble__n_kwredef_61d(val* self, val* p0) { -parser_prod__AWriteAble__n_kwredef_61d(self, p0); +/* method parser_prod#AStarshipMethid#n_starship= for (self: Object, TStarship) */ +void VIRTUAL_parser_prod__AStarshipMethid__n_starship_61d(val* self, val* p0) { +parser_prod__AStarshipMethid__n_starship_61d(self, p0); /* Direct call parser_prod#AStarshipMethid#n_starship= on */ RET_LABEL:; } -/* method parser_prod#AWriteAble#n_visibility= for (self: AWriteAble, nullable AVisibility) */ -void parser_prod__AWriteAble__n_visibility_61d(val* self, val* p0) { -val* var_node /* var node: nullable AVisibility */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAble___n_visibility].val = var_node; /* _n_visibility 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:; +/* method parser_prod#AStarshipMethid#visit_all for (self: AStarshipMethid, Visitor) */ +void parser_prod__AStarshipMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TStarship */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AStarshipMethid___n_starship].val; /* _n_starship on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_starship"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1793); +show_backtrace(1); } -/* method parser_prod#AWriteAble#n_visibility= for (self: Object, nullable AVisibility) */ -void VIRTUAL_parser_prod__AWriteAble__n_visibility_61d(val* self, val* p0) { -parser_prod__AWriteAble__n_visibility_61d(self, p0); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AWriteAble#n_kwwritable= for (self: AWriteAble, TKwwritable) */ -void parser_prod__AWriteAble__n_kwwritable_61d(val* self, val* p0) { -val* var_node /* var node: TKwwritable */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AWriteAble___n_kwwritable].val = var_node; /* _n_kwwritable on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AWriteAble#n_kwwritable= for (self: Object, TKwwritable) */ -void VIRTUAL_parser_prod__AWriteAble__n_kwwritable_61d(val* self, val* p0) { -parser_prod__AWriteAble__n_kwwritable_61d(self, p0); +/* method parser_prod#AStarshipMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AStarshipMethid__visit_all(val* self, val* p0) { +parser_prod__AStarshipMethid__visit_all(self, p0); /* Direct call parser_prod#AStarshipMethid#visit_all on */ RET_LABEL:; } -/* method parser_prod#AWriteAble#visit_all for (self: AWriteAble, Visitor) */ -void parser_prod__AWriteAble__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : nullable TKwredef */; -val* var1 /* : null */; -short int var2 /* : Bool */; -val* var3 /* : nullable TKwredef */; -val* var4 /* : nullable AVisibility */; -val* var5 /* : null */; -short int var6 /* : Bool */; -val* var7 /* : nullable AVisibility */; -val* var8 /* : TKwwritable */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val; /* _n_kwredef on */ -var1 = NULL; -if (var == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ -} -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val; /* _n_kwredef on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3227); +/* method parser_prod#AAssignMethid#init_aassignmethid for (self: AAssignMethid, nullable TId, nullable TAssign) */ +void parser_prod__AAssignMethid__init_aassignmethid(val* self, val* p0, val* p1) { +val* var_n_id /* var n_id: nullable TId */; +val* var_n_assign /* var n_assign: nullable TAssign */; +var_n_id = p0; +var_n_assign = p1; +if (unlikely(var_n_id == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1802); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -} else { -} -var4 = self->attrs[COLOR_parser_nodes__AAble___n_visibility].val; /* _n_visibility 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__AAble___n_visibility].val; /* _n_visibility on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3230); +self->attrs[COLOR_parser_nodes__AAssignMethid___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", 1803); show_backtrace(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; } else { -} -var8 = self->attrs[COLOR_parser_nodes__AWriteAble___n_kwwritable].val; /* _n_kwwritable on */ -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwwritable"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3232); +{ /* 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); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on */; -RET_LABEL:; -} -/* method parser_prod#AWriteAble#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AWriteAble__visit_all(val* self, val* p0) { -parser_prod__AWriteAble__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AIdMethid#empty_init for (self: AIdMethid) */ -void parser_prod__AIdMethid__empty_init(val* self) { -RET_LABEL:; +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -/* method parser_prod#AIdMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AIdMethid__empty_init(val* self) { -parser_prod__AIdMethid__empty_init(self); -RET_LABEL:; } -/* method parser_prod#AIdMethid#init_aidmethid for (self: AIdMethid, nullable TId) */ -void parser_prod__AIdMethid__init_aidmethid(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__AIdMethid__empty_init]))(self) /* empty_init on */; -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3243); +if (unlikely(var_n_assign == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1804); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AIdMethid___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3244); +self->attrs[COLOR_parser_nodes__AAssignMethid___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", 1805); 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_assign,self) on */ +if (unlikely(var_n_assign == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_assign->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; +} } RET_LABEL:; } -/* method parser_prod#AIdMethid#init_aidmethid for (self: Object, nullable TId) */ -void VIRTUAL_parser_prod__AIdMethid__init_aidmethid(val* self, val* p0) { -parser_prod__AIdMethid__init_aidmethid(self, p0); +/* method parser_prod#AAssignMethid#init_aassignmethid for (self: Object, nullable TId, nullable TAssign) */ +void VIRTUAL_parser_prod__AAssignMethid__init_aassignmethid(val* self, val* p0, val* p1) { +parser_prod__AAssignMethid__init_aassignmethid(self, p0, p1); /* Direct call parser_prod#AAssignMethid#init_aassignmethid on */ RET_LABEL:; } -/* method parser_prod#AIdMethid#replace_child for (self: AIdMethid, ANode, nullable ANode) */ -void parser_prod__AIdMethid__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AAssignMethid#replace_child for (self: AAssignMethid, ANode, nullable ANode) */ +void parser_prod__AAssignMethid__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 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 /* : TAssign */; +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__AIdMethid___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3249); +var = self->attrs[COLOR_parser_nodes__AAssignMethid___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", 1810); 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 TId */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa TId */ cltype = type_parser_nodes__TId.color; idtype = type_parser_nodes__TId.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3252); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AIdMethid___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3255); +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", 1811); show_backtrace(1); } +{ +parser_prod__AAssignMethid__n_id_61d(self, var_new_child); /* Direct call parser_prod#AAssignMethid#n_id= on */ +} goto RET_LABEL; } else { } -RET_LABEL:; +var8 = self->attrs[COLOR_parser_nodes__AAssignMethid___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", 1814); +show_backtrace(1); } -/* method parser_prod#AIdMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AIdMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__AIdMethid__replace_child(self, p0, p1); -RET_LABEL:; +{ +{ /* 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#AIdMethid#n_id= for (self: AIdMethid, TId) */ -void parser_prod__AIdMethid__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TId */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AIdMethid___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#AIdMethid#n_id= for (self: Object, TId) */ -void VIRTUAL_parser_prod__AIdMethid__n_id_61d(val* self, val* p0) { -parser_prod__AIdMethid__n_id_61d(self, p0); -RET_LABEL:; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -/* method parser_prod#AIdMethid#visit_all for (self: AIdMethid, Visitor) */ -void parser_prod__AIdMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TId */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AIdMethid___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3270); +var9 = var10; +} +if (var9){ +/* isa TAssign */ +cltype16 = type_parser_nodes__TAssign.color; +idtype17 = type_parser_nodes__TAssign.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`", "TAssign", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1815); 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_prod__AAssignMethid__n_assign_61d(self, var_new_child); /* Direct call parser_prod#AAssignMethid#n_assign= on */ } -/* method parser_prod#AIdMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AIdMethid__visit_all(val* self, val* p0) { -parser_prod__AIdMethid__visit_all(self, p0); -RET_LABEL:; +goto RET_LABEL; +} else { } -/* method parser_prod#APlusMethid#empty_init for (self: APlusMethid) */ -void parser_prod__APlusMethid__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#APlusMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__APlusMethid__empty_init(val* self) { -parser_prod__APlusMethid__empty_init(self); +/* method parser_prod#AAssignMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AAssignMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__AAssignMethid__replace_child(self, p0, p1); /* Direct call parser_prod#AAssignMethid#replace_child on */ RET_LABEL:; } -/* method parser_prod#APlusMethid#init_aplusmethid for (self: APlusMethid, nullable TPlus) */ -void parser_prod__APlusMethid__init_aplusmethid(val* self, val* p0) { -val* var_n_plus /* var n_plus: nullable TPlus */; -var_n_plus = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__APlusMethid__empty_init]))(self) /* empty_init on */; -if (var_n_plus == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3281); -show_backtrace(1); +/* method parser_prod#AAssignMethid#n_id= for (self: AAssignMethid, TId) */ +void parser_prod__AAssignMethid__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TId */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AAssignMethid___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; } -self->attrs[COLOR_parser_nodes__APlusMethid___n_plus].val = var_n_plus; /* _n_plus on */ -if (var_n_plus == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3282); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_plus->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_plus, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#APlusMethid#init_aplusmethid for (self: Object, nullable TPlus) */ -void VIRTUAL_parser_prod__APlusMethid__init_aplusmethid(val* self, val* p0) { -parser_prod__APlusMethid__init_aplusmethid(self, p0); +/* method parser_prod#AAssignMethid#n_id= for (self: Object, TId) */ +void VIRTUAL_parser_prod__AAssignMethid__n_id_61d(val* self, val* p0) { +parser_prod__AAssignMethid__n_id_61d(self, p0); /* Direct call parser_prod#AAssignMethid#n_id= on */ RET_LABEL:; } -/* method parser_prod#APlusMethid#replace_child for (self: APlusMethid, ANode, nullable ANode) */ -void parser_prod__APlusMethid__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 /* : TPlus */; -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__APlusMethid___n_plus].val; /* _n_plus on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_plus"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3287); -show_backtrace(1); +/* method parser_prod#AAssignMethid#n_assign= for (self: AAssignMethid, TAssign) */ +void parser_prod__AAssignMethid__n_assign_61d(val* self, val* p0) { +val* var_node /* var node: TAssign */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AAssignMethid___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; } -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 TPlus */ -cltype = type_parser_nodes__TPlus.color; -idtype = type_parser_nodes__TPlus.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; +RET_LABEL:; } -if (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3290); -show_backtrace(1); +/* method parser_prod#AAssignMethid#n_assign= for (self: Object, TAssign) */ +void VIRTUAL_parser_prod__AAssignMethid__n_assign_61d(val* self, val* p0) { +parser_prod__AAssignMethid__n_assign_61d(self, p0); /* Direct call parser_prod#AAssignMethid#n_assign= on */ +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__APlusMethid___n_plus].val = var_new_child; /* _n_plus on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3293); +/* method parser_prod#AAssignMethid#visit_all for (self: AAssignMethid, Visitor) */ +void parser_prod__AAssignMethid__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TId */; +val* var1 /* : TAssign */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AAssignMethid___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", 1834); show_backtrace(1); } -goto RET_LABEL; -} 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__AAssignMethid___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", 1835); +show_backtrace(1); } -/* method parser_prod#APlusMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__APlusMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__APlusMethid__replace_child(self, p0, p1); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#APlusMethid#n_plus= for (self: APlusMethid, TPlus) */ -void parser_prod__APlusMethid__n_plus_61d(val* self, val* p0) { -val* var_node /* var node: TPlus */; -var_node = p0; -self->attrs[COLOR_parser_nodes__APlusMethid___n_plus].val = var_node; /* _n_plus on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#APlusMethid#n_plus= for (self: Object, TPlus) */ -void VIRTUAL_parser_prod__APlusMethid__n_plus_61d(val* self, val* p0) { -parser_prod__APlusMethid__n_plus_61d(self, p0); +/* method parser_prod#AAssignMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AAssignMethid__visit_all(val* self, val* p0) { +parser_prod__AAssignMethid__visit_all(self, p0); /* Direct call parser_prod#AAssignMethid#visit_all on */ RET_LABEL:; } -/* method parser_prod#APlusMethid#visit_all for (self: APlusMethid, Visitor) */ -void parser_prod__APlusMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TPlus */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__APlusMethid___n_plus].val; /* _n_plus on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_plus"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3308); +/* method parser_prod#ABraassignMethid#init_abraassignmethid for (self: ABraassignMethid, nullable TObra, nullable TCbra, nullable TAssign) */ +void parser_prod__ABraassignMethid__init_abraassignmethid(val* self, val* p0, val* p1, val* p2) { +val* var_n_obra /* var n_obra: nullable TObra */; +val* var_n_cbra /* var n_cbra: nullable TCbra */; +val* var_n_assign /* var n_assign: nullable TAssign */; +var_n_obra = p0; +var_n_cbra = p1; +var_n_assign = p2; +if (unlikely(var_n_obra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1845); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; +self->attrs[COLOR_parser_nodes__ABraassignMethid___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", 1846); +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); } -/* method parser_prod#APlusMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__APlusMethid__visit_all(val* self, val* p0) { -parser_prod__APlusMethid__visit_all(self, p0); -RET_LABEL:; +var_n_obra->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -/* method parser_prod#AMinusMethid#empty_init for (self: AMinusMethid) */ -void parser_prod__AMinusMethid__empty_init(val* self) { -RET_LABEL:; } -/* method parser_prod#AMinusMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AMinusMethid__empty_init(val* self) { -parser_prod__AMinusMethid__empty_init(self); -RET_LABEL:; +if (unlikely(var_n_cbra == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1847); +show_backtrace(1); } -/* method parser_prod#AMinusMethid#init_aminusmethid for (self: AMinusMethid, nullable TMinus) */ -void parser_prod__AMinusMethid__init_aminusmethid(val* self, val* p0) { -val* var_n_minus /* var n_minus: nullable TMinus */; -var_n_minus = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMinusMethid__empty_init]))(self) /* empty_init on */; -if (var_n_minus == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3319); +self->attrs[COLOR_parser_nodes__ABraassignMethid___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", 1848); +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); } -self->attrs[COLOR_parser_nodes__AMinusMethid___n_minus].val = var_n_minus; /* _n_minus on */ -if (var_n_minus == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3320); +var_n_cbra->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; +} +} +if (unlikely(var_n_assign == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1849); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ABraassignMethid___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", 1850); show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_minus->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_minus, 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); +} +var_n_assign->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; +} } RET_LABEL:; } -/* method parser_prod#AMinusMethid#init_aminusmethid for (self: Object, nullable TMinus) */ -void VIRTUAL_parser_prod__AMinusMethid__init_aminusmethid(val* self, val* p0) { -parser_prod__AMinusMethid__init_aminusmethid(self, p0); +/* method parser_prod#ABraassignMethid#init_abraassignmethid for (self: Object, nullable TObra, nullable TCbra, nullable TAssign) */ +void VIRTUAL_parser_prod__ABraassignMethid__init_abraassignmethid(val* self, val* p0, val* p1, val* p2) { +parser_prod__ABraassignMethid__init_abraassignmethid(self, p0, p1, p2); /* Direct call parser_prod#ABraassignMethid#init_abraassignmethid on */ RET_LABEL:; } -/* method parser_prod#AMinusMethid#replace_child for (self: AMinusMethid, ANode, nullable ANode) */ -void parser_prod__AMinusMethid__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ABraassignMethid#replace_child for (self: ABraassignMethid, ANode, nullable ANode) */ +void parser_prod__ABraassignMethid__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TMinus */; +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; +const char* var_class_name; +val* var8 /* : TCbra */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : TAssign */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AMinusMethid___n_minus].val; /* _n_minus on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_minus"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3325); +var = self->attrs[COLOR_parser_nodes__ABraassignMethid___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", 1855); show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +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){ -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 TMinus */ -cltype = type_parser_nodes__TMinus.color; -idtype = type_parser_nodes__TMinus.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3328); +} +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", 1856); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMinusMethid___n_minus].val = var_new_child; /* _n_minus on */ +{ +parser_prod__ABraassignMethid__n_obra_61d(self, var_new_child); /* Direct call parser_prod#ABraassignMethid#n_obra= on */ +} +goto RET_LABEL; } else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3331); +} +var8 = self->attrs[COLOR_parser_nodes__ABraassignMethid___n_cbra].val; /* _n_cbra on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_cbra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1859); show_backtrace(1); } -goto RET_LABEL; +{ +{ /* 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 TCbra */ +cltype16 = type_parser_nodes__TCbra.color; +idtype17 = type_parser_nodes__TCbra.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -RET_LABEL:; } -/* method parser_prod#AMinusMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AMinusMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__AMinusMethid__replace_child(self, p0, p1); -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`", "TCbra", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1860); +show_backtrace(1); } -/* method parser_prod#AMinusMethid#n_minus= for (self: AMinusMethid, TMinus) */ -void parser_prod__AMinusMethid__n_minus_61d(val* self, val* p0) { -val* var_node /* var node: TMinus */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMinusMethid___n_minus].val = var_node; /* _n_minus on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +{ +parser_prod__ABraassignMethid__n_cbra_61d(self, var_new_child); /* Direct call parser_prod#ABraassignMethid#n_cbra= on */ } -/* method parser_prod#AMinusMethid#n_minus= for (self: Object, TMinus) */ -void VIRTUAL_parser_prod__AMinusMethid__n_minus_61d(val* self, val* p0) { -parser_prod__AMinusMethid__n_minus_61d(self, p0); -RET_LABEL:; +goto RET_LABEL; +} else { } -/* method parser_prod#AMinusMethid#visit_all for (self: AMinusMethid, Visitor) */ -void parser_prod__AMinusMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TMinus */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AMinusMethid___n_minus].val; /* _n_minus on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_minus"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3346); +var19 = self->attrs[COLOR_parser_nodes__ABraassignMethid___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", 1863); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -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#AMinusMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AMinusMethid__visit_all(val* self, val* p0) { -parser_prod__AMinusMethid__visit_all(self, p0); -RET_LABEL:; } -/* method parser_prod#AStarMethid#empty_init for (self: AStarMethid) */ -void parser_prod__AStarMethid__empty_init(val* self) { -RET_LABEL:; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -/* method parser_prod#AStarMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AStarMethid__empty_init(val* self) { -parser_prod__AStarMethid__empty_init(self); -RET_LABEL:; +var20 = var21; } -/* method parser_prod#AStarMethid#init_astarmethid for (self: AStarMethid, nullable TStar) */ -void parser_prod__AStarMethid__init_astarmethid(val* self, val* p0) { -val* var_n_star /* var n_star: nullable TStar */; -var_n_star = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStarMethid__empty_init]))(self) /* empty_init on */; -if (var_n_star == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3357); -show_backtrace(1); +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 { +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -self->attrs[COLOR_parser_nodes__AStarMethid___n_star].val = var_n_star; /* _n_star on */ -if (var_n_star == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3358); +} +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", 1864); show_backtrace(1); +} +{ +parser_prod__ABraassignMethid__n_assign_61d(self, var_new_child); /* Direct call parser_prod#ABraassignMethid#n_assign= on */ +} +goto RET_LABEL; } else { -((void (*)(val*, val*))(var_n_star->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_star, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AStarMethid#init_astarmethid for (self: Object, nullable TStar) */ -void VIRTUAL_parser_prod__AStarMethid__init_astarmethid(val* self, val* p0) { -parser_prod__AStarMethid__init_astarmethid(self, p0); +/* method parser_prod#ABraassignMethid#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ABraassignMethid__replace_child(val* self, val* p0, val* p1) { +parser_prod__ABraassignMethid__replace_child(self, p0, p1); /* Direct call parser_prod#ABraassignMethid#replace_child on */ RET_LABEL:; } -/* method parser_prod#AStarMethid#replace_child for (self: AStarMethid, ANode, nullable ANode) */ -void parser_prod__AStarMethid__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 /* : TStar */; -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__AStarMethid___n_star].val; /* _n_star on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_star"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3363); -show_backtrace(1); +/* method parser_prod#ABraassignMethid#n_obra= for (self: ABraassignMethid, TObra) */ +void parser_prod__ABraassignMethid__n_obra_61d(val* self, val* p0) { +val* var_node /* var node: TObra */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ABraassignMethid___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; } -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 TStar */ -cltype = type_parser_nodes__TStar.color; -idtype = type_parser_nodes__TStar.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; +RET_LABEL:; } -if (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3366); -show_backtrace(1); +/* method parser_prod#ABraassignMethid#n_obra= for (self: Object, TObra) */ +void VIRTUAL_parser_prod__ABraassignMethid__n_obra_61d(val* self, val* p0) { +parser_prod__ABraassignMethid__n_obra_61d(self, p0); /* Direct call parser_prod#ABraassignMethid#n_obra= on */ +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__AStarMethid___n_star].val = var_new_child; /* _n_star on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3369); -show_backtrace(1); +/* method parser_prod#ABraassignMethid#n_cbra= for (self: ABraassignMethid, TCbra) */ +void parser_prod__ABraassignMethid__n_cbra_61d(val* self, val* p0) { +val* var_node /* var node: TCbra */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ABraassignMethid___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; } -goto RET_LABEL; -} else { } RET_LABEL:; } -/* method parser_prod#AStarMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AStarMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__AStarMethid__replace_child(self, p0, p1); +/* method parser_prod#ABraassignMethid#n_cbra= for (self: Object, TCbra) */ +void VIRTUAL_parser_prod__ABraassignMethid__n_cbra_61d(val* self, val* p0) { +parser_prod__ABraassignMethid__n_cbra_61d(self, p0); /* Direct call parser_prod#ABraassignMethid#n_cbra= on */ RET_LABEL:; } -/* method parser_prod#AStarMethid#n_star= for (self: AStarMethid, TStar) */ -void parser_prod__AStarMethid__n_star_61d(val* self, val* p0) { -val* var_node /* var node: TStar */; +/* method parser_prod#ABraassignMethid#n_assign= for (self: ABraassignMethid, TAssign) */ +void parser_prod__ABraassignMethid__n_assign_61d(val* self, val* p0) { +val* var_node /* var node: TAssign */; var_node = p0; -self->attrs[COLOR_parser_nodes__AStarMethid___n_star].val = var_node; /* _n_star on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ABraassignMethid___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#AStarMethid#n_star= for (self: Object, TStar) */ -void VIRTUAL_parser_prod__AStarMethid__n_star_61d(val* self, val* p0) { -parser_prod__AStarMethid__n_star_61d(self, p0); +/* method parser_prod#ABraassignMethid#n_assign= for (self: Object, TAssign) */ +void VIRTUAL_parser_prod__ABraassignMethid__n_assign_61d(val* self, val* p0) { +parser_prod__ABraassignMethid__n_assign_61d(self, p0); /* Direct call parser_prod#ABraassignMethid#n_assign= on */ RET_LABEL:; } -/* method parser_prod#AStarMethid#visit_all for (self: AStarMethid, Visitor) */ -void parser_prod__AStarMethid__visit_all(val* self, val* p0) { +/* method parser_prod#ABraassignMethid#visit_all for (self: ABraassignMethid, Visitor) */ +void parser_prod__ABraassignMethid__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TStar */; +val* var /* : TObra */; +val* var1 /* : TCbra */; +val* var2 /* : TAssign */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AStarMethid___n_star].val; /* _n_star on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_star"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3384); +var = self->attrs[COLOR_parser_nodes__ABraassignMethid___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", 1888); show_backtrace(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#AStarMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AStarMethid__visit_all(val* self, val* p0) { -parser_prod__AStarMethid__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#ASlashMethid#empty_init for (self: ASlashMethid) */ -void parser_prod__ASlashMethid__empty_init(val* self) { -RET_LABEL:; +var1 = self->attrs[COLOR_parser_nodes__ABraassignMethid___n_cbra].val; /* _n_cbra on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_cbra"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1889); +show_backtrace(1); } -/* method parser_prod#ASlashMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ASlashMethid__empty_init(val* self) { -parser_prod__ASlashMethid__empty_init(self); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ASlashMethid#init_aslashmethid for (self: ASlashMethid, nullable TSlash) */ -void parser_prod__ASlashMethid__init_aslashmethid(val* self, val* p0) { -val* var_n_slash /* var n_slash: nullable TSlash */; -var_n_slash = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASlashMethid__empty_init]))(self) /* empty_init on */; -if (var_n_slash == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3395); +var2 = self->attrs[COLOR_parser_nodes__ABraassignMethid___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", 1890); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ASlashMethid___n_slash].val = var_n_slash; /* _n_slash on */ -if (var_n_slash == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3396); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_slash->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_slash, self) /* parent= on */; +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#ASlashMethid#init_aslashmethid for (self: Object, nullable TSlash) */ -void VIRTUAL_parser_prod__ASlashMethid__init_aslashmethid(val* self, val* p0) { -parser_prod__ASlashMethid__init_aslashmethid(self, p0); +/* method parser_prod#ABraassignMethid#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ABraassignMethid__visit_all(val* self, val* p0) { +parser_prod__ABraassignMethid__visit_all(self, p0); /* Direct call parser_prod#ABraassignMethid#visit_all on */ RET_LABEL:; } -/* method parser_prod#ASlashMethid#replace_child for (self: ASlashMethid, ANode, nullable ANode) */ -void parser_prod__ASlashMethid__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 /* : TSlash */; +/* method parser_prod#ASignature#init_asignature for (self: ASignature, nullable TOpar, Collection[Object], nullable TCpar, nullable AType) */ +void parser_prod__ASignature__init_asignature(val* self, val* p0, val* p1, val* p2, val* p3) { +val* var_n_opar /* var n_opar: nullable TOpar */; +val* var_n_params /* var n_params: Collection[Object] */; +val* var_n_cpar /* var n_cpar: nullable TCpar */; +val* var_n_type /* var n_type: 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; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ASlashMethid___n_slash].val; /* _n_slash on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_slash"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3401); -show_backtrace(1); +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var8 /* : ANodes[AParam] */; +val* var10 /* : ANodes[AParam] */; +val* var11 /* : null */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +val* var19 /* : null */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var24 /* : Bool */; +short int var25 /* : Bool */; +var_n_opar = p0; +var_n_params = p1; +var_n_cpar = p2; +var_n_type = p3; +self->attrs[COLOR_parser_nodes__ASignature___n_opar].val = var_n_opar; /* _n_opar on */ +var = NULL; +if (var_n_opar == NULL) { +var1 = 0; /* is null */ +} else { +var1 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_opar,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_opar->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_opar, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +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 */ -} else { -var3 = 1; /* arg is null and recv is not */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_opar,self) on */ +var_n_opar->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(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 TSlash */ -cltype = type_parser_nodes__TSlash.color; -idtype = type_parser_nodes__TSlash.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3404); +{ +{ /* Inline parser_nodes#ASignature#n_params (self) on */ +var10 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var10 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ASlashMethid___n_slash].val = var_new_child; /* _n_slash on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3407); -show_backtrace(1); +var8 = var10; +RET_LABEL9:(void)0; } -goto RET_LABEL; +} +{ +parser_nodes__ANodes__unsafe_add_all(var8, var_n_params); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ +} +self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val = var_n_cpar; /* _n_cpar on */ +var11 = NULL; +if (var_n_cpar == NULL) { +var12 = 0; /* is null */ } else { +var12 = 1; /* arg is null and recv is not */ } -RET_LABEL:; +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; } -/* method parser_prod#ASlashMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ASlashMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__ASlashMethid__replace_child(self, p0, p1); -RET_LABEL:; +var17 = !var15; +var13 = var17; +goto RET_LABEL14; +RET_LABEL14:(void)0; } -/* method parser_prod#ASlashMethid#n_slash= for (self: ASlashMethid, TSlash) */ -void parser_prod__ASlashMethid__n_slash_61d(val* self, val* p0) { -val* var_node /* var node: TSlash */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ASlashMethid___n_slash].val = var_node; /* _n_slash on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +var12 = var13; } -/* method parser_prod#ASlashMethid#n_slash= for (self: Object, TSlash) */ -void VIRTUAL_parser_prod__ASlashMethid__n_slash_61d(val* self, val* p0) { -parser_prod__ASlashMethid__n_slash_61d(self, p0); -RET_LABEL:; +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; } -/* method parser_prod#ASlashMethid#visit_all for (self: ASlashMethid, Visitor) */ -void parser_prod__ASlashMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TSlash */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ASlashMethid___n_slash].val; /* _n_slash on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_slash"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3422); -show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; +} else { } -/* method parser_prod#ASlashMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ASlashMethid__visit_all(val* self, val* p0) { -parser_prod__ASlashMethid__visit_all(self, p0); -RET_LABEL:; +self->attrs[COLOR_parser_nodes__ASignature___n_type].val = var_n_type; /* _n_type on */ +var19 = NULL; +if (var_n_type == NULL) { +var20 = 0; /* is null */ +} else { +var20 = 1; /* arg is null and recv is not */ } -/* method parser_prod#APercentMethid#empty_init for (self: APercentMethid) */ -void parser_prod__APercentMethid__empty_init(val* self) { -RET_LABEL:; +if (0) { +{ /* Inline kernel#Object#!= (var_n_type,var19) on */ +var_other = var19; +{ +var24 = ((short int (*)(val*, val*))(var_n_type->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_type, var_other) /* == on */; +var23 = var24; } -/* method parser_prod#APercentMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__APercentMethid__empty_init(val* self) { -parser_prod__APercentMethid__empty_init(self); -RET_LABEL:; +var25 = !var23; +var21 = var25; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +if (var20){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_type,self) on */ +var_n_type->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL26:(void)0; } -/* method parser_prod#APercentMethid#init_apercentmethid for (self: APercentMethid, nullable TPercent) */ -void parser_prod__APercentMethid__init_apercentmethid(val* self, val* p0) { -val* var_n_percent /* var n_percent: nullable TPercent */; -var_n_percent = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__APercentMethid__empty_init]))(self) /* empty_init on */; -if (var_n_percent == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3433); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__APercentMethid___n_percent].val = var_n_percent; /* _n_percent on */ -if (var_n_percent == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3434); -show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_percent->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_percent, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#APercentMethid#init_apercentmethid for (self: Object, nullable TPercent) */ -void VIRTUAL_parser_prod__APercentMethid__init_apercentmethid(val* self, val* p0) { -parser_prod__APercentMethid__init_apercentmethid(self, p0); +/* method parser_prod#ASignature#init_asignature for (self: Object, nullable TOpar, Collection[Object], nullable TCpar, nullable AType) */ +void VIRTUAL_parser_prod__ASignature__init_asignature(val* self, val* p0, val* p1, val* p2, val* p3) { +parser_prod__ASignature__init_asignature(self, p0, p1, p2, p3); /* Direct call parser_prod#ASignature#init_asignature on */ RET_LABEL:; } -/* method parser_prod#APercentMethid#replace_child for (self: APercentMethid, ANode, nullable ANode) */ -void parser_prod__APercentMethid__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ASignature#replace_child for (self: ASignature, ANode, nullable ANode) */ +void parser_prod__ASignature__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 /* : TPercent */; +val* var /* : nullable 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; +const char* var_class_name; +val* var8 /* : ANodes[AParam] */; +val* var10 /* : ANodes[AParam] */; +short int var11 /* : Bool */; +val* var12 /* : nullable TCpar */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +const char* var_class_name22; +val* var23 /* : nullable AType */; +short int var24 /* : Bool */; +short int var25 /* : Bool */; +short int var27 /* : Bool */; +short int var29 /* : Bool */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +const char* var_class_name33; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__APercentMethid___n_percent].val; /* _n_percent on */ +var = self->attrs[COLOR_parser_nodes__ASignature___n_opar].val; /* _n_opar on */ if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_percent"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3439); -show_backtrace(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 nullable TOpar */ +cltype = type_nullable_parser_nodes__TOpar.color; +idtype = type_nullable_parser_nodes__TOpar.id; +if(var_new_child == NULL) { +var7 = 1; } 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 TPercent */ -cltype = type_parser_nodes__TPercent.color; -idtype = type_parser_nodes__TPercent.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3442); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__APercentMethid___n_percent].val = var_new_child; /* _n_percent on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3445); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TOpar", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1913); show_backtrace(1); } +{ +parser_prod__ASignature__n_opar_61d(self, var_new_child); /* Direct call parser_prod#ASignature#n_opar= on */ +} goto RET_LABEL; } else { } -RET_LABEL:; +{ +{ /* Inline parser_nodes#ASignature#n_params (self) on */ +var10 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var10 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279); +show_backtrace(1); } -/* method parser_prod#APercentMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__APercentMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__APercentMethid__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#APercentMethid#n_percent= for (self: APercentMethid, TPercent) */ -void parser_prod__APercentMethid__n_percent_61d(val* self, val* p0) { -val* var_node /* var node: TPercent */; -var_node = p0; -self->attrs[COLOR_parser_nodes__APercentMethid___n_percent].val = var_node; /* _n_percent on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +var8 = var10; +RET_LABEL9:(void)0; } -/* method parser_prod#APercentMethid#n_percent= for (self: Object, TPercent) */ -void VIRTUAL_parser_prod__APercentMethid__n_percent_61d(val* self, val* p0) { -parser_prod__APercentMethid__n_percent_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#APercentMethid#visit_all for (self: APercentMethid, Visitor) */ -void parser_prod__APercentMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TPercent */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__APercentMethid___n_percent].val; /* _n_percent on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_percent"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3460); -show_backtrace(1); +{ +var11 = parser_nodes__ANodes__replace_child(var8, var_old_child, var_new_child); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; +if (var11){ +goto RET_LABEL; +} else { } -/* method parser_prod#APercentMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__APercentMethid__visit_all(val* self, val* p0) { -parser_prod__APercentMethid__visit_all(self, p0); -RET_LABEL:; +var12 = self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val; /* _n_cpar on */ +if (var12 == NULL) { +var13 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var12,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var12,var_other) on */ +var18 = var12 == var_other; +var16 = var18; +goto RET_LABEL17; +RET_LABEL17:(void)0; } -/* method parser_prod#AEqMethid#empty_init for (self: AEqMethid) */ -void parser_prod__AEqMethid__empty_init(val* self) { -RET_LABEL:; } -/* method parser_prod#AEqMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AEqMethid__empty_init(val* self) { -parser_prod__AEqMethid__empty_init(self); -RET_LABEL:; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; } -/* method parser_prod#AEqMethid#init_aeqmethid for (self: AEqMethid, nullable TEq) */ -void parser_prod__AEqMethid__init_aeqmethid(val* self, val* p0) { -val* var_n_eq /* var n_eq: nullable TEq */; -var_n_eq = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEqMethid__empty_init]))(self) /* empty_init on */; -if (var_n_eq == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3471); -show_backtrace(1); +var13 = var14; } -self->attrs[COLOR_parser_nodes__AEqMethid___n_eq].val = var_n_eq; /* _n_eq on */ -if (var_n_eq == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3472); -show_backtrace(1); +if (var13){ +/* isa nullable TCpar */ +cltype20 = type_nullable_parser_nodes__TCpar.color; +idtype21 = type_nullable_parser_nodes__TCpar.id; +if(var_new_child == NULL) { +var19 = 1; } else { -((void (*)(val*, val*))(var_n_eq->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_eq, self) /* parent= on */; -} -RET_LABEL:; +if(cltype20 >= var_new_child->type->table_size) { +var19 = 0; +} else { +var19 = var_new_child->type->type_table[cltype20] == idtype21; } -/* method parser_prod#AEqMethid#init_aeqmethid for (self: Object, nullable TEq) */ -void VIRTUAL_parser_prod__AEqMethid__init_aeqmethid(val* self, val* p0) { -parser_prod__AEqMethid__init_aeqmethid(self, p0); -RET_LABEL:; } -/* method parser_prod#AEqMethid#replace_child for (self: AEqMethid, ANode, nullable ANode) */ -void parser_prod__AEqMethid__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 /* : TEq */; -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__AEqMethid___n_eq].val; /* _n_eq on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_eq"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3477); +if (unlikely(!var19)) { +var_class_name22 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TCpar", var_class_name22); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1918); 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 */ +{ +parser_prod__ASignature__n_cpar_61d(self, var_new_child); /* Direct call parser_prod#ASignature#n_cpar= on */ +} +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 TEq */ -cltype = type_parser_nodes__TEq.color; -idtype = type_parser_nodes__TEq.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var23 = self->attrs[COLOR_parser_nodes__ASignature___n_type].val; /* _n_type on */ +if (var23 == NULL) { +var24 = 0; /* cannot be null */ } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +{ /* Inline kernel#Object#== (var23,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var23,var_other) on */ +var29 = var23 == var_other; +var27 = var29; +goto RET_LABEL28; +RET_LABEL28:(void)0; } -if (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3480); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AEqMethid___n_eq].val = var_new_child; /* _n_eq on */ +var25 = var27; +goto RET_LABEL26; +RET_LABEL26:(void)0; +} +var24 = var25; +} +if (var24){ +/* isa nullable AType */ +cltype31 = type_nullable_parser_nodes__AType.color; +idtype32 = type_nullable_parser_nodes__AType.id; +if(var_new_child == NULL) { +var30 = 1; +} else { +if(cltype31 >= var_new_child->type->table_size) { +var30 = 0; } else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3483); +var30 = var_new_child->type->type_table[cltype31] == idtype32; +} +} +if (unlikely(!var30)) { +var_class_name33 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AType", var_class_name33); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1922); show_backtrace(1); } +{ +parser_prod__ASignature__n_type_61d(self, var_new_child); /* Direct call parser_prod#ASignature#n_type= on */ +} goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AEqMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AEqMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__AEqMethid__replace_child(self, p0, p1); +/* method parser_prod#ASignature#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ASignature__replace_child(val* self, val* p0, val* p1) { +parser_prod__ASignature__replace_child(self, p0, p1); /* Direct call parser_prod#ASignature#replace_child on */ RET_LABEL:; } -/* method parser_prod#AEqMethid#n_eq= for (self: AEqMethid, TEq) */ -void parser_prod__AEqMethid__n_eq_61d(val* self, val* p0) { -val* var_node /* var node: TEq */; +/* method parser_prod#ASignature#n_opar= for (self: ASignature, nullable TOpar) */ +void parser_prod__ASignature__n_opar_61d(val* self, val* p0) { +val* var_node /* var node: nullable TOpar */; +val* var /* : null */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__AEqMethid___n_eq].val = var_node; /* _n_eq on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AEqMethid#n_eq= for (self: Object, TEq) */ -void VIRTUAL_parser_prod__AEqMethid__n_eq_61d(val* self, val* p0) { -parser_prod__AEqMethid__n_eq_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AEqMethid#visit_all for (self: AEqMethid, Visitor) */ -void parser_prod__AEqMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TEq */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AEqMethid___n_eq].val; /* _n_eq on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_eq"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3498); -show_backtrace(1); +self->attrs[COLOR_parser_nodes__ASignature___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 */ } -((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_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#AEqMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AEqMethid__visit_all(val* self, val* p0) { -parser_prod__AEqMethid__visit_all(self, p0); -RET_LABEL:; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#ANeMethid#empty_init for (self: ANeMethid) */ -void parser_prod__ANeMethid__empty_init(val* self) { -RET_LABEL:; +var1 = var2; } -/* method parser_prod#ANeMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ANeMethid__empty_init(val* self) { -parser_prod__ANeMethid__empty_init(self); -RET_LABEL:; +if (var1){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; } -/* method parser_prod#ANeMethid#init_anemethid for (self: ANeMethid, nullable TNe) */ -void parser_prod__ANeMethid__init_anemethid(val* self, val* p0) { -val* var_n_ne /* var n_ne: nullable TNe */; -var_n_ne = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANeMethid__empty_init]))(self) /* empty_init on */; -if (var_n_ne == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3509); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ANeMethid___n_ne].val = var_n_ne; /* _n_ne on */ -if (var_n_ne == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3510); -show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_ne->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_ne, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#ANeMethid#init_anemethid for (self: Object, nullable TNe) */ -void VIRTUAL_parser_prod__ANeMethid__init_anemethid(val* self, val* p0) { -parser_prod__ANeMethid__init_anemethid(self, p0); +/* method parser_prod#ASignature#n_opar= for (self: Object, nullable TOpar) */ +void VIRTUAL_parser_prod__ASignature__n_opar_61d(val* self, val* p0) { +parser_prod__ASignature__n_opar_61d(self, p0); /* Direct call parser_prod#ASignature#n_opar= on */ RET_LABEL:; } -/* method parser_prod#ANeMethid#replace_child for (self: ANeMethid, ANode, nullable ANode) */ -void parser_prod__ANeMethid__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 /* : TNe */; +/* method parser_prod#ASignature#n_cpar= for (self: ASignature, nullable TCpar) */ +void parser_prod__ASignature__n_cpar_61d(val* self, val* p0) { +val* var_node /* var node: nullable TCpar */; +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__ANeMethid___n_ne].val; /* _n_ne on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ne"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3515); -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 */ +short int var5 /* : Bool */; +short int var6 /* : Bool */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val = var_node; /* _n_cpar on */ +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 TNe */ -cltype = type_parser_nodes__TNe.color; -idtype = type_parser_nodes__TNe.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3518); -show_backtrace(1); +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; } -self->attrs[COLOR_parser_nodes__ANeMethid___n_ne].val = var_new_child; /* _n_ne on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3521); -show_backtrace(1); } -goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ANeMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ANeMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__ANeMethid__replace_child(self, p0, p1); +/* method parser_prod#ASignature#n_cpar= for (self: Object, nullable TCpar) */ +void VIRTUAL_parser_prod__ASignature__n_cpar_61d(val* self, val* p0) { +parser_prod__ASignature__n_cpar_61d(self, p0); /* Direct call parser_prod#ASignature#n_cpar= on */ RET_LABEL:; } -/* method parser_prod#ANeMethid#n_ne= for (self: ANeMethid, TNe) */ -void parser_prod__ANeMethid__n_ne_61d(val* self, val* p0) { -val* var_node /* var node: TNe */; +/* method parser_prod#ASignature#n_type= for (self: ASignature, nullable AType) */ +void parser_prod__ASignature__n_type_61d(val* self, val* p0) { +val* var_node /* var node: nullable AType */; +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__ANeMethid___n_ne].val = var_node; /* _n_ne on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ASignature___n_type].val = var_node; /* _n_type on */ +var = NULL; +if (var_node == NULL) { +var1 = 0; /* is null */ +} else { +var1 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +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#ANeMethid#n_ne= for (self: Object, TNe) */ -void VIRTUAL_parser_prod__ANeMethid__n_ne_61d(val* self, val* p0) { -parser_prod__ANeMethid__n_ne_61d(self, p0); +/* method parser_prod#ASignature#n_type= for (self: Object, nullable AType) */ +void VIRTUAL_parser_prod__ASignature__n_type_61d(val* self, val* p0) { +parser_prod__ASignature__n_type_61d(self, p0); /* Direct call parser_prod#ASignature#n_type= on */ RET_LABEL:; } -/* method parser_prod#ANeMethid#visit_all for (self: ANeMethid, Visitor) */ -void parser_prod__ANeMethid__visit_all(val* self, val* p0) { +/* method parser_prod#ASignature#visit_all for (self: ASignature, Visitor) */ +void parser_prod__ASignature__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TNe */; +val* var /* : nullable TOpar */; +val* var1 /* : ANodes[AParam] */; +val* var3 /* : ANodes[AParam] */; +val* var4 /* : nullable TCpar */; +val* var5 /* : nullable AType */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ANeMethid___n_ne].val; /* _n_ne on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ne"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3536); -show_backtrace(1); +var = self->attrs[COLOR_parser_nodes__ASignature___n_opar].val; /* _n_opar 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 */; -RET_LABEL:; +{ +{ /* Inline parser_nodes#ASignature#n_params (self) on */ +var3 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279); +show_backtrace(1); } -/* method parser_prod#ANeMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ANeMethid__visit_all(val* self, val* p0) { -parser_prod__ANeMethid__visit_all(self, p0); -RET_LABEL:; +var1 = var3; +RET_LABEL2:(void)0; } -/* method parser_prod#ALeMethid#empty_init for (self: ALeMethid) */ -void parser_prod__ALeMethid__empty_init(val* self) { -RET_LABEL:; } -/* method parser_prod#ALeMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ALeMethid__empty_init(val* self) { -parser_prod__ALeMethid__empty_init(self); -RET_LABEL:; +{ +parser_nodes__ANodes__visit_all(var1, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ } -/* method parser_prod#ALeMethid#init_alemethid for (self: ALeMethid, nullable TLe) */ -void parser_prod__ALeMethid__init_alemethid(val* self, val* p0) { -val* var_n_le /* var n_le: nullable TLe */; -var_n_le = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALeMethid__empty_init]))(self) /* empty_init on */; -if (var_n_le == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3547); -show_backtrace(1); +var4 = self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val; /* _n_cpar on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } -self->attrs[COLOR_parser_nodes__ALeMethid___n_le].val = var_n_le; /* _n_le on */ -if (var_n_le == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3548); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_le->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_le, self) /* parent= on */; +var5 = self->attrs[COLOR_parser_nodes__ASignature___n_type].val; /* _n_type on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#ALeMethid#init_alemethid for (self: Object, nullable TLe) */ -void VIRTUAL_parser_prod__ALeMethid__init_alemethid(val* self, val* p0) { -parser_prod__ALeMethid__init_alemethid(self, p0); +/* method parser_prod#ASignature#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ASignature__visit_all(val* self, val* p0) { +parser_prod__ASignature__visit_all(self, p0); /* Direct call parser_prod#ASignature#visit_all on */ RET_LABEL:; } -/* method parser_prod#ALeMethid#replace_child for (self: ALeMethid, ANode, nullable ANode) */ -void parser_prod__ALeMethid__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 /* : TLe */; -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__ALeMethid___n_le].val; /* _n_le on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_le"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3553); -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 */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TLe */ -cltype = type_parser_nodes__TLe.color; -idtype = type_parser_nodes__TLe.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3556); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__ALeMethid___n_le].val = var_new_child; /* _n_le on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3559); -show_backtrace(1); -} -goto RET_LABEL; -} else { -} -RET_LABEL:; -} -/* method parser_prod#ALeMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ALeMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__ALeMethid__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#ALeMethid#n_le= for (self: ALeMethid, TLe) */ -void parser_prod__ALeMethid__n_le_61d(val* self, val* p0) { -val* var_node /* var node: TLe */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ALeMethid___n_le].val = var_node; /* _n_le on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#ALeMethid#n_le= for (self: Object, TLe) */ -void VIRTUAL_parser_prod__ALeMethid__n_le_61d(val* self, val* p0) { -parser_prod__ALeMethid__n_le_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ALeMethid#visit_all for (self: ALeMethid, Visitor) */ -void parser_prod__ALeMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TLe */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ALeMethid___n_le].val; /* _n_le on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_le"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3574); -show_backtrace(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#ALeMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ALeMethid__visit_all(val* self, val* p0) { -parser_prod__ALeMethid__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AGeMethid#empty_init for (self: AGeMethid) */ -void parser_prod__AGeMethid__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AGeMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AGeMethid__empty_init(val* self) { -parser_prod__AGeMethid__empty_init(self); -RET_LABEL:; -} -/* method parser_prod#AGeMethid#init_agemethid for (self: AGeMethid, nullable TGe) */ -void parser_prod__AGeMethid__init_agemethid(val* self, val* p0) { -val* var_n_ge /* var n_ge: nullable TGe */; -var_n_ge = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AGeMethid__empty_init]))(self) /* empty_init on */; -if (var_n_ge == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3585); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AGeMethid___n_ge].val = var_n_ge; /* _n_ge on */ -if (var_n_ge == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3586); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_ge->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_ge, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#AGeMethid#init_agemethid for (self: Object, nullable TGe) */ -void VIRTUAL_parser_prod__AGeMethid__init_agemethid(val* self, val* p0) { -parser_prod__AGeMethid__init_agemethid(self, p0); -RET_LABEL:; -} -/* method parser_prod#AGeMethid#replace_child for (self: AGeMethid, ANode, nullable ANode) */ -void parser_prod__AGeMethid__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 /* : TGe */; -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__AGeMethid___n_ge].val; /* _n_ge on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ge"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3591); -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 */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TGe */ -cltype = type_parser_nodes__TGe.color; -idtype = type_parser_nodes__TGe.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3594); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AGeMethid___n_ge].val = var_new_child; /* _n_ge on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3597); -show_backtrace(1); -} -goto RET_LABEL; -} else { -} -RET_LABEL:; -} -/* method parser_prod#AGeMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AGeMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__AGeMethid__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#AGeMethid#n_ge= for (self: AGeMethid, TGe) */ -void parser_prod__AGeMethid__n_ge_61d(val* self, val* p0) { -val* var_node /* var node: TGe */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AGeMethid___n_ge].val = var_node; /* _n_ge on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AGeMethid#n_ge= for (self: Object, TGe) */ -void VIRTUAL_parser_prod__AGeMethid__n_ge_61d(val* self, val* p0) { -parser_prod__AGeMethid__n_ge_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AGeMethid#visit_all for (self: AGeMethid, Visitor) */ -void parser_prod__AGeMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TGe */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AGeMethid___n_ge].val; /* _n_ge on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ge"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3612); -show_backtrace(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#AGeMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AGeMethid__visit_all(val* self, val* p0) { -parser_prod__AGeMethid__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#ALtMethid#empty_init for (self: ALtMethid) */ -void parser_prod__ALtMethid__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#ALtMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ALtMethid__empty_init(val* self) { -parser_prod__ALtMethid__empty_init(self); -RET_LABEL:; -} -/* method parser_prod#ALtMethid#init_altmethid for (self: ALtMethid, nullable TLt) */ -void parser_prod__ALtMethid__init_altmethid(val* self, val* p0) { -val* var_n_lt /* var n_lt: nullable TLt */; -var_n_lt = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALtMethid__empty_init]))(self) /* empty_init on */; -if (var_n_lt == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3623); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__ALtMethid___n_lt].val = var_n_lt; /* _n_lt on */ -if (var_n_lt == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3624); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_lt->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_lt, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#ALtMethid#init_altmethid for (self: Object, nullable TLt) */ -void VIRTUAL_parser_prod__ALtMethid__init_altmethid(val* self, val* p0) { -parser_prod__ALtMethid__init_altmethid(self, p0); -RET_LABEL:; -} -/* method parser_prod#ALtMethid#replace_child for (self: ALtMethid, ANode, nullable ANode) */ -void parser_prod__ALtMethid__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 /* : TLt */; -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__ALtMethid___n_lt].val; /* _n_lt on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_lt"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3629); -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 */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TLt */ -cltype = type_parser_nodes__TLt.color; -idtype = type_parser_nodes__TLt.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3632); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__ALtMethid___n_lt].val = var_new_child; /* _n_lt on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3635); -show_backtrace(1); -} -goto RET_LABEL; -} else { -} -RET_LABEL:; -} -/* method parser_prod#ALtMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ALtMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__ALtMethid__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#ALtMethid#n_lt= for (self: ALtMethid, TLt) */ -void parser_prod__ALtMethid__n_lt_61d(val* self, val* p0) { -val* var_node /* var node: TLt */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ALtMethid___n_lt].val = var_node; /* _n_lt on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#ALtMethid#n_lt= for (self: Object, TLt) */ -void VIRTUAL_parser_prod__ALtMethid__n_lt_61d(val* self, val* p0) { -parser_prod__ALtMethid__n_lt_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ALtMethid#visit_all for (self: ALtMethid, Visitor) */ -void parser_prod__ALtMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TLt */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ALtMethid___n_lt].val; /* _n_lt on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_lt"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3650); -show_backtrace(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#ALtMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ALtMethid__visit_all(val* self, val* p0) { -parser_prod__ALtMethid__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AGtMethid#empty_init for (self: AGtMethid) */ -void parser_prod__AGtMethid__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AGtMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AGtMethid__empty_init(val* self) { -parser_prod__AGtMethid__empty_init(self); -RET_LABEL:; -} -/* method parser_prod#AGtMethid#init_agtmethid for (self: AGtMethid, nullable TGt) */ -void parser_prod__AGtMethid__init_agtmethid(val* self, val* p0) { -val* var_n_gt /* var n_gt: nullable TGt */; -var_n_gt = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AGtMethid__empty_init]))(self) /* empty_init on */; -if (var_n_gt == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3661); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AGtMethid___n_gt].val = var_n_gt; /* _n_gt on */ -if (var_n_gt == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3662); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_gt->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_gt, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#AGtMethid#init_agtmethid for (self: Object, nullable TGt) */ -void VIRTUAL_parser_prod__AGtMethid__init_agtmethid(val* self, val* p0) { -parser_prod__AGtMethid__init_agtmethid(self, p0); -RET_LABEL:; -} -/* method parser_prod#AGtMethid#replace_child for (self: AGtMethid, ANode, nullable ANode) */ -void parser_prod__AGtMethid__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 /* : TGt */; -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__AGtMethid___n_gt].val; /* _n_gt on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_gt"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3667); -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 */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TGt */ -cltype = type_parser_nodes__TGt.color; -idtype = type_parser_nodes__TGt.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3670); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AGtMethid___n_gt].val = var_new_child; /* _n_gt on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3673); -show_backtrace(1); -} -goto RET_LABEL; -} else { -} -RET_LABEL:; -} -/* method parser_prod#AGtMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AGtMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__AGtMethid__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#AGtMethid#n_gt= for (self: AGtMethid, TGt) */ -void parser_prod__AGtMethid__n_gt_61d(val* self, val* p0) { -val* var_node /* var node: TGt */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AGtMethid___n_gt].val = var_node; /* _n_gt on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AGtMethid#n_gt= for (self: Object, TGt) */ -void VIRTUAL_parser_prod__AGtMethid__n_gt_61d(val* self, val* p0) { -parser_prod__AGtMethid__n_gt_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AGtMethid#visit_all for (self: AGtMethid, Visitor) */ -void parser_prod__AGtMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TGt */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AGtMethid___n_gt].val; /* _n_gt on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_gt"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3688); -show_backtrace(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#AGtMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AGtMethid__visit_all(val* self, val* p0) { -parser_prod__AGtMethid__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#ALlMethid#empty_init for (self: ALlMethid) */ -void parser_prod__ALlMethid__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#ALlMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ALlMethid__empty_init(val* self) { -parser_prod__ALlMethid__empty_init(self); -RET_LABEL:; -} -/* method parser_prod#ALlMethid#init_allmethid for (self: ALlMethid, nullable TLl) */ -void parser_prod__ALlMethid__init_allmethid(val* self, val* p0) { -val* var_n_ll /* var n_ll: nullable TLl */; -var_n_ll = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALlMethid__empty_init]))(self) /* empty_init on */; -if (var_n_ll == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3699); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__ALlMethid___n_ll].val = var_n_ll; /* _n_ll on */ -if (var_n_ll == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3700); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_ll->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_ll, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#ALlMethid#init_allmethid for (self: Object, nullable TLl) */ -void VIRTUAL_parser_prod__ALlMethid__init_allmethid(val* self, val* p0) { -parser_prod__ALlMethid__init_allmethid(self, p0); -RET_LABEL:; -} -/* method parser_prod#ALlMethid#replace_child for (self: ALlMethid, ANode, nullable ANode) */ -void parser_prod__ALlMethid__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 /* : TLl */; -short int var1 /* : Bool */; -val* var2 /* : null */; +/* method parser_prod#AParam#init_aparam for (self: AParam, nullable TId, nullable AType, nullable TDotdotdot, nullable AAnnotations) */ +void parser_prod__AParam__init_aparam(val* self, val* p0, val* p1, val* p2, val* p3) { +val* var_n_id /* var n_id: nullable TId */; +val* var_n_type /* var n_type: nullable AType */; +val* var_n_dotdotdot /* var n_dotdotdot: nullable TDotdotdot */; +val* var_n_annotations /* var n_annotations: nullable AAnnotations */; +val* var /* : 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__ALlMethid___n_ll].val; /* _n_ll on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ll"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3705); -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 */ -} -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TLl */ -cltype = type_parser_nodes__TLl.color; -idtype = type_parser_nodes__TLl.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3708); +val* var_other /* var other: nullable Object */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +val* var9 /* : null */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +val* var17 /* : null */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +var_n_id = p0; +var_n_type = p1; +var_n_dotdotdot = p2; +var_n_annotations = p3; +if (unlikely(var_n_id == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1960); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ALlMethid___n_ll].val = var_new_child; /* _n_ll on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3711); +self->attrs[COLOR_parser_nodes__AParam___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", 1961); show_backtrace(1); -} -goto RET_LABEL; } else { -} -RET_LABEL:; -} -/* method parser_prod#ALlMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ALlMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__ALlMethid__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#ALlMethid#n_ll= for (self: ALlMethid, TLl) */ -void parser_prod__ALlMethid__n_ll_61d(val* self, val* p0) { -val* var_node /* var node: TLl */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ALlMethid___n_ll].val = var_node; /* _n_ll on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#ALlMethid#n_ll= for (self: Object, TLl) */ -void VIRTUAL_parser_prod__ALlMethid__n_ll_61d(val* self, val* p0) { -parser_prod__ALlMethid__n_ll_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ALlMethid#visit_all for (self: ALlMethid, Visitor) */ -void parser_prod__ALlMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TLl */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ALlMethid___n_ll].val; /* _n_ll on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ll"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3726); +{ /* 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); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; -} -/* method parser_prod#ALlMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ALlMethid__visit_all(val* self, val* p0) { -parser_prod__ALlMethid__visit_all(self, p0); -RET_LABEL:; +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -/* method parser_prod#AGgMethid#empty_init for (self: AGgMethid) */ -void parser_prod__AGgMethid__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AGgMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AGgMethid__empty_init(val* self) { -parser_prod__AGgMethid__empty_init(self); -RET_LABEL:; -} -/* method parser_prod#AGgMethid#init_aggmethid for (self: AGgMethid, nullable TGg) */ -void parser_prod__AGgMethid__init_aggmethid(val* self, val* p0) { -val* var_n_gg /* var n_gg: nullable TGg */; -var_n_gg = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AGgMethid__empty_init]))(self) /* empty_init on */; -if (var_n_gg == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3737); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AGgMethid___n_gg].val = var_n_gg; /* _n_gg on */ -if (var_n_gg == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3738); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_gg->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_gg, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#AGgMethid#init_aggmethid for (self: Object, nullable TGg) */ -void VIRTUAL_parser_prod__AGgMethid__init_aggmethid(val* self, val* p0) { -parser_prod__AGgMethid__init_aggmethid(self, p0); -RET_LABEL:; -} -/* method parser_prod#AGgMethid#replace_child for (self: AGgMethid, ANode, nullable ANode) */ -void parser_prod__AGgMethid__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 /* : TGg */; -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__AGgMethid___n_gg].val; /* _n_gg on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_gg"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3743); -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__AParam___n_type].val = var_n_type; /* _n_type on */ +var = NULL; +if (var_n_type == NULL) { +var2 = 0; /* is null */ } else { -var3 = 1; /* arg is null and recv is not */ +var2 = 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 TGg */ -cltype = type_parser_nodes__TGg.color; -idtype = type_parser_nodes__TGg.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_type,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_type->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_type, var_other) /* == on */; +var5 = var6; +} +var7 = !var5; +var3 = var7; +goto RET_LABEL4; +RET_LABEL4:(void)0; +} +var2 = var3; +} +if (var2){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_type,self) on */ +var_n_type->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; } -if (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3746); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AGgMethid___n_gg].val = var_new_child; /* _n_gg on */ } else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3749); -show_backtrace(1); } -goto RET_LABEL; +self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val = var_n_dotdotdot; /* _n_dotdotdot on */ +var9 = NULL; +if (var_n_dotdotdot == NULL) { +var10 = 0; /* is null */ } else { +var10 = 1; /* arg is null and recv is not */ } -RET_LABEL:; +if (0) { +{ /* Inline kernel#Object#!= (var_n_dotdotdot,var9) on */ +var_other = var9; +{ +var14 = ((short int (*)(val*, val*))(var_n_dotdotdot->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_dotdotdot, var_other) /* == on */; +var13 = var14; } -/* method parser_prod#AGgMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AGgMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__AGgMethid__replace_child(self, p0, p1); -RET_LABEL:; +var15 = !var13; +var11 = var15; +goto RET_LABEL12; +RET_LABEL12:(void)0; } -/* method parser_prod#AGgMethid#n_gg= for (self: AGgMethid, TGg) */ -void parser_prod__AGgMethid__n_gg_61d(val* self, val* p0) { -val* var_node /* var node: TGg */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AGgMethid___n_gg].val = var_node; /* _n_gg on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +var10 = var11; } -/* method parser_prod#AGgMethid#n_gg= for (self: Object, TGg) */ -void VIRTUAL_parser_prod__AGgMethid__n_gg_61d(val* self, val* p0) { -parser_prod__AGgMethid__n_gg_61d(self, p0); -RET_LABEL:; +if (var10){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_dotdotdot,self) on */ +var_n_dotdotdot->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL16:(void)0; } -/* method parser_prod#AGgMethid#visit_all for (self: AGgMethid, Visitor) */ -void parser_prod__AGgMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TGg */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AGgMethid___n_gg].val; /* _n_gg on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_gg"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3764); -show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; +} else { } -/* method parser_prod#AGgMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AGgMethid__visit_all(val* self, val* p0) { -parser_prod__AGgMethid__visit_all(self, p0); -RET_LABEL:; +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var17 = NULL; +if (var_n_annotations == NULL) { +var18 = 0; /* is null */ +} else { +var18 = 1; /* arg is null and recv is not */ } -/* method parser_prod#ABraMethid#empty_init for (self: ABraMethid) */ -void parser_prod__ABraMethid__empty_init(val* self) { -RET_LABEL:; +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var17) on */ +var_other = var17; +{ +var22 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var21 = var22; } -/* method parser_prod#ABraMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ABraMethid__empty_init(val* self) { -parser_prod__ABraMethid__empty_init(self); -RET_LABEL:; +var23 = !var21; +var19 = var23; +goto RET_LABEL20; +RET_LABEL20:(void)0; } -/* method parser_prod#ABraMethid#init_abramethid for (self: ABraMethid, nullable TObra, nullable TCbra) */ -void parser_prod__ABraMethid__init_abramethid(val* self, val* p0, val* p1) { -val* var_n_obra /* var n_obra: nullable TObra */; -val* var_n_cbra /* var n_cbra: nullable TCbra */; -var_n_obra = p0; -var_n_cbra = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraMethid__empty_init]))(self) /* empty_init on */; -if (var_n_obra == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3776); -show_backtrace(1); +var18 = var19; } -self->attrs[COLOR_parser_nodes__ABraMethid___n_obra].val = var_n_obra; /* _n_obra on */ -if (var_n_obra == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3777); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_obra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_obra, self) /* parent= on */; +if (var18){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL24:(void)0; } -if (var_n_cbra == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3778); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABraMethid___n_cbra].val = var_n_cbra; /* _n_cbra on */ -if (var_n_cbra == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3779); -show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_cbra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cbra, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#ABraMethid#init_abramethid for (self: Object, nullable TObra, nullable TCbra) */ -void VIRTUAL_parser_prod__ABraMethid__init_abramethid(val* self, val* p0, val* p1) { -parser_prod__ABraMethid__init_abramethid(self, p0, p1); +/* method parser_prod#AParam#init_aparam for (self: Object, nullable TId, nullable AType, nullable TDotdotdot, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AParam__init_aparam(val* self, val* p0, val* p1, val* p2, val* p3) { +parser_prod__AParam__init_aparam(self, p0, p1, p2, p3); /* Direct call parser_prod#AParam#init_aparam on */ RET_LABEL:; } -/* method parser_prod#ABraMethid#replace_child for (self: ABraMethid, ANode, nullable ANode) */ -void parser_prod__ABraMethid__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AParam#replace_child for (self: AParam, ANode, nullable ANode) */ +void parser_prod__AParam__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 /* : TCbra */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : nullable AType */; short int var9 /* : Bool */; -int cltype10; -int idtype11; +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 TDotdotdot */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : nullable 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__ABraMethid___n_obra].val; /* _n_obra on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3784); +var = self->attrs[COLOR_parser_nodes__AParam___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", 1972); show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +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){ -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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3787); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABraMethid___n_obra].val = var_new_child; /* _n_obra on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3790); +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", 1973); show_backtrace(1); } +{ +parser_prod__AParam__n_id_61d(self, var_new_child); /* Direct call parser_prod#AParam#n_id= on */ +} goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__ABraMethid___n_cbra].val; /* _n_cbra on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3794); -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 */ +var8 = self->attrs[COLOR_parser_nodes__AParam___n_type].val; /* _n_type on */ +if (var8 == NULL) { +var9 = 0; /* cannot be 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 TCbra */ -cltype10 = type_parser_nodes__TCbra.color; -idtype11 = type_parser_nodes__TCbra.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3797); -show_backtrace(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -self->attrs[COLOR_parser_nodes__ABraMethid___n_cbra].val = var_new_child; /* _n_cbra on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3800); -show_backtrace(1); +var9 = var10; } -goto RET_LABEL; +if (var9){ +/* isa nullable AType */ +cltype16 = type_nullable_parser_nodes__AType.color; +idtype17 = type_nullable_parser_nodes__AType.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; } -RET_LABEL:; } -/* method parser_prod#ABraMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ABraMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__ABraMethid__replace_child(self, p0, p1); -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 AType", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1977); +show_backtrace(1); } -/* method parser_prod#ABraMethid#n_obra= for (self: ABraMethid, TObra) */ -void parser_prod__ABraMethid__n_obra_61d(val* self, val* p0) { -val* var_node /* var node: TObra */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ABraMethid___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:; +{ +parser_prod__AParam__n_type_61d(self, var_new_child); /* Direct call parser_prod#AParam#n_type= on */ } -/* method parser_prod#ABraMethid#n_obra= for (self: Object, TObra) */ -void VIRTUAL_parser_prod__ABraMethid__n_obra_61d(val* self, val* p0) { -parser_prod__ABraMethid__n_obra_61d(self, p0); -RET_LABEL:; +goto RET_LABEL; +} else { } -/* method parser_prod#ABraMethid#n_cbra= for (self: ABraMethid, TCbra) */ -void parser_prod__ABraMethid__n_cbra_61d(val* self, val* p0) { -val* var_node /* var node: TCbra */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ABraMethid___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:; +var19 = self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val; /* _n_dotdotdot on */ +if (var19 == NULL) { +var20 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var19,var_old_child) on */ +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#ABraMethid#n_cbra= for (self: Object, TCbra) */ -void VIRTUAL_parser_prod__ABraMethid__n_cbra_61d(val* self, val* p0) { -parser_prod__ABraMethid__n_cbra_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#ABraMethid#visit_all for (self: ABraMethid, Visitor) */ -void parser_prod__ABraMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TObra */; -val* var1 /* : TCbra */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ABraMethid___n_obra].val; /* _n_obra on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3820); -show_backtrace(1); +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(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__ABraMethid___n_cbra].val; /* _n_cbra on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3821); -show_backtrace(1); +var20 = var21; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -RET_LABEL:; +if (var20){ +/* isa nullable TDotdotdot */ +cltype27 = type_nullable_parser_nodes__TDotdotdot.color; +idtype28 = type_nullable_parser_nodes__TDotdotdot.id; +if(var_new_child == NULL) { +var26 = 1; +} else { +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; +} else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -/* method parser_prod#ABraMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ABraMethid__visit_all(val* self, val* p0) { -parser_prod__ABraMethid__visit_all(self, p0); -RET_LABEL:; } -/* method parser_prod#AStarshipMethid#empty_init for (self: AStarshipMethid) */ -void parser_prod__AStarshipMethid__empty_init(val* self) { -RET_LABEL:; +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TDotdotdot", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1981); +show_backtrace(1); } -/* method parser_prod#AStarshipMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AStarshipMethid__empty_init(val* self) { -parser_prod__AStarshipMethid__empty_init(self); -RET_LABEL:; +{ +parser_prod__AParam__n_dotdotdot_61d(self, var_new_child); /* Direct call parser_prod#AParam#n_dotdotdot= on */ } -/* method parser_prod#AStarshipMethid#init_astarshipmethid for (self: AStarshipMethid, nullable TStarship) */ -void parser_prod__AStarshipMethid__init_astarshipmethid(val* self, val* p0) { -val* var_n_starship /* var n_starship: nullable TStarship */; -var_n_starship = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStarshipMethid__empty_init]))(self) /* empty_init on */; -if (var_n_starship == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3832); -show_backtrace(1); +goto RET_LABEL; +} else { } -self->attrs[COLOR_parser_nodes__AStarshipMethid___n_starship].val = var_n_starship; /* _n_starship on */ -if (var_n_starship == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3833); -show_backtrace(1); +var30 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var30 == NULL) { +var31 = 0; /* cannot be null */ } else { -((void (*)(val*, val*))(var_n_starship->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_starship, self) /* parent= on */; +{ /* 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; } -RET_LABEL:; } -/* method parser_prod#AStarshipMethid#init_astarshipmethid for (self: Object, nullable TStarship) */ -void VIRTUAL_parser_prod__AStarshipMethid__init_astarshipmethid(val* self, val* p0) { -parser_prod__AStarshipMethid__init_astarshipmethid(self, p0); -RET_LABEL:; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -/* method parser_prod#AStarshipMethid#replace_child for (self: AStarshipMethid, ANode, nullable ANode) */ -void parser_prod__AStarshipMethid__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 /* : TStarship */; -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__AStarshipMethid___n_starship].val; /* _n_starship on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_starship"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3838); -show_backtrace(1); +var31 = var32; } -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 (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 { -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 TStarship */ -cltype = type_parser_nodes__TStarship.color; -idtype = type_parser_nodes__TStarship.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var37 = var_new_child->type->type_table[cltype38] == idtype39; } -if (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3841); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AStarshipMethid___n_starship].val = var_new_child; /* _n_starship on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3844); +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", 1985); show_backtrace(1); } +{ +parser_prod__AParam__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AParam#n_annotations= on */ +} goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AStarshipMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AStarshipMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__AStarshipMethid__replace_child(self, p0, p1); +/* method parser_prod#AParam#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AParam__replace_child(val* self, val* p0, val* p1) { +parser_prod__AParam__replace_child(self, p0, p1); /* Direct call parser_prod#AParam#replace_child on */ RET_LABEL:; } -/* method parser_prod#AStarshipMethid#n_starship= for (self: AStarshipMethid, TStarship) */ -void parser_prod__AStarshipMethid__n_starship_61d(val* self, val* p0) { -val* var_node /* var node: TStarship */; +/* method parser_prod#AParam#n_id= for (self: AParam, TId) */ +void parser_prod__AParam__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TId */; var_node = p0; -self->attrs[COLOR_parser_nodes__AStarshipMethid___n_starship].val = var_node; /* _n_starship on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AStarshipMethid#n_starship= for (self: Object, TStarship) */ -void VIRTUAL_parser_prod__AStarshipMethid__n_starship_61d(val* self, val* p0) { -parser_prod__AStarshipMethid__n_starship_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AStarshipMethid#visit_all for (self: AStarshipMethid, Visitor) */ -void parser_prod__AStarshipMethid__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TStarship */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AStarshipMethid___n_starship].val; /* _n_starship on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_starship"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3859); -show_backtrace(1); +self->attrs[COLOR_parser_nodes__AParam___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; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -RET_LABEL:; } -/* method parser_prod#AStarshipMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AStarshipMethid__visit_all(val* self, val* p0) { -parser_prod__AStarshipMethid__visit_all(self, p0); RET_LABEL:; } -/* method parser_prod#AAssignMethid#empty_init for (self: AAssignMethid) */ -void parser_prod__AAssignMethid__empty_init(val* self) { +/* method parser_prod#AParam#n_id= for (self: Object, TId) */ +void VIRTUAL_parser_prod__AParam__n_id_61d(val* self, val* p0) { +parser_prod__AParam__n_id_61d(self, p0); /* Direct call parser_prod#AParam#n_id= on */ RET_LABEL:; } -/* method parser_prod#AAssignMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AAssignMethid__empty_init(val* self) { -parser_prod__AAssignMethid__empty_init(self); -RET_LABEL:; +/* method parser_prod#AParam#n_type= for (self: AParam, nullable AType) */ +void parser_prod__AParam__n_type_61d(val* self, val* p0) { +val* var_node /* var node: nullable AType */; +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__AParam___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 */ } -/* method parser_prod#AAssignMethid#init_aassignmethid for (self: AAssignMethid, nullable TId, nullable TAssign) */ -void parser_prod__AAssignMethid__init_aassignmethid(val* self, val* p0, val* p1) { -val* var_n_id /* var n_id: nullable TId */; -val* var_n_assign /* var n_assign: nullable TAssign */; -var_n_id = p0; -var_n_assign = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAssignMethid__empty_init]))(self) /* empty_init on */; -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3871); -show_backtrace(1); +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; } -self->attrs[COLOR_parser_nodes__AAssignMethid___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3872); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; +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; } -if (var_n_assign == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3873); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAssignMethid___n_assign].val = var_n_assign; /* _n_assign on */ -if (var_n_assign == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3874); -show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_assign->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_assign, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AAssignMethid#init_aassignmethid for (self: Object, nullable TId, nullable TAssign) */ -void VIRTUAL_parser_prod__AAssignMethid__init_aassignmethid(val* self, val* p0, val* p1) { -parser_prod__AAssignMethid__init_aassignmethid(self, p0, p1); +/* method parser_prod#AParam#n_type= for (self: Object, nullable AType) */ +void VIRTUAL_parser_prod__AParam__n_type_61d(val* self, val* p0) { +parser_prod__AParam__n_type_61d(self, p0); /* Direct call parser_prod#AParam#n_type= on */ RET_LABEL:; } -/* method parser_prod#AAssignMethid#replace_child for (self: AAssignMethid, ANode, nullable ANode) */ -void parser_prod__AAssignMethid__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 */; +/* method parser_prod#AParam#n_dotdotdot= for (self: AParam, nullable TDotdotdot) */ +void parser_prod__AParam__n_dotdotdot_61d(val* self, val* p0) { +val* var_node /* var node: nullable TDotdotdot */; +val* var /* : null */; short int var1 /* : Bool */; -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 /* : TAssign */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AAssignMethid___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3879); -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 */ +var_node = p0; +self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val = var_node; /* _n_dotdotdot on */ +var = NULL; +if (var_node == NULL) { +var1 = 0; /* is null */ } else { -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 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 (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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3882); -show_backtrace(1); +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AAssignMethid___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3885); -show_backtrace(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; } -var5 = self->attrs[COLOR_parser_nodes__AAssignMethid___n_assign].val; /* _n_assign on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3889); -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 */ } -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; +RET_LABEL:; } -if (!var9) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3892); -show_backtrace(1); +/* method parser_prod#AParam#n_dotdotdot= for (self: Object, nullable TDotdotdot) */ +void VIRTUAL_parser_prod__AParam__n_dotdotdot_61d(val* self, val* p0) { +parser_prod__AParam__n_dotdotdot_61d(self, p0); /* Direct call parser_prod#AParam#n_dotdotdot= on */ +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__AAssignMethid___n_assign].val = var_new_child; /* _n_assign on */ +/* method parser_prod#AParam#n_annotations= for (self: AParam, nullable AAnnotations) */ +void parser_prod__AParam__n_annotations_61d(val* self, val* p0) { +val* var_node /* var node: nullable AAnnotations */; +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 { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3895); -show_backtrace(1); +var1 = 1; /* arg is null and recv is not */ } -goto RET_LABEL; -} else { +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; } -RET_LABEL:; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#AAssignMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AAssignMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__AAssignMethid__replace_child(self, p0, p1); -RET_LABEL:; +var1 = var2; } -/* method parser_prod#AAssignMethid#n_id= for (self: AAssignMethid, TId) */ -void parser_prod__AAssignMethid__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TId */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAssignMethid___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:; +if (var1){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; } -/* method parser_prod#AAssignMethid#n_id= for (self: Object, TId) */ -void VIRTUAL_parser_prod__AAssignMethid__n_id_61d(val* self, val* p0) { -parser_prod__AAssignMethid__n_id_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AAssignMethid#n_assign= for (self: AAssignMethid, TAssign) */ -void parser_prod__AAssignMethid__n_assign_61d(val* self, val* p0) { -val* var_node /* var node: TAssign */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAssignMethid___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 */; +} else { +} RET_LABEL:; } -/* method parser_prod#AAssignMethid#n_assign= for (self: Object, TAssign) */ -void VIRTUAL_parser_prod__AAssignMethid__n_assign_61d(val* self, val* p0) { -parser_prod__AAssignMethid__n_assign_61d(self, p0); +/* method parser_prod#AParam#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AParam__n_annotations_61d(val* self, val* p0) { +parser_prod__AParam__n_annotations_61d(self, p0); /* Direct call parser_prod#AParam#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#AAssignMethid#visit_all for (self: AAssignMethid, Visitor) */ -void parser_prod__AAssignMethid__visit_all(val* self, val* p0) { +/* method parser_prod#AParam#visit_all for (self: AParam, Visitor) */ +void parser_prod__AParam__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; val* var /* : TId */; -val* var1 /* : TAssign */; +val* var1 /* : nullable AType */; +val* var2 /* : nullable TDotdotdot */; +val* var3 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AAssignMethid___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3915); +var = self->attrs[COLOR_parser_nodes__AParam___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", 2014); 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__AAssignMethid___n_assign].val; /* _n_assign on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3916); -show_backtrace(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 */; -RET_LABEL:; +var1 = self->attrs[COLOR_parser_nodes__AParam___n_type].val; /* _n_type on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AAssignMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AAssignMethid__visit_all(val* self, val* p0) { -parser_prod__AAssignMethid__visit_all(self, p0); -RET_LABEL:; +var2 = self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val; /* _n_dotdotdot on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ABraassignMethid#empty_init for (self: ABraassignMethid) */ -void parser_prod__ABraassignMethid__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#ABraassignMethid#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ABraassignMethid__empty_init(val* self) { -parser_prod__ABraassignMethid__empty_init(self); +/* method parser_prod#AParam#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AParam__visit_all(val* self, val* p0) { +parser_prod__AParam__visit_all(self, p0); /* Direct call parser_prod#AParam#visit_all on */ RET_LABEL:; } -/* method parser_prod#ABraassignMethid#init_abraassignmethid for (self: ABraassignMethid, nullable TObra, nullable TCbra, nullable TAssign) */ -void parser_prod__ABraassignMethid__init_abraassignmethid(val* self, val* p0, val* p1, val* p2) { -val* var_n_obra /* var n_obra: nullable TObra */; -val* var_n_cbra /* var n_cbra: nullable TCbra */; -val* var_n_assign /* var n_assign: nullable TAssign */; -var_n_obra = p0; -var_n_cbra = p1; -var_n_assign = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABraassignMethid__empty_init]))(self) /* empty_init on */; -if (var_n_obra == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3929); -show_backtrace(1); +/* method parser_prod#AType#init_atype for (self: AType, nullable TKwnullable, nullable TClassid, Collection[Object], nullable AAnnotations) */ +void parser_prod__AType__init_atype(val* self, val* p0, val* p1, val* p2, val* p3) { +val* var_n_kwnullable /* var n_kwnullable: nullable TKwnullable */; +val* var_n_id /* var n_id: nullable TClassid */; +val* var_n_types /* var n_types: Collection[Object] */; +val* var_n_annotations /* var n_annotations: nullable AAnnotations */; +val* var /* : null */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var9 /* : ANodes[AType] */; +val* var11 /* : ANodes[AType] */; +val* var12 /* : null */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; +var_n_kwnullable = p0; +var_n_id = p1; +var_n_types = p2; +var_n_annotations = p3; +self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val = var_n_kwnullable; /* _n_kwnullable on */ +var = NULL; +if (var_n_kwnullable == NULL) { +var1 = 0; /* is null */ +} else { +var1 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwnullable,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_kwnullable->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwnullable, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwnullable,self) on */ +var_n_kwnullable->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; +} } -self->attrs[COLOR_parser_nodes__ABraassignMethid___n_obra].val = var_n_obra; /* _n_obra on */ -if (var_n_obra == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3930); -show_backtrace(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_cbra == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3931); +if (unlikely(var_n_id == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2030); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABraassignMethid___n_cbra].val = var_n_cbra; /* _n_cbra on */ -if (var_n_cbra == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3932); +self->attrs[COLOR_parser_nodes__AType___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", 2031); show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_cbra->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cbra, self) /* parent= on */; -} -if (var_n_assign == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3933); +{ /* 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); } -self->attrs[COLOR_parser_nodes__ABraassignMethid___n_assign].val = var_n_assign; /* _n_assign on */ -if (var_n_assign == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3934); +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; +} +} +{ +{ /* Inline parser_nodes#AType#n_types (self) on */ +var11 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on */ +if (unlikely(var11 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1300); show_backtrace(1); +} +var9 = var11; +RET_LABEL10:(void)0; +} +} +{ +parser_nodes__ANodes__unsafe_add_all(var9, var_n_types); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var12 = NULL; +if (var_n_annotations == NULL) { +var13 = 0; /* is null */ +} else { +var13 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var12) on */ +var_other = var12; +{ +var17 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var16 = var17; +} +var18 = !var16; +var14 = var18; +goto RET_LABEL15; +RET_LABEL15:(void)0; +} +var13 = var14; +} +if (var13){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL19:(void)0; +} +} } else { -((void (*)(val*, val*))(var_n_assign->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_assign, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#ABraassignMethid#init_abraassignmethid for (self: Object, nullable TObra, nullable TCbra, nullable TAssign) */ -void VIRTUAL_parser_prod__ABraassignMethid__init_abraassignmethid(val* self, val* p0, val* p1, val* p2) { -parser_prod__ABraassignMethid__init_abraassignmethid(self, p0, p1, p2); +/* method parser_prod#AType#init_atype for (self: Object, nullable TKwnullable, nullable TClassid, Collection[Object], nullable AAnnotations) */ +void VIRTUAL_parser_prod__AType__init_atype(val* self, val* p0, val* p1, val* p2, val* p3) { +parser_prod__AType__init_atype(self, p0, p1, p2, p3); /* Direct call parser_prod#AType#init_atype on */ RET_LABEL:; } -/* method parser_prod#ABraassignMethid#replace_child for (self: ABraassignMethid, ANode, nullable ANode) */ -void parser_prod__ABraassignMethid__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AType#replace_child for (self: AType, ANode, nullable ANode) */ +void parser_prod__AType__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 /* : nullable TKwnullable */; 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 /* : TCbra */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : TClassid */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : TAssign */; -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 /* : ANodes[AType] */; +val* var21 /* : ANodes[AType] */; +short int var22 /* : Bool */; +val* var23 /* : nullable AAnnotations */; +short int var24 /* : Bool */; +short int var25 /* : Bool */; +short int var27 /* : Bool */; +short int var29 /* : Bool */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +const char* var_class_name33; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ABraassignMethid___n_obra].val; /* _n_obra on */ +var = self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3939); -show_backtrace(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 nullable TKwnullable */ +cltype = type_nullable_parser_nodes__TKwnullable.color; +idtype = type_nullable_parser_nodes__TKwnullable.id; +if(var_new_child == NULL) { +var7 = 1; } 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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3942); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABraassignMethid___n_obra].val = var_new_child; /* _n_obra on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3945); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwnullable", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2040); show_backtrace(1); } +{ +parser_prod__AType__n_kwnullable_61d(self, var_new_child); /* Direct call parser_prod#AType#n_kwnullable= on */ +} goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__ABraassignMethid___n_cbra].val; /* _n_cbra on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3949); +var8 = self->attrs[COLOR_parser_nodes__AType___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", 2043); 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 TCbra */ -cltype10 = type_parser_nodes__TCbra.color; -idtype11 = type_parser_nodes__TCbra.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3952); -show_backtrace(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -self->attrs[COLOR_parser_nodes__ABraassignMethid___n_cbra].val = var_new_child; /* _n_cbra on */ +var9 = var10; +} +if (var9){ +/* isa TClassid */ +cltype16 = type_parser_nodes__TClassid.color; +idtype17 = type_parser_nodes__TClassid.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", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3955); +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TClassid", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2044); show_backtrace(1); } +{ +parser_prod__AType__n_id_61d(self, var_new_child); /* Direct call parser_prod#AType#n_id= on */ +} goto RET_LABEL; } else { } -var12 = self->attrs[COLOR_parser_nodes__ABraassignMethid___n_assign].val; /* _n_assign on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3959); +{ +{ /* Inline parser_nodes#AType#n_types (self) on */ +var21 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on */ +if (unlikely(var21 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1300); 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 */ +var19 = var21; +RET_LABEL20:(void)0; +} +} +{ +var22 = parser_nodes__ANodes__replace_child(var19, var_old_child, var_new_child); +} +if (var22){ +goto RET_LABEL; } else { -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 TAssign */ -cltype17 = type_parser_nodes__TAssign.color; -idtype18 = type_parser_nodes__TAssign.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; +var23 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var23 == NULL) { +var24 = 0; /* cannot be null */ } else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; +{ /* Inline kernel#Object#== (var23,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var23,var_other) on */ +var29 = var23 == var_other; +var27 = var29; +goto RET_LABEL28; +RET_LABEL28:(void)0; } -if (!var16) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3962); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABraassignMethid___n_assign].val = var_new_child; /* _n_assign on */ +var25 = var27; +goto RET_LABEL26; +RET_LABEL26:(void)0; +} +var24 = var25; +} +if (var24){ +/* isa nullable AAnnotations */ +cltype31 = type_nullable_parser_nodes__AAnnotations.color; +idtype32 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var30 = 1; } else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3965); +if(cltype31 >= var_new_child->type->table_size) { +var30 = 0; +} else { +var30 = var_new_child->type->type_table[cltype31] == idtype32; +} +} +if (unlikely(!var30)) { +var_class_name33 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name33); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2049); show_backtrace(1); } +{ +parser_prod__AType__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AType#n_annotations= on */ +} goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ABraassignMethid#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ABraassignMethid__replace_child(val* self, val* p0, val* p1) { -parser_prod__ABraassignMethid__replace_child(self, p0, p1); +/* method parser_prod#AType#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AType__replace_child(val* self, val* p0, val* p1) { +parser_prod__AType__replace_child(self, p0, p1); /* Direct call parser_prod#AType#replace_child on */ RET_LABEL:; } -/* method parser_prod#ABraassignMethid#n_obra= for (self: ABraassignMethid, TObra) */ -void parser_prod__ABraassignMethid__n_obra_61d(val* self, val* p0) { -val* var_node /* var node: TObra */; +/* method parser_prod#AType#n_kwnullable= for (self: AType, nullable TKwnullable) */ +void parser_prod__AType__n_kwnullable_61d(val* self, val* p0) { +val* var_node /* var node: nullable TKwnullable */; +val* var /* : null */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ABraassignMethid___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 */; +self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val = var_node; /* _n_kwnullable on */ +var = NULL; +if (var_node == NULL) { +var1 = 0; /* is null */ +} else { +var1 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; +} +} +} else { +} RET_LABEL:; } -/* method parser_prod#ABraassignMethid#n_obra= for (self: Object, TObra) */ -void VIRTUAL_parser_prod__ABraassignMethid__n_obra_61d(val* self, val* p0) { -parser_prod__ABraassignMethid__n_obra_61d(self, p0); +/* method parser_prod#AType#n_kwnullable= for (self: Object, nullable TKwnullable) */ +void VIRTUAL_parser_prod__AType__n_kwnullable_61d(val* self, val* p0) { +parser_prod__AType__n_kwnullable_61d(self, p0); /* Direct call parser_prod#AType#n_kwnullable= on */ RET_LABEL:; } -/* method parser_prod#ABraassignMethid#n_cbra= for (self: ABraassignMethid, TCbra) */ -void parser_prod__ABraassignMethid__n_cbra_61d(val* self, val* p0) { -val* var_node /* var node: TCbra */; +/* method parser_prod#AType#n_id= for (self: AType, TClassid) */ +void parser_prod__AType__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TClassid */; var_node = p0; -self->attrs[COLOR_parser_nodes__ABraassignMethid___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 */; +self->attrs[COLOR_parser_nodes__AType___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#ABraassignMethid#n_cbra= for (self: Object, TCbra) */ -void VIRTUAL_parser_prod__ABraassignMethid__n_cbra_61d(val* self, val* p0) { -parser_prod__ABraassignMethid__n_cbra_61d(self, p0); +/* method parser_prod#AType#n_id= for (self: Object, TClassid) */ +void VIRTUAL_parser_prod__AType__n_id_61d(val* self, val* p0) { +parser_prod__AType__n_id_61d(self, p0); /* Direct call parser_prod#AType#n_id= on */ RET_LABEL:; } -/* method parser_prod#ABraassignMethid#n_assign= for (self: ABraassignMethid, TAssign) */ -void parser_prod__ABraassignMethid__n_assign_61d(val* self, val* p0) { -val* var_node /* var node: TAssign */; +/* method parser_prod#AType#n_annotations= for (self: AType, nullable AAnnotations) */ +void parser_prod__AType__n_annotations_61d(val* self, val* p0) { +val* var_node /* var node: nullable AAnnotations */; +val* var /* : null */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ABraassignMethid___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__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 { +} RET_LABEL:; } -/* method parser_prod#ABraassignMethid#n_assign= for (self: Object, TAssign) */ -void VIRTUAL_parser_prod__ABraassignMethid__n_assign_61d(val* self, val* p0) { -parser_prod__ABraassignMethid__n_assign_61d(self, p0); +/* method parser_prod#AType#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AType__n_annotations_61d(val* self, val* p0) { +parser_prod__AType__n_annotations_61d(self, p0); /* Direct call parser_prod#AType#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#ABraassignMethid#visit_all for (self: ABraassignMethid, Visitor) */ -void parser_prod__ABraassignMethid__visit_all(val* self, val* p0) { +/* method parser_prod#AType#visit_all for (self: AType, Visitor) */ +void parser_prod__AType__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TObra */; -val* var1 /* : TCbra */; -val* var2 /* : TAssign */; +val* var /* : nullable TKwnullable */; +val* var1 /* : TClassid */; +val* var2 /* : ANodes[AType] */; +val* var4 /* : ANodes[AType] */; +val* var5 /* : nullable AAnnotations */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ABraassignMethid___n_obra].val; /* _n_obra on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_obra"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3990); -show_backtrace(1); +var = self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable 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__ABraassignMethid___n_cbra].val; /* _n_cbra on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_cbra"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3991); +var1 = self->attrs[COLOR_parser_nodes__AType___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", 2074); 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__ABraassignMethid___n_assign].val; /* _n_assign on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 3992); +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +{ +{ /* Inline parser_nodes#AType#n_types (self) on */ +var4 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1300); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -RET_LABEL:; +var2 = var4; +RET_LABEL3:(void)0; } -/* method parser_prod#ABraassignMethid#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ABraassignMethid__visit_all(val* self, val* p0) { -parser_prod__ABraassignMethid__visit_all(self, p0); -RET_LABEL:; } -/* method parser_prod#ASignature#empty_init for (self: ASignature) */ -void parser_prod__ASignature__empty_init(val* self) { +{ +parser_nodes__ANodes__visit_all(var2, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ +} +var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#ASignature#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ASignature__empty_init(val* self) { -parser_prod__ASignature__empty_init(self); +/* method parser_prod#AType#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AType__visit_all(val* self, val* p0) { +parser_prod__AType__visit_all(self, p0); /* Direct call parser_prod#AType#visit_all on */ RET_LABEL:; } -/* method parser_prod#ASignature#init_asignature for (self: ASignature, nullable TOpar, Collection[Object], nullable TCpar, nullable AType) */ -void parser_prod__ASignature__init_asignature(val* self, val* p0, val* p1, val* p2, val* p3) { -val* var_n_opar /* var n_opar: nullable TOpar */; -val* var_n_params /* var n_params: Collection[Object] */; -val* var_n_cpar /* var n_cpar: nullable TCpar */; -val* var_n_type /* var n_type: nullable AType */; +/* method parser_prod#ALabel#init_alabel for (self: ALabel, nullable TKwlabel, nullable TId) */ +void parser_prod__ALabel__init_alabel(val* self, val* p0, val* p1) { +val* var_n_kwlabel /* var n_kwlabel: nullable TKwlabel */; +val* var_n_id /* var n_id: nullable TId */; val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : Iterator[nullable Object] */; +short int var2 /* : Bool */; short int var3 /* : Bool */; -val* var4 /* : nullable Object */; -val* var_n /* var n: Object */; +val* var_other /* var other: nullable Object */; short int var5 /* : Bool */; -int cltype; -int idtype; -val* var6 /* : ANodes[AParam] */; -val* var7 /* : null */; -short int var8 /* : Bool */; -val* var9 /* : null */; -short int var10 /* : Bool */; -var_n_opar = p0; -var_n_params = p1; -var_n_cpar = p2; -var_n_type = p3; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASignature__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__ASignature___n_opar].val = var_n_opar; /* _n_opar on */ -var = NULL; -if (var_n_opar == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ -} -if (var1){ -((void (*)(val*, val*))(var_n_opar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_opar, self) /* parent= on */; -} else { +short int var6 /* : Bool */; +short int var7 /* : Bool */; +var_n_kwlabel = p0; +var_n_id = p1; +if (unlikely(var_n_kwlabel == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2085); +show_backtrace(1); } -var2 = ((val* (*)(val*))(var_n_params->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_params) /* 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 AParam */ -cltype = type_parser_nodes__AParam.color; -idtype = type_parser_nodes__AParam.id; -if(cltype >= var_n->type->table_size) { -var5 = 0; +self->attrs[COLOR_parser_nodes__ALabel___n_kwlabel].val = var_n_kwlabel; /* _n_kwlabel on */ +if (var_n_kwlabel == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2086); +show_backtrace(1); } else { -var5 = var_n->type->type_table[cltype] == idtype; -} -if (!var5) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4011); +{ /* Inline parser_nodes#ANode#parent= (var_n_kwlabel,self) on */ +if (unlikely(var_n_kwlabel == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(1); } -var6 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_params"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4012); -show_backtrace(1); +var_n_kwlabel->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -((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 */; } -BREAK_label: (void)0; -self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val = var_n_cpar; /* _n_cpar on */ -var7 = NULL; -if (var_n_cpar == NULL) { -var8 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__ALabel___n_id].val = var_n_id; /* _n_id on */ +var = NULL; +if (var_n_id == NULL) { +var2 = 0; /* is null */ } else { -var8 = 1; /* arg is null and recv is not */ +var2 = 1; /* arg is null and recv is not */ } -if (var8){ -((void (*)(val*, val*))(var_n_cpar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cpar, self) /* parent= on */; -} else { +if (0) { +{ /* Inline kernel#Object#!= (var_n_id,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_id->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_id, var_other) /* == on */; +var5 = var6; +} +var7 = !var5; +var3 = var7; +goto RET_LABEL4; +RET_LABEL4:(void)0; +} +var2 = var3; +} +if (var2){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; } -self->attrs[COLOR_parser_nodes__ASignature___n_type].val = var_n_type; /* _n_type on */ -var9 = NULL; -if (var_n_type == NULL) { -var10 = 0; /* is null */ -} else { -var10 = 1; /* arg is null and recv is not */ } -if (var10){ -((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#ASignature#init_asignature for (self: Object, nullable TOpar, Collection[Object], nullable TCpar, nullable AType) */ -void VIRTUAL_parser_prod__ASignature__init_asignature(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__ASignature__init_asignature(self, p0, p1, p2, p3); +/* method parser_prod#ALabel#init_alabel for (self: Object, nullable TKwlabel, nullable TId) */ +void VIRTUAL_parser_prod__ALabel__init_alabel(val* self, val* p0, val* p1) { +parser_prod__ALabel__init_alabel(self, p0, p1); /* Direct call parser_prod#ALabel#init_alabel on */ RET_LABEL:; } -/* method parser_prod#ASignature#replace_child for (self: ASignature, ANode, nullable ANode) */ -void parser_prod__ASignature__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ALabel#replace_child for (self: ALabel, ANode, nullable ANode) */ +void parser_prod__ALabel__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : nullable TOpar */; +val* var /* : TKwlabel */; 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 /* : null */; -val* var6 /* : Range[Int] */; -long var7 /* : Int */; -val* var8 /* : ANodes[AParam] */; -long var9 /* : Int */; -val* var10 /* : Discrete */; -val* var11 /* : Discrete */; -val* var12 /* : Iterator[nullable Object] */; -short int var13 /* : Bool */; -val* var14 /* : nullable Object */; -long var_i /* var i: Int */; -long var15 /* : Int */; -val* var16 /* : ANodes[AParam] */; -val* var17 /* : nullable Object */; -short int var18 /* : Bool */; -val* var19 /* : null */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -val* var24 /* : ANodes[AParam] */; -val* var25 /* : ANodes[AParam] */; -val* var26 /* : nullable TCpar */; -short int var27 /* : Bool */; -val* var28 /* : null */; -short int var29 /* : Bool */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -val* var33 /* : null */; -val* var34 /* : nullable AType */; -short int var35 /* : Bool */; -val* var36 /* : null */; -short int var37 /* : Bool */; -short int var38 /* : Bool */; -int cltype39; -int idtype40; -val* var41 /* : null */; +const char* var_class_name; +val* var8 /* : nullable TId */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ASignature___n_opar].val; /* _n_opar on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} else { -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 */ +var = self->attrs[COLOR_parser_nodes__ALabel___n_kwlabel].val; /* _n_kwlabel on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwlabel"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2093); +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 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; +{ +{ /* 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 (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4030); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ASignature___n_opar].val = var_new_child; /* _n_opar on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__ASignature___n_opar].val = var5; /* _n_opar on */ +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -goto RET_LABEL; -} else { +var1 = var2; } -var6 = NEW_range__Range(&type_range__Rangekernel__Int); +if (var1){ +/* isa TKwlabel */ +cltype = type_parser_nodes__TKwlabel.color; +idtype = type_parser_nodes__TKwlabel.id; +if(var_new_child == NULL) { var7 = 0; -var8 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_params"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4037); -show_backtrace(1); -} -var9 = ((long (*)(val*))(var8->class->vft[COLOR_abstract_collection__Collection__length]))(var8) /* length on */; -var10 = BOX_kernel__Int(var7); /* autobox from Int to Discrete */ -var11 = BOX_kernel__Int(var9); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var6->class->vft[COLOR_range__Range__without_last]))(var6, var10, var11) /* without_last on */; -var12 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Collection__iterator]))(var6) /* iterator on */; -for(;;) { -var13 = ((short int (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var12) /* is_ok on */; -if(!var13) break; -var14 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__item]))(var12) /* item on */; -var15 = ((struct instance_kernel__Int*)var14)->value; /* autounbox from nullable Object to Int */; -var_i = var15; -var16 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (var16 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_params"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4038); -show_backtrace(1); -} -var17 = ((val* (*)(val*, long))(var16->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var16, var_i) /* [] on */; -var18 = ((short int (*)(val*, val*))(var17->class->vft[COLOR_kernel__Object___61d_61d]))(var17, var_old_child) /* == on */; -if (var18){ -var19 = NULL; -if (var_new_child == NULL) { -var20 = 0; /* is null */ } else { -var20 = 1; /* arg is null and recv is not */ -} -if (var20){ -/* isa AParam */ -cltype22 = type_parser_nodes__AParam.color; -idtype23 = type_parser_nodes__AParam.id; -if(cltype22 >= var_new_child->type->table_size) { -var21 = 0; +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var21 = var_new_child->type->type_table[cltype22] == idtype23; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var21) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4040); -show_backtrace(1); -} -var24 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (var24 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_params"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4041); -show_backtrace(1); } -((void (*)(val*, long, val*))(var24->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var24, 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 { -var25 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (var25 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_params"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4044); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwlabel", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2094); show_backtrace(1); } -((void (*)(val*, long))(var25->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var25, var_i) /* remove_at on */; +{ +parser_prod__ALabel__n_kwlabel_61d(self, var_new_child); /* Direct call parser_prod#ALabel#n_kwlabel= on */ } goto RET_LABEL; } else { } -CONTINUE_label: (void)0; -((void (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__next]))(var12) /* next on */; -} -BREAK_label: (void)0; -var26 = self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val; /* _n_cpar on */ -if (var26 == NULL) { -var27 = 0; /* cannot be null */ -} 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 */ -} else { -var29 = 1; /* arg is null and recv is not */ -} -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; +var8 = self->attrs[COLOR_parser_nodes__ALabel___n_id].val; /* _n_id on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var30 = var_new_child->type->type_table[cltype31] == idtype32; +{ /* 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 (!var30) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4052); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val = var_new_child; /* _n_cpar on */ -} else { -var33 = NULL; -self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val = var33; /* _n_cpar on */ +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -goto RET_LABEL; -} else { +var9 = var10; } -var34 = self->attrs[COLOR_parser_nodes__ASignature___n_type].val; /* _n_type on */ -if (var34 == NULL) { -var35 = 0; /* cannot be null */ +if (var9){ +/* isa nullable TId */ +cltype16 = type_nullable_parser_nodes__TId.color; +idtype17 = type_nullable_parser_nodes__TId.id; +if(var_new_child == NULL) { +var15 = 1; } else { -var35 = ((short int (*)(val*, val*))(var34->class->vft[COLOR_kernel__Object___61d_61d]))(var34, var_old_child) /* == on */; -} -if (var35){ -var36 = NULL; -if (var_new_child == NULL) { -var37 = 0; /* is null */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var37 = 1; /* arg is null and recv is not */ +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -if (var37){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AType */ -cltype39 = type_parser_nodes__AType.color; -idtype40 = type_parser_nodes__AType.id; -if(cltype39 >= var_new_child->type->table_size) { -var38 = 0; -} else { -var38 = var_new_child->type->type_table[cltype39] == idtype40; } -if (!var38) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4062); +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TId", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2098); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ASignature___n_type].val = var_new_child; /* _n_type on */ -} else { -var41 = NULL; -self->attrs[COLOR_parser_nodes__ASignature___n_type].val = var41; /* _n_type on */ +{ +parser_prod__ALabel__n_id_61d(self, var_new_child); /* Direct call parser_prod#ALabel#n_id= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ASignature#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ASignature__replace_child(val* self, val* p0, val* p1) { -parser_prod__ASignature__replace_child(self, p0, p1); +/* method parser_prod#ALabel#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ALabel__replace_child(val* self, val* p0, val* p1) { +parser_prod__ALabel__replace_child(self, p0, p1); /* Direct call parser_prod#ALabel#replace_child on */ RET_LABEL:; } -/* method parser_prod#ASignature#n_opar= for (self: ASignature, nullable TOpar) */ -void parser_prod__ASignature__n_opar_61d(val* self, val* p0) { -val* var_node /* var node: nullable TOpar */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#ALabel#n_kwlabel= for (self: ALabel, TKwlabel) */ +void parser_prod__ALabel__n_kwlabel_61d(val* self, val* p0) { +val* var_node /* var node: TKwlabel */; var_node = p0; -self->attrs[COLOR_parser_nodes__ASignature___n_opar].val = var_node; /* _n_opar on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +self->attrs[COLOR_parser_nodes__ALabel___n_kwlabel].val = var_node; /* _n_kwlabel 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#ASignature#n_opar= for (self: Object, nullable TOpar) */ -void VIRTUAL_parser_prod__ASignature__n_opar_61d(val* self, val* p0) { -parser_prod__ASignature__n_opar_61d(self, p0); +/* method parser_prod#ALabel#n_kwlabel= for (self: Object, TKwlabel) */ +void VIRTUAL_parser_prod__ALabel__n_kwlabel_61d(val* self, val* p0) { +parser_prod__ALabel__n_kwlabel_61d(self, p0); /* Direct call parser_prod#ALabel#n_kwlabel= on */ RET_LABEL:; } -/* method parser_prod#ASignature#n_cpar= for (self: ASignature, nullable TCpar) */ -void parser_prod__ASignature__n_cpar_61d(val* self, val* p0) { -val* var_node /* var node: nullable TCpar */; +/* method parser_prod#ALabel#n_id= for (self: ALabel, nullable TId) */ +void parser_prod__ALabel__n_id_61d(val* self, val* p0) { +val* var_node /* var node: nullable TId */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val = var_node; /* _n_cpar on */ +self->attrs[COLOR_parser_nodes__ALabel___n_id].val = var_node; /* _n_id on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } -if (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#ASignature#n_cpar= for (self: Object, nullable TCpar) */ -void VIRTUAL_parser_prod__ASignature__n_cpar_61d(val* self, val* p0) { -parser_prod__ASignature__n_cpar_61d(self, p0); -RET_LABEL:; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#ASignature#n_type= for (self: ASignature, nullable AType) */ -void parser_prod__ASignature__n_type_61d(val* self, val* p0) { -val* var_node /* var node: nullable AType */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ASignature___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 */ +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#ASignature#n_type= for (self: Object, nullable AType) */ -void VIRTUAL_parser_prod__ASignature__n_type_61d(val* self, val* p0) { -parser_prod__ASignature__n_type_61d(self, p0); +/* method parser_prod#ALabel#n_id= for (self: Object, nullable TId) */ +void VIRTUAL_parser_prod__ALabel__n_id_61d(val* self, val* p0) { +parser_prod__ALabel__n_id_61d(self, p0); /* Direct call parser_prod#ALabel#n_id= on */ RET_LABEL:; } -/* method parser_prod#ASignature#visit_all for (self: ASignature, Visitor) */ -void parser_prod__ASignature__visit_all(val* self, val* p0) { +/* method parser_prod#ALabel#visit_all for (self: ALabel, Visitor) */ +void parser_prod__ALabel__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : nullable TOpar */; -val* var1 /* : null */; -short int var2 /* : Bool */; -val* var3 /* : nullable TOpar */; -val* var4 /* : ANodes[AParam] */; -val* var5 /* : Iterator[nullable Object] */; -short int var6 /* : Bool */; -val* var7 /* : nullable Object */; -val* var_n /* var n: AParam */; -val* var8 /* : nullable TCpar */; -val* var9 /* : null */; -short int var10 /* : Bool */; -val* var11 /* : nullable TCpar */; -val* var12 /* : nullable AType */; -val* var13 /* : null */; -short int var14 /* : Bool */; -val* var15 /* : nullable AType */; +val* var /* : TKwlabel */; +val* var1 /* : nullable TId */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ASignature___n_opar].val; /* _n_opar on */ -var1 = NULL; -if (var == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ -} -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__ASignature___n_opar].val; /* _n_opar on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4097); -show_backtrace(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -} else { -} -var4 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_params"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4099); -show_backtrace(1); -} -var5 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Collection__iterator]))(var4) /* iterator on */; -for(;;) { -var6 = ((short int (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var5) /* is_ok on */; -if(!var6) break; -var7 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__item]))(var5) /* item on */; -var_n = var7; -((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*))(var5->class->vft[COLOR_abstract_collection__Iterator__next]))(var5) /* next on */; -} -BREAK_label: (void)0; -var8 = self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val; /* _n_cpar on */ -var9 = NULL; -if (var8 == NULL) { -var10 = 0; /* is null */ -} else { -var10 = 1; /* arg is null and recv is not */ -} -if (var10){ -var11 = self->attrs[COLOR_parser_nodes__ASignature___n_cpar].val; /* _n_cpar on */ -if (var11 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4103); -show_backtrace(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on */; -} else { -} -var12 = self->attrs[COLOR_parser_nodes__ASignature___n_type].val; /* _n_type on */ -var13 = NULL; -if (var12 == NULL) { -var14 = 0; /* is null */ -} else { -var14 = 1; /* arg is null and recv is not */ -} -if (var14){ -var15 = self->attrs[COLOR_parser_nodes__ASignature___n_type].val; /* _n_type on */ -if (var15 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4106); +var = self->attrs[COLOR_parser_nodes__ALabel___n_kwlabel].val; /* _n_kwlabel on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwlabel"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2117); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on */; -} else { -} -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ASignature#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ASignature__visit_all(val* self, val* p0) { -parser_prod__ASignature__visit_all(self, p0); -RET_LABEL:; +var1 = self->attrs[COLOR_parser_nodes__ALabel___n_id].val; /* _n_id on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AParam#empty_init for (self: AParam) */ -void parser_prod__AParam__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AParam#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AParam__empty_init(val* self) { -parser_prod__AParam__empty_init(self); +/* method parser_prod#ALabel#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ALabel__visit_all(val* self, val* p0) { +parser_prod__ALabel__visit_all(self, p0); /* Direct call parser_prod#ALabel#visit_all on */ RET_LABEL:; } -/* method parser_prod#AParam#init_aparam for (self: AParam, nullable TId, nullable AType, nullable TDotdotdot, nullable AAnnotations) */ -void parser_prod__AParam__init_aparam(val* self, val* p0, val* p1, val* p2, val* p3) { -val* var_n_id /* var n_id: nullable TId */; -val* var_n_type /* var n_type: nullable AType */; -val* var_n_dotdotdot /* var n_dotdotdot: nullable TDotdotdot */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : null */; +/* method parser_prod#ABlockExpr#init_ablockexpr for (self: ABlockExpr, Collection[Object], nullable TKwend) */ +void parser_prod__ABlockExpr__init_ablockexpr(val* self, val* p0, val* p1) { +val* var_n_expr /* var n_expr: Collection[Object] */; +val* var_n_kwend /* var n_kwend: nullable TKwend */; +val* var /* : ANodes[AExpr] */; +val* var2 /* : ANodes[AExpr] */; +val* var3 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -var_n_id = p0; -var_n_type = p1; -var_n_dotdotdot = p2; -var_n_annotations = p3; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AParam__empty_init]))(self) /* empty_init on */; -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4121); +val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +var_n_expr = p0; +var_n_kwend = p1; +{ +{ /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1321); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AParam___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4122); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; +var = var2; +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__AParam___n_type].val = var_n_type; /* _n_type on */ -var = NULL; -if (var_n_type == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ } -if (var1){ -((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on */; -} else { +{ +parser_nodes__ANodes__unsafe_add_all(var, var_n_expr); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ } -self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val = var_n_dotdotdot; /* _n_dotdotdot on */ -var2 = NULL; -if (var_n_dotdotdot == NULL) { -var3 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val = var_n_kwend; /* _n_kwend on */ +var3 = NULL; +if (var_n_kwend == NULL) { +var4 = 0; /* is null */ } else { -var3 = 1; /* arg is null and recv is not */ +var4 = 1; /* arg is null and recv is not */ } -if (var3){ -((void (*)(val*, val*))(var_n_dotdotdot->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_dotdotdot, self) /* parent= on */; -} else { +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwend,var3) on */ +var_other = var3; +{ +var8 = ((short int (*)(val*, val*))(var_n_kwend->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwend, var_other) /* == on */; +var7 = var8; +} +var9 = !var7; +var5 = var9; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +var4 = var5; +} +if (var4){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwend,self) on */ +var_n_kwend->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL10:(void)0; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var4 = NULL; -if (var_n_annotations == NULL) { -var5 = 0; /* is null */ -} else { -var5 = 1; /* arg is null and recv is not */ } -if (var5){ -((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#AParam#init_aparam for (self: Object, nullable TId, nullable AType, nullable TDotdotdot, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AParam__init_aparam(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__AParam__init_aparam(self, p0, p1, p2, p3); +/* method parser_prod#ABlockExpr#init_ablockexpr for (self: Object, Collection[Object], nullable TKwend) */ +void VIRTUAL_parser_prod__ABlockExpr__init_ablockexpr(val* self, val* p0, val* p1) { +parser_prod__ABlockExpr__init_ablockexpr(self, p0, p1); /* Direct call parser_prod#ABlockExpr#init_ablockexpr on */ RET_LABEL:; } -/* method parser_prod#AParam#replace_child for (self: AParam, ANode, nullable ANode) */ -void parser_prod__AParam__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ABlockExpr#replace_child for (self: ABlockExpr, ANode, nullable ANode) */ +void parser_prod__ABlockExpr__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 */; +val* var /* : ANodes[AExpr] */; +val* var2 /* : ANodes[AExpr] */; short int var3 /* : Bool */; -short int var4 /* : Bool */; -int cltype; -int idtype; -val* var5 /* : nullable AType */; +val* var4 /* : nullable TKwend */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -val* var7 /* : null */; +val* var_other /* var other: nullable Object */; short int var8 /* : Bool */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : null */; -val* var13 /* : nullable TDotdotdot */; -short int var14 /* : Bool */; -val* var15 /* : null */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var20 /* : null */; -val* var21 /* : nullable AAnnotations */; -short int var22 /* : Bool */; -val* var23 /* : null */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : null */; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AParam___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4139); -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 */ -} -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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4142); -show_backtrace(1); -} -self->attrs[COLOR_parser_nodes__AParam___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4145); +short int var10 /* : Bool */; +short int var11 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +var_old_child = p0; +var_new_child = p1; +{ +{ /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1321); show_backtrace(1); } -goto RET_LABEL; -} else { -} -var5 = self->attrs[COLOR_parser_nodes__AParam___n_type].val; /* _n_type 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 (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 AType */ -cltype10 = type_parser_nodes__AType.color; -idtype11 = type_parser_nodes__AType.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +var = var2; +RET_LABEL1:(void)0; } -if (!var9) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4152); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AParam___n_type].val = var_new_child; /* _n_type on */ -} else { -var12 = NULL; -self->attrs[COLOR_parser_nodes__AParam___n_type].val = var12; /* _n_type on */ +{ +var3 = parser_nodes__ANodes__replace_child(var, var_old_child, var_new_child); } +if (var3){ goto RET_LABEL; } else { } -var13 = self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val; /* _n_dotdotdot on */ -if (var13 == NULL) { -var14 = 0; /* cannot be null */ -} else { -var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on */; -} -if (var14){ -var15 = NULL; -if (var_new_child == NULL) { -var16 = 0; /* is null */ -} else { -var16 = 1; /* arg is null and recv is not */ -} -if (var16){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TDotdotdot */ -cltype18 = type_parser_nodes__TDotdotdot.color; -idtype19 = type_parser_nodes__TDotdotdot.id; -if(cltype18 >= var_new_child->type->table_size) { -var17 = 0; +var4 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val; /* _n_kwend on */ +if (var4 == NULL) { +var5 = 0; /* cannot be null */ } else { -var17 = var_new_child->type->type_table[cltype18] == idtype19; +{ /* 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 (!var17) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4162); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val = var_new_child; /* _n_dotdotdot on */ -} else { -var20 = NULL; -self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val = var20; /* _n_dotdotdot on */ +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; } -goto RET_LABEL; -} else { +var5 = var6; } -var21 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var21 == NULL) { -var22 = 0; /* cannot be null */ +if (var5){ +/* isa nullable TKwend */ +cltype = type_nullable_parser_nodes__TKwend.color; +idtype = type_nullable_parser_nodes__TKwend.id; +if(var_new_child == NULL) { +var11 = 1; } else { -var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on */; -} -if (var22){ -var23 = NULL; -if (var_new_child == NULL) { -var24 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var11 = 0; } else { -var24 = 1; /* arg is null and recv is not */ +var11 = var_new_child->type->type_table[cltype] == idtype; } -if (var24){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype26 = type_parser_nodes__AAnnotations.color; -idtype27 = type_parser_nodes__AAnnotations.id; -if(cltype26 >= var_new_child->type->table_size) { -var25 = 0; -} else { -var25 = var_new_child->type->type_table[cltype26] == idtype27; } -if (!var25) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4172); +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 TKwend", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2136); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ -} else { -var28 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var28; /* _n_annotations on */ +{ +parser_prod__ABlockExpr__n_kwend_61d(self, var_new_child); /* Direct call parser_prod#ABlockExpr#n_kwend= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AParam#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AParam__replace_child(val* self, val* p0, val* p1) { -parser_prod__AParam__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#AParam#n_id= for (self: AParam, TId) */ -void parser_prod__AParam__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TId */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AParam___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#AParam#n_id= for (self: Object, TId) */ -void VIRTUAL_parser_prod__AParam__n_id_61d(val* self, val* p0) { -parser_prod__AParam__n_id_61d(self, p0); +/* method parser_prod#ABlockExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ABlockExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ABlockExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ABlockExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AParam#n_type= for (self: AParam, nullable AType) */ -void parser_prod__AParam__n_type_61d(val* self, val* p0) { -val* var_node /* var node: nullable AType */; +/* method parser_prod#ABlockExpr#n_kwend= for (self: ABlockExpr, nullable TKwend) */ +void parser_prod__ABlockExpr__n_kwend_61d(val* self, val* p0) { +val* var_node /* var node: nullable TKwend */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__AParam___n_type].val = var_node; /* _n_type on */ +self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val = var_node; /* _n_kwend on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } -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#AParam#n_type= for (self: Object, nullable AType) */ -void VIRTUAL_parser_prod__AParam__n_type_61d(val* self, val* p0) { -parser_prod__AParam__n_type_61d(self, p0); -RET_LABEL:; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#AParam#n_dotdotdot= for (self: AParam, nullable TDotdotdot) */ -void parser_prod__AParam__n_dotdotdot_61d(val* self, val* p0) { -val* var_node /* var node: nullable TDotdotdot */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val = var_node; /* _n_dotdotdot on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +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#AParam#n_dotdotdot= for (self: Object, nullable TDotdotdot) */ -void VIRTUAL_parser_prod__AParam__n_dotdotdot_61d(val* self, val* p0) { -parser_prod__AParam__n_dotdotdot_61d(self, p0); +/* method parser_prod#ABlockExpr#n_kwend= for (self: Object, nullable TKwend) */ +void VIRTUAL_parser_prod__ABlockExpr__n_kwend_61d(val* self, val* p0) { +parser_prod__ABlockExpr__n_kwend_61d(self, p0); /* Direct call parser_prod#ABlockExpr#n_kwend= on */ RET_LABEL:; } -/* method parser_prod#AParam#n_annotations= for (self: AParam, nullable AAnnotations) */ -void parser_prod__AParam__n_annotations_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAnnotations */; -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 */ -} else { -var1 = 1; /* arg is null and recv is not */ +/* method parser_prod#ABlockExpr#visit_all for (self: ABlockExpr, Visitor) */ +void parser_prod__ABlockExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : ANodes[AExpr] */; +val* var2 /* : ANodes[AExpr] */; +val* var3 /* : nullable TKwend */; +var_v = p0; +{ +{ /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1321); +show_backtrace(1); } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { +var = var2; +RET_LABEL1:(void)0; +} +} +{ +parser_nodes__ANodes__visit_all(var, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ +} +var3 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val; /* _n_kwend on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AParam#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AParam__n_annotations_61d(val* self, val* p0) { -parser_prod__AParam__n_annotations_61d(self, p0); +/* method parser_prod#ABlockExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ABlockExpr__visit_all(val* self, val* p0) { +parser_prod__ABlockExpr__visit_all(self, p0); /* Direct call parser_prod#ABlockExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AParam#visit_all for (self: AParam, Visitor) */ -void parser_prod__AParam__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TId */; -val* var1 /* : nullable AType */; -val* var2 /* : null */; +/* method parser_prod#AVardeclExpr#init_avardeclexpr for (self: AVardeclExpr, nullable TKwvar, nullable TId, nullable AType, nullable TAssign, nullable AExpr, nullable AAnnotations) */ +void parser_prod__AVardeclExpr__init_avardeclexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { +val* var_n_kwvar /* var n_kwvar: nullable TKwvar */; +val* var_n_id /* var n_id: nullable TId */; +val* var_n_type /* var n_type: nullable AType */; +val* var_n_assign /* var n_assign: nullable TAssign */; +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_annotations /* var n_annotations: nullable AAnnotations */; +val* var /* : null */; short int var3 /* : Bool */; -val* var4 /* : nullable AType */; -val* var5 /* : nullable TDotdotdot */; -val* var6 /* : null */; +short int var4 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; short int var7 /* : Bool */; -val* var8 /* : nullable TDotdotdot */; -val* var9 /* : nullable AAnnotations */; +short int var8 /* : Bool */; val* var10 /* : null */; short int var11 /* : Bool */; -val* var12 /* : nullable AAnnotations */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AParam___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4211); +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; +val* var18 /* : null */; +short int var19 /* : Bool */; +short int var20 /* : Bool */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +short int var24 /* : Bool */; +val* var26 /* : null */; +short int var27 /* : Bool */; +short int var28 /* : Bool */; +short int var30 /* : Bool */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +var_n_kwvar = p0; +var_n_id = p1; +var_n_type = p2; +var_n_assign = p3; +var_n_expr = p4; +var_n_annotations = p5; +if (unlikely(var_n_kwvar == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2164); 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__AParam___n_type].val; /* _n_type on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__AVardeclExpr___n_kwvar].val = var_n_kwvar; /* _n_kwvar on */ +if (var_n_kwvar == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2165); +show_backtrace(1); } else { -var3 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwvar,self) on */ +if (unlikely(var_n_kwvar == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__AParam___n_type].val; /* _n_type on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4213); +var_n_kwvar->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +if (unlikely(var_n_id == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2166); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; +self->attrs[COLOR_parser_nodes__AVardeclExpr___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", 2167); +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_LABEL2:(void)0; } -var5 = self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val; /* _n_dotdotdot on */ -var6 = NULL; -if (var5 == NULL) { -var7 = 0; /* is null */ +} +self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val = var_n_type; /* _n_type on */ +var = NULL; +if (var_n_type == NULL) { +var3 = 0; /* is null */ } else { -var7 = 1; /* arg is null and recv is not */ +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; } -if (var7){ -var8 = self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val; /* _n_dotdotdot on */ -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4216); -show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on */; } else { } -var9 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val = var_n_assign; /* _n_assign on */ var10 = NULL; -if (var9 == NULL) { +if (var_n_assign == NULL) { var11 = 0; /* is null */ } else { var11 = 1; /* arg is null and recv is not */ } -if (var11){ -var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4219); -show_backtrace(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var12) /* enter_visit on */; -} else { +if (0) { +{ /* Inline kernel#Object#!= (var_n_assign,var10) on */ +var_other = var10; +{ +var15 = ((short int (*)(val*, val*))(var_n_assign->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_assign, var_other) /* == on */; +var14 = var15; } -RET_LABEL:; +var16 = !var14; +var12 = var16; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -/* method parser_prod#AParam#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AParam__visit_all(val* self, val* p0) { -parser_prod__AParam__visit_all(self, p0); -RET_LABEL:; +var11 = var12; } -/* method parser_prod#AType#empty_init for (self: AType) */ -void parser_prod__AType__empty_init(val* self) { -RET_LABEL:; +if (var11){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_assign,self) on */ +var_n_assign->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL17:(void)0; } -/* method parser_prod#AType#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AType__empty_init(val* self) { -parser_prod__AType__empty_init(self); -RET_LABEL:; } -/* method parser_prod#AType#init_atype for (self: AType, nullable TKwnullable, nullable TClassid, Collection[Object], nullable AAnnotations) */ -void parser_prod__AType__init_atype(val* self, val* p0, val* p1, val* p2, val* p3) { -val* var_n_kwnullable /* var n_kwnullable: nullable TKwnullable */; -val* var_n_id /* var n_id: nullable TClassid */; -val* var_n_types /* var n_types: Collection[Object] */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; -short int var1 /* : Bool */; -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[AType] */; -val* var7 /* : null */; -short int var8 /* : Bool */; -var_n_kwnullable = p0; -var_n_id = p1; -var_n_types = p2; -var_n_annotations = p3; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AType__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val = var_n_kwnullable; /* _n_kwnullable on */ -var = NULL; -if (var_n_kwnullable == NULL) { -var1 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ } -if (var1){ -((void (*)(val*, val*))(var_n_kwnullable->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwnullable, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val = var_n_expr; /* _n_expr on */ +var18 = NULL; +if (var_n_expr == NULL) { +var19 = 0; /* is null */ } else { +var19 = 1; /* arg is null and recv is not */ } -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4238); -show_backtrace(1); +if (0) { +{ /* Inline kernel#Object#!= (var_n_expr,var18) on */ +var_other = var18; +{ +var23 = ((short int (*)(val*, val*))(var_n_expr->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_expr, var_other) /* == on */; +var22 = var23; } -self->attrs[COLOR_parser_nodes__AType___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4239); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; +var24 = !var22; +var20 = var24; +goto RET_LABEL21; +RET_LABEL21:(void)0; } -var2 = ((val* (*)(val*))(var_n_types->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_types) /* 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 AType */ -cltype = type_parser_nodes__AType.color; -idtype = type_parser_nodes__AType.id; -if(cltype >= var_n->type->table_size) { -var5 = 0; -} else { -var5 = var_n->type->type_table[cltype] == idtype; +var19 = var20; } -if (!var5) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4241); -show_backtrace(1); +if (var19){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL25:(void)0; } -var6 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on */ -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_types"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4242); -show_backtrace(1); } -((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 */; +} else { } -BREAK_label: (void)0; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var7 = NULL; +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var26 = NULL; if (var_n_annotations == NULL) { -var8 = 0; /* is null */ +var27 = 0; /* is null */ } else { -var8 = 1; /* arg is null and recv is not */ +var27 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var26) on */ +var_other = var26; +{ +var31 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var30 = var31; +} +var32 = !var30; +var28 = var32; +goto RET_LABEL29; +RET_LABEL29:(void)0; +} +var27 = var28; +} +if (var27){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL33:(void)0; +} } -if (var8){ -((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#AType#init_atype for (self: Object, nullable TKwnullable, nullable TClassid, Collection[Object], nullable AAnnotations) */ -void VIRTUAL_parser_prod__AType__init_atype(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__AType__init_atype(self, p0, p1, p2, p3); +/* method parser_prod#AVardeclExpr#init_avardeclexpr for (self: Object, nullable TKwvar, nullable TId, nullable AType, nullable TAssign, nullable AExpr, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AVardeclExpr__init_avardeclexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { +parser_prod__AVardeclExpr__init_avardeclexpr(self, p0, p1, p2, p3, p4, p5); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on */ RET_LABEL:; } -/* method parser_prod#AType#replace_child for (self: AType, ANode, nullable ANode) */ -void parser_prod__AType__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AVardeclExpr#replace_child for (self: AVardeclExpr, ANode, nullable ANode) */ +void parser_prod__AVardeclExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : nullable TKwnullable */; +val* var /* : TKwvar */; 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 /* : null */; -val* var6 /* : TClassid */; -short int var7 /* : Bool */; -val* var8 /* : null */; +const char* var_class_name; +val* var8 /* : TId */; short int var9 /* : Bool */; short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : Range[Int] */; -long var14 /* : Int */; -val* var15 /* : ANodes[AType] */; -long var16 /* : Int */; -val* var17 /* : Discrete */; -val* var18 /* : Discrete */; -val* var19 /* : Iterator[nullable Object] */; +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 */; -val* var21 /* : nullable Object */; -long var_i /* var i: Int */; -long var22 /* : Int */; -val* var23 /* : ANodes[AType] */; -val* var24 /* : nullable Object */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; short int var25 /* : Bool */; -val* var26 /* : null */; -short int var27 /* : Bool */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : ANodes[AType] */; -val* var32 /* : ANodes[AType] */; -val* var33 /* : nullable AAnnotations */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : nullable TAssign */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; short int var34 /* : Bool */; -val* var35 /* : null */; short int var36 /* : Bool */; short int var37 /* : Bool */; int cltype38; int idtype39; -val* var40 /* : null */; +const char* var_class_name40; +val* var41 /* : nullable AExpr */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; +short int var47 /* : Bool */; +short int var48 /* : Bool */; +int cltype49; +int idtype50; +const char* var_class_name51; +val* var52 /* : nullable AAnnotations */; +short int var53 /* : Bool */; +short int var54 /* : Bool */; +short int var56 /* : Bool */; +short int var58 /* : Bool */; +short int var59 /* : Bool */; +int cltype60; +int idtype61; +const char* var_class_name62; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} else { -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; +var = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_kwvar].val; /* _n_kwvar on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwvar"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2180); +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){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TKwvar */ +cltype = type_parser_nodes__TKwvar.color; +idtype = type_parser_nodes__TKwvar.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 TKwnullable */ -cltype = type_parser_nodes__TKwnullable.color; -idtype = type_parser_nodes__TKwnullable.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4256); +} +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwvar", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2181); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val = var_new_child; /* _n_kwnullable on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val = var5; /* _n_kwnullable on */ +{ +parser_prod__AVardeclExpr__n_kwvar_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_kwvar= on */ } goto RET_LABEL; } else { } -var6 = self->attrs[COLOR_parser_nodes__AType___n_id].val; /* _n_id on */ -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4263); +var8 = self->attrs[COLOR_parser_nodes__AVardeclExpr___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", 2184); show_backtrace(1); } -var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on */; -if (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 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; +} +} +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; } if (var9){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TClassid */ -cltype11 = type_parser_nodes__TClassid.color; -idtype12 = type_parser_nodes__TClassid.id; -if(cltype11 >= var_new_child->type->table_size) { -var10 = 0; +/* isa TId */ +cltype16 = type_parser_nodes__TId.color; +idtype17 = type_parser_nodes__TId.id; +if(var_new_child == NULL) { +var15 = 0; } else { -var10 = var_new_child->type->type_table[cltype11] == idtype12; +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -if (!var10) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4266); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AType___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4269); +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", 2185); show_backtrace(1); } +{ +parser_prod__AVardeclExpr__n_id_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_id= on */ +} goto RET_LABEL; } else { } -var13 = NEW_range__Range(&type_range__Rangekernel__Int); -var14 = 0; -var15 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on */ -if (var15 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_types"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4273); -show_backtrace(1); -} -var16 = ((long (*)(val*))(var15->class->vft[COLOR_abstract_collection__Collection__length]))(var15) /* length on */; -var17 = BOX_kernel__Int(var14); /* autobox from Int to Discrete */ -var18 = BOX_kernel__Int(var16); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var13->class->vft[COLOR_range__Range__without_last]))(var13, var17, var18) /* without_last on */; -var19 = ((val* (*)(val*))(var13->class->vft[COLOR_abstract_collection__Collection__iterator]))(var13) /* iterator on */; -for(;;) { -var20 = ((short int (*)(val*))(var19->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var19) /* is_ok on */; -if(!var20) break; -var21 = ((val* (*)(val*))(var19->class->vft[COLOR_abstract_collection__Iterator__item]))(var19) /* item on */; -var22 = ((struct instance_kernel__Int*)var21)->value; /* autounbox from nullable Object to Int */; -var_i = var22; -var23 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on */ -if (var23 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_types"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4274); +var19 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val; /* _n_type on */ +if (var19 == NULL) { +var20 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var19,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ +var25 = var19 == var_other; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +if (var20){ +/* isa nullable AType */ +cltype27 = type_nullable_parser_nodes__AType.color; +idtype28 = type_nullable_parser_nodes__AType.id; +if(var_new_child == NULL) { +var26 = 1; +} else { +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; +} else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; +} +} +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", 2189); show_backtrace(1); } -var24 = ((val* (*)(val*, long))(var23->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var23, var_i) /* [] on */; -var25 = ((short int (*)(val*, val*))(var24->class->vft[COLOR_kernel__Object___61d_61d]))(var24, var_old_child) /* == on */; -if (var25){ -var26 = NULL; -if (var_new_child == NULL) { -var27 = 0; /* is null */ +{ +parser_prod__AVardeclExpr__n_type_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_type= on */ +} +goto RET_LABEL; } else { -var27 = 1; /* arg is null and recv is not */ } -if (var27){ -/* isa AType */ -cltype29 = type_parser_nodes__AType.color; -idtype30 = type_parser_nodes__AType.id; -if(cltype29 >= var_new_child->type->table_size) { -var28 = 0; +var30 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val; /* _n_assign on */ +if (var30 == NULL) { +var31 = 0; /* cannot be null */ } else { -var28 = var_new_child->type->type_table[cltype29] == idtype30; +{ /* 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 (!var28) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4276); -show_backtrace(1); } -var31 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on */ -if (var31 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_types"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4277); -show_backtrace(1); +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +var31 = var32; } -((void (*)(val*, long, val*))(var31->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var31, 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 (var31){ +/* isa nullable TAssign */ +cltype38 = type_nullable_parser_nodes__TAssign.color; +idtype39 = type_nullable_parser_nodes__TAssign.id; +if(var_new_child == NULL) { +var37 = 1; +} else { +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -var32 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on */ -if (var32 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_types"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4280); +var37 = var_new_child->type->type_table[cltype38] == idtype39; +} +} +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TAssign", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2193); show_backtrace(1); } -((void (*)(val*, long))(var32->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var32, var_i) /* remove_at on */; +{ +parser_prod__AVardeclExpr__n_assign_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_assign= on */ } goto RET_LABEL; } else { } -CONTINUE_label: (void)0; -((void (*)(val*))(var19->class->vft[COLOR_abstract_collection__Iterator__next]))(var19) /* next on */; +var41 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on */ +if (var41 == NULL) { +var42 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var41,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var41,var_other) on */ +var47 = var41 == var_other; +var45 = var47; +goto RET_LABEL46; +RET_LABEL46:(void)0; +} +} +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; } -BREAK_label: (void)0; -var33 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var33 == NULL) { -var34 = 0; /* cannot be null */ +var42 = var43; +} +if (var42){ +/* isa nullable AExpr */ +cltype49 = type_nullable_parser_nodes__AExpr.color; +idtype50 = type_nullable_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var48 = 1; +} else { +if(cltype49 >= var_new_child->type->table_size) { +var48 = 0; } else { -var34 = ((short int (*)(val*, val*))(var33->class->vft[COLOR_kernel__Object___61d_61d]))(var33, var_old_child) /* == on */; +var48 = var_new_child->type->type_table[cltype49] == idtype50; +} +} +if (unlikely(!var48)) { +var_class_name51 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2197); +show_backtrace(1); +} +{ +parser_prod__AVardeclExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_expr= on */ } -if (var34){ -var35 = NULL; -if (var_new_child == NULL) { -var36 = 0; /* is null */ +goto RET_LABEL; } else { -var36 = 1; /* arg is null and recv is not */ } -if (var36){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype38 = type_parser_nodes__AAnnotations.color; -idtype39 = type_parser_nodes__AAnnotations.id; -if(cltype38 >= var_new_child->type->table_size) { -var37 = 0; +var52 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var52 == NULL) { +var53 = 0; /* cannot be null */ } else { -var37 = var_new_child->type->type_table[cltype38] == idtype39; +{ /* Inline kernel#Object#== (var52,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var52,var_other) on */ +var58 = var52 == var_other; +var56 = var58; +goto RET_LABEL57; +RET_LABEL57:(void)0; } -if (!var37) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4288); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +var54 = var56; +goto RET_LABEL55; +RET_LABEL55:(void)0; +} +var53 = var54; +} +if (var53){ +/* isa nullable AAnnotations */ +cltype60 = type_nullable_parser_nodes__AAnnotations.color; +idtype61 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var59 = 1; +} else { +if(cltype60 >= var_new_child->type->table_size) { +var59 = 0; } else { -var40 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var40; /* _n_annotations on */ +var59 = var_new_child->type->type_table[cltype60] == idtype61; +} +} +if (unlikely(!var59)) { +var_class_name62 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name62); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2201); +show_backtrace(1); +} +{ +parser_prod__AVardeclExpr__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AVardeclExpr#n_annotations= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AType#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AType__replace_child(val* self, val* p0, val* p1) { -parser_prod__AType__replace_child(self, p0, p1); +/* method parser_prod#AVardeclExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AVardeclExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AVardeclExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AVardeclExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AType#n_kwnullable= for (self: AType, nullable TKwnullable) */ -void parser_prod__AType__n_kwnullable_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwnullable */; +/* method parser_prod#AVardeclExpr#n_kwvar= for (self: AVardeclExpr, TKwvar) */ +void parser_prod__AVardeclExpr__n_kwvar_61d(val* self, val* p0) { +val* var_node /* var node: TKwvar */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AVardeclExpr___n_kwvar].val = var_node; /* _n_kwvar on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AVardeclExpr#n_kwvar= for (self: Object, TKwvar) */ +void VIRTUAL_parser_prod__AVardeclExpr__n_kwvar_61d(val* self, val* p0) { +parser_prod__AVardeclExpr__n_kwvar_61d(self, p0); /* Direct call parser_prod#AVardeclExpr#n_kwvar= on */ +RET_LABEL:; +} +/* method parser_prod#AVardeclExpr#n_id= for (self: AVardeclExpr, TId) */ +void parser_prod__AVardeclExpr__n_id_61d(val* self, val* p0) { +val* var_node /* var node: TId */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AVardeclExpr___n_id].val = var_node; /* _n_id on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AVardeclExpr#n_id= for (self: Object, TId) */ +void VIRTUAL_parser_prod__AVardeclExpr__n_id_61d(val* self, val* p0) { +parser_prod__AVardeclExpr__n_id_61d(self, p0); /* Direct call parser_prod#AVardeclExpr#n_id= on */ +RET_LABEL:; +} +/* method parser_prod#AVardeclExpr#n_type= for (self: AVardeclExpr, nullable AType) */ +void parser_prod__AVardeclExpr__n_type_61d(val* self, val* p0) { +val* var_node /* var node: nullable AType */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val = var_node; /* _n_kwnullable on */ +self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val = var_node; /* _n_type on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +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#AType#n_kwnullable= for (self: Object, nullable TKwnullable) */ -void VIRTUAL_parser_prod__AType__n_kwnullable_61d(val* self, val* p0) { -parser_prod__AType__n_kwnullable_61d(self, p0); +/* method parser_prod#AVardeclExpr#n_type= for (self: Object, nullable AType) */ +void VIRTUAL_parser_prod__AVardeclExpr__n_type_61d(val* self, val* p0) { +parser_prod__AVardeclExpr__n_type_61d(self, p0); /* Direct call parser_prod#AVardeclExpr#n_type= on */ RET_LABEL:; } -/* method parser_prod#AType#n_id= for (self: AType, TClassid) */ -void parser_prod__AType__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TClassid */; +/* method parser_prod#AVardeclExpr#n_assign= for (self: AVardeclExpr, nullable TAssign) */ +void parser_prod__AVardeclExpr__n_assign_61d(val* self, val* p0) { +val* var_node /* var node: nullable TAssign */; +val* var /* : null */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__AType___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__AVardeclExpr___n_assign].val = var_node; /* _n_assign on */ +var = NULL; +if (var_node == NULL) { +var1 = 0; /* is null */ +} else { +var1 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; +} +} +} else { +} RET_LABEL:; } -/* method parser_prod#AType#n_id= for (self: Object, TClassid) */ -void VIRTUAL_parser_prod__AType__n_id_61d(val* self, val* p0) { -parser_prod__AType__n_id_61d(self, p0); +/* method parser_prod#AVardeclExpr#n_assign= for (self: Object, nullable TAssign) */ +void VIRTUAL_parser_prod__AVardeclExpr__n_assign_61d(val* self, val* p0) { +parser_prod__AVardeclExpr__n_assign_61d(self, p0); /* Direct call parser_prod#AVardeclExpr#n_assign= on */ RET_LABEL:; } -/* method parser_prod#AType#n_annotations= for (self: AType, nullable AAnnotations) */ -void parser_prod__AType__n_annotations_61d(val* self, val* p0) { +/* method parser_prod#AVardeclExpr#n_expr= for (self: AVardeclExpr, nullable AExpr) */ +void parser_prod__AVardeclExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: nullable AExpr */; +val* var /* : null */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val = var_node; /* _n_expr on */ +var = NULL; +if (var_node == NULL) { +var1 = 0; /* is null */ +} 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#AVardeclExpr#n_expr= for (self: Object, nullable AExpr) */ +void VIRTUAL_parser_prod__AVardeclExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AVardeclExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AVardeclExpr#n_expr= on */ +RET_LABEL:; +} +/* method parser_prod#AVardeclExpr#n_annotations= for (self: AVardeclExpr, nullable AAnnotations) */ +void parser_prod__AVardeclExpr__n_annotations_61d(val* self, val* p0) { val* var_node /* var node: nullable AAnnotations */; val* var /* : null */; 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 { +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#AVardeclExpr#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AVardeclExpr__n_annotations_61d(val* self, val* p0) { +parser_prod__AVardeclExpr__n_annotations_61d(self, p0); /* Direct call parser_prod#AVardeclExpr#n_annotations= on */ +RET_LABEL:; +} +/* method parser_prod#AVardeclExpr#visit_all for (self: AVardeclExpr, Visitor) */ +void parser_prod__AVardeclExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TKwvar */; +val* var1 /* : TId */; +val* var2 /* : nullable AType */; +val* var3 /* : nullable TAssign */; +val* var4 /* : nullable AExpr */; +val* var5 /* : nullable AAnnotations */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_kwvar].val; /* _n_kwvar on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwvar"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2240); +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__AVardeclExpr___n_id].val; /* _n_id on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2241); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var2 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val; /* _n_type on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var3 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val; /* _n_assign on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var4 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } -/* method parser_prod#AType#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AType__n_annotations_61d(val* self, val* p0) { -parser_prod__AType__n_annotations_61d(self, p0); +/* method parser_prod#AVardeclExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AVardeclExpr__visit_all(val* self, val* p0) { +parser_prod__AVardeclExpr__visit_all(self, p0); /* Direct call parser_prod#AVardeclExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AType#visit_all for (self: AType, Visitor) */ -void parser_prod__AType__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : nullable TKwnullable */; -val* var1 /* : null */; +/* method parser_prod#AReturnExpr#init_areturnexpr for (self: AReturnExpr, nullable TKwreturn, nullable AExpr) */ +void parser_prod__AReturnExpr__init_areturnexpr(val* self, val* p0, val* p1) { +val* var_n_kwreturn /* var n_kwreturn: nullable TKwreturn */; +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var /* : null */; +short int var1 /* : Bool */; short int var2 /* : Bool */; -val* var3 /* : nullable TKwnullable */; -val* var4 /* : TClassid */; -val* var5 /* : ANodes[AType] */; -val* var6 /* : Iterator[nullable Object] */; -short int var7 /* : Bool */; -val* var8 /* : nullable Object */; -val* var_n /* var n: AType */; -val* var9 /* : nullable AAnnotations */; -val* var10 /* : null */; -short int var11 /* : Bool */; -val* var12 /* : nullable AAnnotations */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ -var1 = NULL; -if (var == NULL) { -var2 = 0; /* is null */ +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var8 /* : null */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +var_n_kwreturn = p0; +var_n_expr = p1; +self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val = var_n_kwreturn; /* _n_kwreturn on */ +var = NULL; +if (var_n_kwreturn == NULL) { +var1 = 0; /* is null */ } else { -var2 = 1; /* arg is null and recv is not */ +var1 = 1; /* arg is null and recv is not */ } -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4321); -show_backtrace(1); +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwreturn,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_kwreturn->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwreturn, var_other) /* == on */; +var4 = var5; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -} else { +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -var4 = self->attrs[COLOR_parser_nodes__AType___n_id].val; /* _n_id on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4323); -show_backtrace(1); +var1 = var2; } -((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__AType___n_types].val; /* _n_types on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_types"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4324); -show_backtrace(1); +if (var1){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwreturn,self) on */ +var_n_kwreturn->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; } -var6 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* 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 */; -var_n = var8; -((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*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on */; } -BREAK_label: (void)0; -var9 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var10 = NULL; -if (var9 == NULL) { -var11 = 0; /* is null */ } else { -var11 = 1; /* arg is null and recv is not */ -} -if (var11){ -var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4328); -show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var12) /* enter_visit on */; +self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val = var_n_expr; /* _n_expr on */ +var8 = NULL; +if (var_n_expr == NULL) { +var9 = 0; /* is null */ } else { +var9 = 1; /* arg is null and recv is not */ } -RET_LABEL:; -} -/* method parser_prod#AType#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AType__visit_all(val* self, val* p0) { -parser_prod__AType__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#ALabel#empty_init for (self: ALabel) */ -void parser_prod__ALabel__empty_init(val* self) { -RET_LABEL:; +if (0) { +{ /* Inline kernel#Object#!= (var_n_expr,var8) on */ +var_other = var8; +{ +var13 = ((short int (*)(val*, val*))(var_n_expr->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_expr, var_other) /* == on */; +var12 = var13; } -/* method parser_prod#ALabel#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ALabel__empty_init(val* self) { -parser_prod__ALabel__empty_init(self); -RET_LABEL:; +var14 = !var12; +var10 = var14; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -/* method parser_prod#ALabel#init_alabel for (self: ALabel, nullable TKwlabel, nullable TId) */ -void parser_prod__ALabel__init_alabel(val* self, val* p0, val* p1) { -val* var_n_kwlabel /* var n_kwlabel: nullable TKwlabel */; -val* var_n_id /* var n_id: nullable TId */; -var_n_kwlabel = p0; -var_n_id = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALabel__empty_init]))(self) /* empty_init on */; -if (var_n_kwlabel == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4341); -show_backtrace(1); +var9 = var10; } -self->attrs[COLOR_parser_nodes__ALabel___n_kwlabel].val = var_n_kwlabel; /* _n_kwlabel on */ -if (var_n_kwlabel == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4342); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_kwlabel->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwlabel, self) /* parent= on */; +if (var9){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL15:(void)0; } -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4343); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ALabel___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4344); -show_backtrace(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#ALabel#init_alabel for (self: Object, nullable TKwlabel, nullable TId) */ -void VIRTUAL_parser_prod__ALabel__init_alabel(val* self, val* p0, val* p1) { -parser_prod__ALabel__init_alabel(self, p0, p1); +/* method parser_prod#AReturnExpr#init_areturnexpr for (self: Object, nullable TKwreturn, nullable AExpr) */ +void VIRTUAL_parser_prod__AReturnExpr__init_areturnexpr(val* self, val* p0, val* p1) { +parser_prod__AReturnExpr__init_areturnexpr(self, p0, p1); /* Direct call parser_prod#AReturnExpr#init_areturnexpr on */ RET_LABEL:; } -/* method parser_prod#ALabel#replace_child for (self: ALabel, ANode, nullable ANode) */ -void parser_prod__ALabel__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AReturnExpr#replace_child for (self: AReturnExpr, ANode, nullable ANode) */ +void parser_prod__AReturnExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwlabel */; +val* var /* : nullable TKwreturn */; 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 /* : TId */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : nullable AExpr */; short int var9 /* : Bool */; -int cltype10; -int idtype11; +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__ALabel___n_kwlabel].val; /* _n_kwlabel on */ +var = self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val; /* _n_kwreturn on */ if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwlabel"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4349); -show_backtrace(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 nullable TKwreturn */ +cltype = type_nullable_parser_nodes__TKwreturn.color; +idtype = type_nullable_parser_nodes__TKwreturn.id; +if(var_new_child == NULL) { +var7 = 1; } 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 TKwlabel */ -cltype = type_parser_nodes__TKwlabel.color; -idtype = type_parser_nodes__TKwlabel.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4352); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ALabel___n_kwlabel].val = var_new_child; /* _n_kwlabel on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4355); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwreturn", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2263); show_backtrace(1); } +{ +parser_prod__AReturnExpr__n_kwreturn_61d(self, var_new_child); /* Direct call parser_prod#AReturnExpr#n_kwreturn= on */ +} goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__ALabel___n_id].val; /* _n_id on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4359); -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 */ +var8 = self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val; /* _n_expr on */ +if (var8 == NULL) { +var9 = 0; /* cannot be 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 TId */ -cltype10 = type_parser_nodes__TId.color; -idtype11 = type_parser_nodes__TId.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4362); -show_backtrace(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; } -self->attrs[COLOR_parser_nodes__ALabel___n_id].val = var_new_child; /* _n_id on */ +if (var9){ +/* isa nullable AExpr */ +cltype16 = type_nullable_parser_nodes__AExpr.color; +idtype17 = type_nullable_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var15 = 1; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4365); +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2267); show_backtrace(1); } +{ +parser_prod__AReturnExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AReturnExpr#n_expr= on */ +} goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ALabel#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ALabel__replace_child(val* self, val* p0, val* p1) { -parser_prod__ALabel__replace_child(self, p0, p1); +/* method parser_prod#AReturnExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AReturnExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AReturnExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AReturnExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ALabel#n_kwlabel= for (self: ALabel, TKwlabel) */ -void parser_prod__ALabel__n_kwlabel_61d(val* self, val* p0) { -val* var_node /* var node: TKwlabel */; +/* method parser_prod#AReturnExpr#n_kwreturn= for (self: AReturnExpr, nullable TKwreturn) */ +void parser_prod__AReturnExpr__n_kwreturn_61d(val* self, val* p0) { +val* var_node /* var node: nullable TKwreturn */; +val* var /* : null */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALabel___n_kwlabel].val = var_node; /* _n_kwlabel on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val = var_node; /* _n_kwreturn on */ +var = NULL; +if (var_node == NULL) { +var1 = 0; /* is null */ +} else { +var1 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +{ +{ /* 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#ALabel#n_kwlabel= for (self: Object, TKwlabel) */ -void VIRTUAL_parser_prod__ALabel__n_kwlabel_61d(val* self, val* p0) { -parser_prod__ALabel__n_kwlabel_61d(self, p0); +/* method parser_prod#AReturnExpr#n_kwreturn= for (self: Object, nullable TKwreturn) */ +void VIRTUAL_parser_prod__AReturnExpr__n_kwreturn_61d(val* self, val* p0) { +parser_prod__AReturnExpr__n_kwreturn_61d(self, p0); /* Direct call parser_prod#AReturnExpr#n_kwreturn= on */ RET_LABEL:; } -/* method parser_prod#ALabel#n_id= for (self: ALabel, TId) */ -void parser_prod__ALabel__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TId */; +/* method parser_prod#AReturnExpr#n_expr= for (self: AReturnExpr, nullable AExpr) */ +void parser_prod__AReturnExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: nullable AExpr */; +val* var /* : null */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALabel___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__AReturnExpr___n_expr].val = var_node; /* _n_expr on */ +var = NULL; +if (var_node == NULL) { +var1 = 0; /* is null */ +} else { +var1 = 1; /* arg is null and recv is not */ } -/* method parser_prod#ALabel#n_id= for (self: Object, TId) */ -void VIRTUAL_parser_prod__ALabel__n_id_61d(val* self, val* p0) { -parser_prod__ALabel__n_id_61d(self, p0); -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#ALabel#visit_all for (self: ALabel, Visitor) */ -void parser_prod__ALabel__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TKwlabel */; -val* var1 /* : TId */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__ALabel___n_kwlabel].val; /* _n_kwlabel on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwlabel"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4385); -show_backtrace(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, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__ALabel___n_id].val; /* _n_id on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4386); -show_backtrace(1); +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 { } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; RET_LABEL:; } -/* method parser_prod#ALabel#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ALabel__visit_all(val* self, val* p0) { -parser_prod__ALabel__visit_all(self, p0); +/* method parser_prod#AReturnExpr#n_expr= for (self: Object, nullable AExpr) */ +void VIRTUAL_parser_prod__AReturnExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AReturnExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AReturnExpr#n_expr= on */ RET_LABEL:; } -/* method parser_prod#ABlockExpr#empty_init for (self: ABlockExpr) */ -void parser_prod__ABlockExpr__empty_init(val* self) { +/* method parser_prod#AReturnExpr#visit_all for (self: AReturnExpr, Visitor) */ +void parser_prod__AReturnExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : nullable TKwreturn */; +val* var1 /* : nullable AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val; /* _n_kwreturn on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var1 = self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val; /* _n_expr on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#ABlockExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ABlockExpr__empty_init(val* self) { -parser_prod__ABlockExpr__empty_init(self); +/* method parser_prod#AReturnExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AReturnExpr__visit_all(val* self, val* p0) { +parser_prod__AReturnExpr__visit_all(self, p0); /* Direct call parser_prod#AReturnExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ABlockExpr#init_ablockexpr for (self: ABlockExpr, Collection[Object], nullable TKwend) */ -void parser_prod__ABlockExpr__init_ablockexpr(val* self, val* p0, val* p1) { -val* var_n_expr /* var n_expr: Collection[Object] */; -val* var_n_kwend /* var n_kwend: nullable TKwend */; -val* var /* : Iterator[nullable Object] */; -short int var1 /* : Bool */; -val* var2 /* : nullable Object */; -val* var_n /* var n: Object */; +/* method parser_prod#ABreakExpr#init_abreakexpr for (self: ABreakExpr, nullable TKwbreak, nullable ALabel) */ +void parser_prod__ABreakExpr__init_abreakexpr(val* self, val* p0, val* p1) { +val* var_n_kwbreak /* var n_kwbreak: nullable TKwbreak */; +val* var_n_label /* var n_label: nullable ALabel */; +val* var /* : null */; +short int var2 /* : Bool */; short int var3 /* : Bool */; -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_expr = p0; -var_n_kwend = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABlockExpr__empty_init]))(self) /* empty_init on */; -var = ((val* (*)(val*))(var_n_expr->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_expr) /* 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 (!var3) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4399); -show_backtrace(1); -} -var4 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4400); +short int var7 /* : Bool */; +var_n_kwbreak = p0; +var_n_label = p1; +if (unlikely(var_n_kwbreak == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2296); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__ABreakExpr___n_kwbreak].val = var_n_kwbreak; /* _n_kwbreak on */ +if (var_n_kwbreak == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2297); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwbreak,self) on */ +if (unlikely(var_n_kwbreak == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); show_backtrace(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 */; +var_n_kwbreak->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ +var = NULL; +if (var_n_label == NULL) { +var2 = 0; /* is null */ +} else { +var2 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_label,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on */; +var5 = var6; +} +var7 = !var5; +var3 = var7; +goto RET_LABEL4; +RET_LABEL4:(void)0; +} +var2 = var3; +} +if (var2){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on */ +var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; } -BREAK_label: (void)0; -self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val = var_n_kwend; /* _n_kwend on */ -var5 = NULL; -if (var_n_kwend == NULL) { -var6 = 0; /* is null */ -} else { -var6 = 1; /* arg is null and recv is not */ } -if (var6){ -((void (*)(val*, val*))(var_n_kwend->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwend, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#ABlockExpr#init_ablockexpr for (self: Object, Collection[Object], nullable TKwend) */ -void VIRTUAL_parser_prod__ABlockExpr__init_ablockexpr(val* self, val* p0, val* p1) { -parser_prod__ABlockExpr__init_ablockexpr(self, p0, p1); +/* method parser_prod#ABreakExpr#init_abreakexpr for (self: Object, nullable TKwbreak, nullable ALabel) */ +void VIRTUAL_parser_prod__ABreakExpr__init_abreakexpr(val* self, val* p0, val* p1) { +parser_prod__ABreakExpr__init_abreakexpr(self, p0, p1); /* Direct call parser_prod#ABreakExpr#init_abreakexpr on */ RET_LABEL:; } -/* method parser_prod#ABlockExpr#replace_child for (self: ABlockExpr, ANode, nullable ANode) */ -void parser_prod__ABlockExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ABreakExpr#replace_child for (self: ABreakExpr, ANode, nullable ANode) */ +void parser_prod__ABreakExpr__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 /* : TKwbreak */; +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 ALabel */; +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 TKwend */; -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__ABlockExpr___n_expr].val; /* _n_expr on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4411); -show_backtrace(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 */; -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__ABlockExpr___n_expr].val; /* _n_expr on */ -if (var10 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4412); -show_backtrace(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__ABreakExpr___n_kwbreak].val; /* _n_kwbreak on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwbreak"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2304); +show_backtrace(1); } -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; +{ +{ /* 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) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4414); -show_backtrace(1); } -var16 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ -if (var16 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4415); -show_backtrace(1); +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(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 */; +var1 = var2; +} +if (var1){ +/* isa TKwbreak */ +cltype = type_parser_nodes__TKwbreak.color; +idtype = type_parser_nodes__TKwbreak.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__ABlockExpr___n_expr].val; /* _n_expr on */ -if (var17 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4418); +var7 = var_new_child->type->type_table[cltype] == idtype; +} +} +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwbreak", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2305); show_backtrace(1); } -((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on */; +{ +parser_prod__ABreakExpr__n_kwbreak_61d(self, var_new_child); /* Direct call parser_prod#ABreakExpr#n_kwbreak= on */ } goto RET_LABEL; } else { } -CONTINUE_label: (void)0; -((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on */; -} -BREAK_label: (void)0; -var18 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val; /* _n_kwend on */ -if (var18 == NULL) { -var19 = 0; /* cannot be null */ +var8 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var19 = ((short int (*)(val*, val*))(var18->class->vft[COLOR_kernel__Object___61d_61d]))(var18, 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 (var19){ -var20 = NULL; -if (var_new_child == NULL) { -var21 = 0; /* is null */ -} else { -var21 = 1; /* arg is null and recv is not */ } -if (var21){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwend */ -cltype23 = type_parser_nodes__TKwend.color; -idtype24 = type_parser_nodes__TKwend.id; -if(cltype23 >= var_new_child->type->table_size) { -var22 = 0; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; +} +if (var9){ +/* isa nullable ALabel */ +cltype16 = type_nullable_parser_nodes__ALabel.color; +idtype17 = type_nullable_parser_nodes__ALabel.id; +if(var_new_child == NULL) { +var15 = 1; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var22 = var_new_child->type->type_table[cltype23] == idtype24; +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} } -if (!var22) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4426); +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2309); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val = var_new_child; /* _n_kwend on */ -} else { -var25 = NULL; -self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val = var25; /* _n_kwend on */ +{ +parser_prod__ABreakExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#ABreakExpr#n_label= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ABlockExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ABlockExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ABlockExpr__replace_child(self, p0, p1); +/* method parser_prod#ABreakExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ABreakExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ABreakExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ABreakExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ABlockExpr#n_kwend= for (self: ABlockExpr, nullable TKwend) */ -void parser_prod__ABlockExpr__n_kwend_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwend */; +/* method parser_prod#ABreakExpr#n_kwbreak= for (self: ABreakExpr, TKwbreak) */ +void parser_prod__ABreakExpr__n_kwbreak_61d(val* self, val* p0) { +val* var_node /* var node: TKwbreak */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ABreakExpr___n_kwbreak].val = var_node; /* _n_kwbreak on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#ABreakExpr#n_kwbreak= for (self: Object, TKwbreak) */ +void VIRTUAL_parser_prod__ABreakExpr__n_kwbreak_61d(val* self, val* p0) { +parser_prod__ABreakExpr__n_kwbreak_61d(self, p0); /* Direct call parser_prod#ABreakExpr#n_kwbreak= on */ +RET_LABEL:; +} +/* method parser_prod#ABreakExpr#n_label= for (self: ABreakExpr, nullable ALabel) */ +void parser_prod__ABreakExpr__n_label_61d(val* self, val* p0) { +val* var_node /* var node: nullable ALabel */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val = var_node; /* _n_kwend on */ +self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } 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#ABlockExpr#n_kwend= for (self: Object, nullable TKwend) */ -void VIRTUAL_parser_prod__ABlockExpr__n_kwend_61d(val* self, val* p0) { -parser_prod__ABlockExpr__n_kwend_61d(self, p0); +/* method parser_prod#ABreakExpr#n_label= for (self: Object, nullable ALabel) */ +void VIRTUAL_parser_prod__ABreakExpr__n_label_61d(val* self, val* p0) { +parser_prod__ABreakExpr__n_label_61d(self, p0); /* Direct call parser_prod#ABreakExpr#n_label= on */ RET_LABEL:; } -/* method parser_prod#ABlockExpr#visit_all for (self: ABlockExpr, Visitor) */ -void parser_prod__ABlockExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ABreakExpr#visit_all for (self: ABreakExpr, Visitor) */ +void parser_prod__ABreakExpr__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 TKwend */; -val* var5 /* : null */; -short int var6 /* : Bool */; -val* var7 /* : nullable TKwend */; +val* var /* : TKwbreak */; +val* var1 /* : nullable ALabel */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4446); +var = self->attrs[COLOR_parser_nodes__ABreakExpr___n_kwbreak].val; /* _n_kwbreak on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwbreak"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2328); 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 */; +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -BREAK_label: (void)0; -var4 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val; /* _n_kwend on */ -var5 = NULL; -if (var4 == NULL) { -var6 = 0; /* is null */ -} else { -var6 = 1; /* arg is null and recv is not */ +var1 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +RET_LABEL:; +} +/* method parser_prod#ABreakExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ABreakExpr__visit_all(val* self, val* p0) { +parser_prod__ABreakExpr__visit_all(self, p0); /* Direct call parser_prod#ABreakExpr#visit_all on */ +RET_LABEL:; } -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_kwend].val; /* _n_kwend on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4450); +/* method parser_prod#AAbortExpr#init_aabortexpr for (self: AAbortExpr, nullable TKwabort) */ +void parser_prod__AAbortExpr__init_aabortexpr(val* self, val* p0) { +val* var_n_kwabort /* var n_kwabort: nullable TKwabort */; +var_n_kwabort = p0; +if (unlikely(var_n_kwabort == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2337); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; +self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val = var_n_kwabort; /* _n_kwabort on */ +if (var_n_kwabort == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2338); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwabort,self) on */ +if (unlikely(var_n_kwabort == 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_kwabort->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -/* method parser_prod#ABlockExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ABlockExpr__visit_all(val* self, val* p0) { -parser_prod__ABlockExpr__visit_all(self, p0); -RET_LABEL:; } -/* method parser_prod#AVardeclExpr#empty_init for (self: AVardeclExpr) */ -void parser_prod__AVardeclExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AVardeclExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AVardeclExpr__empty_init(val* self) { -parser_prod__AVardeclExpr__empty_init(self); +/* method parser_prod#AAbortExpr#init_aabortexpr for (self: Object, nullable TKwabort) */ +void VIRTUAL_parser_prod__AAbortExpr__init_aabortexpr(val* self, val* p0) { +parser_prod__AAbortExpr__init_aabortexpr(self, p0); /* Direct call parser_prod#AAbortExpr#init_aabortexpr on */ RET_LABEL:; } -/* method parser_prod#AVardeclExpr#init_avardeclexpr for (self: AVardeclExpr, nullable TKwvar, nullable TId, nullable AType, nullable TAssign, nullable AExpr, nullable AAnnotations) */ -void parser_prod__AVardeclExpr__init_avardeclexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -val* var_n_kwvar /* var n_kwvar: nullable TKwvar */; -val* var_n_id /* var n_id: nullable TId */; -val* var_n_type /* var n_type: nullable AType */; -val* var_n_assign /* var n_assign: nullable TAssign */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var /* : null */; +/* method parser_prod#AAbortExpr#replace_child for (self: AAbortExpr, ANode, nullable ANode) */ +void parser_prod__AAbortExpr__replace_child(val* self, val* p0, val* p1) { +val* var_old_child /* var old_child: ANode */; +val* var_new_child /* var new_child: nullable ANode */; +val* var /* : TKwabort */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : null */; -short int var5 /* : Bool */; -val* var6 /* : null */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var6 /* : Bool */; short int var7 /* : Bool */; -var_n_kwvar = p0; -var_n_id = p1; -var_n_type = p2; -var_n_assign = p3; -var_n_expr = p4; -var_n_annotations = p5; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AVardeclExpr__empty_init]))(self) /* empty_init on */; -if (var_n_kwvar == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4467); +int cltype; +int idtype; +const char* var_class_name; +var_old_child = p0; +var_new_child = p1; +var = self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val; /* _n_kwabort on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwabort"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2343); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_kwvar].val = var_n_kwvar; /* _n_kwvar on */ -if (var_n_kwvar == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4468); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_kwvar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwvar, self) /* parent= on */; +{ +{ /* 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 (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4469); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_id].val = var_n_id; /* _n_id on */ -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4470); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val = var_n_type; /* _n_type on */ -var = NULL; -if (var_n_type == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +var1 = var2; } if (var1){ -((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on */; +/* isa TKwabort */ +cltype = type_parser_nodes__TKwabort.color; +idtype = type_parser_nodes__TKwabort.id; +if(var_new_child == NULL) { +var7 = 0; } else { -} -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val = var_n_assign; /* _n_assign on */ -var2 = NULL; -if (var_n_assign == NULL) { -var3 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var3 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var3){ -((void (*)(val*, val*))(var_n_assign->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_assign, self) /* parent= on */; -} else { } -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val = var_n_expr; /* _n_expr on */ -var4 = NULL; -if (var_n_expr == NULL) { -var5 = 0; /* is null */ -} else { -var5 = 1; /* arg is null and recv is not */ +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwabort", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2344); +show_backtrace(1); } -if (var5){ -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; -} else { +{ +parser_prod__AAbortExpr__n_kwabort_61d(self, var_new_child); /* Direct call parser_prod#AAbortExpr#n_kwabort= on */ } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var6 = NULL; -if (var_n_annotations == NULL) { -var7 = 0; /* is null */ +goto RET_LABEL; } else { -var7 = 1; /* arg is null and recv is not */ } -if (var7){ -((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#AAbortExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AAbortExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AAbortExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AAbortExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AVardeclExpr#init_avardeclexpr for (self: Object, nullable TKwvar, nullable TId, nullable AType, nullable TAssign, nullable AExpr, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AVardeclExpr__init_avardeclexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -parser_prod__AVardeclExpr__init_avardeclexpr(self, p0, p1, p2, p3, p4, p5); +/* method parser_prod#AAbortExpr#n_kwabort= for (self: AAbortExpr, TKwabort) */ +void parser_prod__AAbortExpr__n_kwabort_61d(val* self, val* p0) { +val* var_node /* var node: TKwabort */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val = var_node; /* _n_kwabort on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#AVardeclExpr#replace_child for (self: AVardeclExpr, ANode, nullable ANode) */ -void parser_prod__AVardeclExpr__replace_child(val* self, val* p0, val* p1) { -val* var_old_child /* var old_child: ANode */; -val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwvar */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -int cltype; -int idtype; -val* var5 /* : TId */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : nullable AType */; -short int var13 /* : Bool */; -val* var14 /* : null */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : null */; -val* var20 /* : nullable TAssign */; -short int var21 /* : Bool */; -val* var22 /* : null */; -short int var23 /* : Bool */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var27 /* : null */; -val* var28 /* : nullable AExpr */; -short int var29 /* : Bool */; -val* var30 /* : null */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : null */; -val* var36 /* : nullable AAnnotations */; -short int var37 /* : Bool */; -val* var38 /* : null */; -short int var39 /* : Bool */; -short int var40 /* : Bool */; -int cltype41; -int idtype42; -val* var43 /* : null */; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_kwvar].val; /* _n_kwvar on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwvar"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4491); +/* method parser_prod#AAbortExpr#n_kwabort= for (self: Object, TKwabort) */ +void VIRTUAL_parser_prod__AAbortExpr__n_kwabort_61d(val* self, val* p0) { +parser_prod__AAbortExpr__n_kwabort_61d(self, p0); /* Direct call parser_prod#AAbortExpr#n_kwabort= on */ +RET_LABEL:; +} +/* method parser_prod#AAbortExpr#visit_all for (self: AAbortExpr, Visitor) */ +void parser_prod__AAbortExpr__visit_all(val* self, val* p0) { +val* var_v /* var v: Visitor */; +val* var /* : TKwabort */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val; /* _n_kwabort on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwabort"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2358); 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 */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var3){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwvar */ -cltype = type_parser_nodes__TKwvar.color; -idtype = type_parser_nodes__TKwvar.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 0; -} else { -var4 = var_new_child->type->type_table[cltype] == idtype; +RET_LABEL:; } -if (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4494); -show_backtrace(1); +/* method parser_prod#AAbortExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AAbortExpr__visit_all(val* self, val* p0) { +parser_prod__AAbortExpr__visit_all(self, p0); /* Direct call parser_prod#AAbortExpr#visit_all on */ +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_kwvar].val = var_new_child; /* _n_kwvar on */ +/* method parser_prod#AContinueExpr#init_acontinueexpr for (self: AContinueExpr, nullable TKwcontinue, nullable ALabel) */ +void parser_prod__AContinueExpr__init_acontinueexpr(val* self, val* p0, val* p1) { +val* var_n_kwcontinue /* var n_kwcontinue: nullable TKwcontinue */; +val* var_n_label /* var n_label: nullable ALabel */; +val* var /* : null */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var8 /* : null */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +var_n_kwcontinue = p0; +var_n_label = p1; +self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val = var_n_kwcontinue; /* _n_kwcontinue on */ +var = NULL; +if (var_n_kwcontinue == NULL) { +var1 = 0; /* is null */ } else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4497); -show_backtrace(1); +var1 = 1; /* arg is null and recv is not */ } -goto RET_LABEL; -} else { +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwcontinue,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_kwcontinue->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwcontinue, var_other) /* == on */; +var4 = var5; } -var5 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_id].val; /* _n_id on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4501); -show_backtrace(1); +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(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 */ +var1 = var2; } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TId */ -cltype10 = type_parser_nodes__TId.color; -idtype11 = type_parser_nodes__TId.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +if (var1){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwcontinue,self) on */ +var_n_kwcontinue->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; } -if (!var9) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4504); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_id].val = var_new_child; /* _n_id on */ } else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4507); -show_backtrace(1); } -goto RET_LABEL; +self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ +var8 = NULL; +if (var_n_label == NULL) { +var9 = 0; /* is null */ } else { +var9 = 1; /* arg is null and recv is not */ } -var12 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val; /* _n_type on */ -if (var12 == NULL) { -var13 = 0; /* cannot be null */ -} else { -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; +if (0) { +{ /* Inline kernel#Object#!= (var_n_label,var8) on */ +var_other = var8; +{ +var13 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on */; +var12 = var13; } -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ -} else { -var15 = 1; /* arg is null and recv is not */ +var14 = !var12; +var10 = var14; +goto RET_LABEL11; +RET_LABEL11:(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 AType */ -cltype17 = type_parser_nodes__AType.color; -idtype18 = type_parser_nodes__AType.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; -} else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; +var9 = var10; } -if (!var16) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4514); -show_backtrace(1); +if (var9){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on */ +var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL15:(void)0; } -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val = var_new_child; /* _n_type on */ -} else { -var19 = NULL; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val = var19; /* _n_type on */ } -goto RET_LABEL; } else { } -var20 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val; /* _n_assign on */ -if (var20 == NULL) { -var21 = 0; /* cannot be null */ -} else { -var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on */; +RET_LABEL:; } -if (var21){ -var22 = NULL; -if (var_new_child == NULL) { -var23 = 0; /* is null */ -} else { -var23 = 1; /* arg is null and recv is not */ +/* method parser_prod#AContinueExpr#init_acontinueexpr for (self: Object, nullable TKwcontinue, nullable ALabel) */ +void VIRTUAL_parser_prod__AContinueExpr__init_acontinueexpr(val* self, val* p0, val* p1) { +parser_prod__AContinueExpr__init_acontinueexpr(self, p0, p1); /* Direct call parser_prod#AContinueExpr#init_acontinueexpr on */ +RET_LABEL:; } -if (var23){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TAssign */ -cltype25 = type_parser_nodes__TAssign.color; -idtype26 = type_parser_nodes__TAssign.id; -if(cltype25 >= var_new_child->type->table_size) { -var24 = 0; +/* method parser_prod#AContinueExpr#replace_child for (self: AContinueExpr, ANode, nullable ANode) */ +void parser_prod__AContinueExpr__replace_child(val* self, val* p0, val* p1) { +val* var_old_child /* var old_child: ANode */; +val* var_new_child /* var new_child: nullable ANode */; +val* var /* : nullable TKwcontinue */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +val* var8 /* : nullable ALabel */; +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__AContinueExpr___n_kwcontinue].val; /* _n_kwcontinue on */ +if (var == NULL) { +var1 = 0; /* cannot be null */ } else { -var24 = var_new_child->type->type_table[cltype25] == idtype26; +{ /* 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 (!var24) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4524); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val = var_new_child; /* _n_assign on */ -} else { -var27 = NULL; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val = var27; /* _n_assign on */ +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -goto RET_LABEL; -} else { +var1 = var2; } -var28 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on */ -if (var28 == NULL) { -var29 = 0; /* cannot be null */ +if (var1){ +/* isa nullable TKwcontinue */ +cltype = type_nullable_parser_nodes__TKwcontinue.color; +idtype = type_nullable_parser_nodes__TKwcontinue.id; +if(var_new_child == NULL) { +var7 = 1; } else { -var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on */; -} -if (var29){ -var30 = NULL; -if (var_new_child == NULL) { -var31 = 0; /* is null */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var31 = 1; /* arg is null and recv is not */ +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (var31){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype33 = type_parser_nodes__AExpr.color; -idtype34 = type_parser_nodes__AExpr.id; -if(cltype33 >= var_new_child->type->table_size) { -var32 = 0; -} else { -var32 = var_new_child->type->type_table[cltype33] == idtype34; } -if (!var32) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4534); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwcontinue", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2376); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -var35 = NULL; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val = var35; /* _n_expr on */ +{ +parser_prod__AContinueExpr__n_kwcontinue_61d(self, var_new_child); /* Direct call parser_prod#AContinueExpr#n_kwcontinue= on */ } goto RET_LABEL; } else { } -var36 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var36 == NULL) { -var37 = 0; /* cannot be null */ +var8 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var37 = ((short int (*)(val*, val*))(var36->class->vft[COLOR_kernel__Object___61d_61d]))(var36, 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 (var37){ -var38 = NULL; -if (var_new_child == NULL) { -var39 = 0; /* is null */ -} else { -var39 = 1; /* arg is null and recv is not */ } -if (var39){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype41 = type_parser_nodes__AAnnotations.color; -idtype42 = type_parser_nodes__AAnnotations.id; -if(cltype41 >= var_new_child->type->table_size) { -var40 = 0; -} else { -var40 = var_new_child->type->type_table[cltype41] == idtype42; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -if (!var40) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4544); -show_backtrace(1); +var9 = var10; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +if (var9){ +/* isa nullable ALabel */ +cltype16 = type_nullable_parser_nodes__ALabel.color; +idtype17 = type_nullable_parser_nodes__ALabel.id; +if(var_new_child == NULL) { +var15 = 1; } else { -var43 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var43; /* _n_annotations on */ -} -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#AVardeclExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AVardeclExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AVardeclExpr__replace_child(self, p0, p1); -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 ALabel", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2380); +show_backtrace(1); } -/* method parser_prod#AVardeclExpr#n_kwvar= for (self: AVardeclExpr, TKwvar) */ -void parser_prod__AVardeclExpr__n_kwvar_61d(val* self, val* p0) { -val* var_node /* var node: TKwvar */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_kwvar].val = var_node; /* _n_kwvar on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +{ +parser_prod__AContinueExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#AContinueExpr#n_label= on */ } -/* method parser_prod#AVardeclExpr#n_kwvar= for (self: Object, TKwvar) */ -void VIRTUAL_parser_prod__AVardeclExpr__n_kwvar_61d(val* self, val* p0) { -parser_prod__AVardeclExpr__n_kwvar_61d(self, p0); -RET_LABEL:; +goto RET_LABEL; +} else { } -/* method parser_prod#AVardeclExpr#n_id= for (self: AVardeclExpr, TId) */ -void parser_prod__AVardeclExpr__n_id_61d(val* self, val* p0) { -val* var_node /* var node: TId */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_id].val = var_node; /* _n_id on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AVardeclExpr#n_id= for (self: Object, TId) */ -void VIRTUAL_parser_prod__AVardeclExpr__n_id_61d(val* self, val* p0) { -parser_prod__AVardeclExpr__n_id_61d(self, p0); +/* method parser_prod#AContinueExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AContinueExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AContinueExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AContinueExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AVardeclExpr#n_type= for (self: AVardeclExpr, nullable AType) */ -void parser_prod__AVardeclExpr__n_type_61d(val* self, val* p0) { -val* var_node /* var node: nullable AType */; +/* method parser_prod#AContinueExpr#n_kwcontinue= for (self: AContinueExpr, nullable TKwcontinue) */ +void parser_prod__AContinueExpr__n_kwcontinue_61d(val* self, val* p0) { +val* var_node /* var node: nullable TKwcontinue */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val = var_node; /* _n_type on */ +self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val = var_node; /* _n_kwcontinue on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } -if (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#AVardeclExpr#n_type= for (self: Object, nullable AType) */ -void VIRTUAL_parser_prod__AVardeclExpr__n_type_61d(val* self, val* p0) { -parser_prod__AVardeclExpr__n_type_61d(self, p0); -RET_LABEL:; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#AVardeclExpr#n_assign= for (self: AVardeclExpr, nullable TAssign) */ -void parser_prod__AVardeclExpr__n_assign_61d(val* self, val* p0) { -val* var_node /* var node: nullable TAssign */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val = var_node; /* _n_assign on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +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#AVardeclExpr#n_assign= for (self: Object, nullable TAssign) */ -void VIRTUAL_parser_prod__AVardeclExpr__n_assign_61d(val* self, val* p0) { -parser_prod__AVardeclExpr__n_assign_61d(self, p0); +/* method parser_prod#AContinueExpr#n_kwcontinue= for (self: Object, nullable TKwcontinue) */ +void VIRTUAL_parser_prod__AContinueExpr__n_kwcontinue_61d(val* self, val* p0) { +parser_prod__AContinueExpr__n_kwcontinue_61d(self, p0); /* Direct call parser_prod#AContinueExpr#n_kwcontinue= on */ RET_LABEL:; } -/* method parser_prod#AVardeclExpr#n_expr= for (self: AVardeclExpr, nullable AExpr) */ -void parser_prod__AVardeclExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; +/* method parser_prod#AContinueExpr#n_label= for (self: AContinueExpr, nullable ALabel) */ +void parser_prod__AContinueExpr__n_label_61d(val* self, val* p0) { +val* var_node /* var node: nullable ALabel */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val = var_node; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } 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#AVardeclExpr#n_expr= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AVardeclExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AVardeclExpr__n_expr_61d(self, p0); -RET_LABEL:; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#AVardeclExpr#n_annotations= for (self: AVardeclExpr, nullable AAnnotations) */ -void parser_prod__AVardeclExpr__n_annotations_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAnnotations */; -val* var /* : null */; -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 */ -} else { -var1 = 1; /* arg is null and recv is not */ +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#AVardeclExpr#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AVardeclExpr__n_annotations_61d(val* self, val* p0) { -parser_prod__AVardeclExpr__n_annotations_61d(self, p0); +/* method parser_prod#AContinueExpr#n_label= for (self: Object, nullable ALabel) */ +void VIRTUAL_parser_prod__AContinueExpr__n_label_61d(val* self, val* p0) { +parser_prod__AContinueExpr__n_label_61d(self, p0); /* Direct call parser_prod#AContinueExpr#n_label= on */ RET_LABEL:; } -/* method parser_prod#AVardeclExpr#visit_all for (self: AVardeclExpr, Visitor) */ -void parser_prod__AVardeclExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AContinueExpr#visit_all for (self: AContinueExpr, Visitor) */ +void parser_prod__AContinueExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwvar */; -val* var1 /* : TId */; -val* var2 /* : nullable AType */; -val* var3 /* : null */; -short int var4 /* : Bool */; -val* var5 /* : nullable AType */; -val* var6 /* : nullable TAssign */; -val* var7 /* : null */; -short int var8 /* : Bool */; -val* var9 /* : nullable TAssign */; -val* var10 /* : nullable AExpr */; -val* var11 /* : null */; -short int var12 /* : Bool */; -val* var13 /* : nullable AExpr */; -val* var14 /* : nullable AAnnotations */; -val* var15 /* : null */; -short int var16 /* : Bool */; -val* var17 /* : nullable AAnnotations */; +val* var /* : nullable TKwcontinue */; +val* var1 /* : nullable ALabel */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_kwvar].val; /* _n_kwvar on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwvar"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4595); -show_backtrace(1); +var = self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val; /* _n_kwcontinue 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__AVardeclExpr___n_id].val; /* _n_id on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4596); -show_backtrace(1); +var1 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +{ +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, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val; /* _n_type on */ -var3 = NULL; -if (var2 == NULL) { -var4 = 0; /* is null */ -} else { -var4 = 1; /* arg is null and recv is not */ +RET_LABEL:; } -if (var4){ -var5 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val; /* _n_type on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4598); +/* method parser_prod#AContinueExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AContinueExpr__visit_all(val* self, val* p0) { +parser_prod__AContinueExpr__visit_all(self, p0); /* Direct call parser_prod#AContinueExpr#visit_all on */ +RET_LABEL:; +} +/* method parser_prod#ADoExpr#init_adoexpr for (self: ADoExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */ +void parser_prod__ADoExpr__init_adoexpr(val* self, val* p0, val* p1, val* p2) { +val* var_n_kwdo /* var n_kwdo: nullable TKwdo */; +val* var_n_block /* var n_block: nullable AExpr */; +val* var_n_label /* var n_label: nullable ALabel */; +val* var /* : null */; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +val* var9 /* : null */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +var_n_kwdo = p0; +var_n_block = p1; +var_n_label = p2; +if (unlikely(var_n_kwdo == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2410); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on */; +self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on */ +if (var_n_kwdo == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2411); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on */ +if (unlikely(var_n_kwdo == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -var6 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val; /* _n_assign on */ -var7 = NULL; -if (var6 == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +var_n_kwdo->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (var8){ -var9 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_assign].val; /* _n_assign on */ -if (var9 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4601); -show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on */; +self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val = var_n_block; /* _n_block on */ +var = NULL; +if (var_n_block == NULL) { +var2 = 0; /* is null */ } else { +var2 = 1; /* arg is null and recv is not */ } -var10 = self->attrs[COLOR_parser_nodes__AVardeclExpr___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 (0) { +{ /* Inline kernel#Object#!= (var_n_block,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_block, var_other) /* == on */; +var5 = var6; } -if (var12){ -var13 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on */ -if (var13 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4604); -show_backtrace(1); +var7 = !var5; +var3 = var7; +goto RET_LABEL4; +RET_LABEL4:(void)0; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var13) /* enter_visit on */; -} else { +var2 = var3; } -var14 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var15 = NULL; -if (var14 == NULL) { -var16 = 0; /* is null */ -} else { -var16 = 1; /* arg is null and recv is not */ +if (var2){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on */ +var_n_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; } -if (var16){ -var17 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var17 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4607); -show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var17) /* enter_visit on */; } else { } -RET_LABEL:; -} -/* method parser_prod#AVardeclExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AVardeclExpr__visit_all(val* self, val* p0) { -parser_prod__AVardeclExpr__visit_all(self, p0); -RET_LABEL:; +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 */ } -/* method parser_prod#AReturnExpr#empty_init for (self: AReturnExpr) */ -void parser_prod__AReturnExpr__empty_init(val* self) { -RET_LABEL:; +if (0) { +{ /* Inline kernel#Object#!= (var_n_label,var9) on */ +var_other = var9; +{ +var14 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on */; +var13 = var14; } -/* method parser_prod#AReturnExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AReturnExpr__empty_init(val* self) { -parser_prod__AReturnExpr__empty_init(self); -RET_LABEL:; +var15 = !var13; +var11 = var15; +goto RET_LABEL12; +RET_LABEL12:(void)0; } -/* method parser_prod#AReturnExpr#init_areturnexpr for (self: AReturnExpr, nullable TKwreturn, nullable AExpr) */ -void parser_prod__AReturnExpr__init_areturnexpr(val* self, val* p0, val* p1) { -val* var_n_kwreturn /* var n_kwreturn: nullable TKwreturn */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -var_n_kwreturn = p0; -var_n_expr = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AReturnExpr__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val = var_n_kwreturn; /* _n_kwreturn on */ -var = NULL; -if (var_n_kwreturn == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +var10 = var11; } -if (var1){ -((void (*)(val*, val*))(var_n_kwreturn->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwreturn, self) /* parent= on */; -} else { +if (var10){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on */ +var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL16:(void)0; } -self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val = var_n_expr; /* _n_expr on */ -var2 = NULL; -if (var_n_expr == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ } -if (var3){ -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#AReturnExpr#init_areturnexpr for (self: Object, nullable TKwreturn, nullable AExpr) */ -void VIRTUAL_parser_prod__AReturnExpr__init_areturnexpr(val* self, val* p0, val* p1) { -parser_prod__AReturnExpr__init_areturnexpr(self, p0, p1); +/* method parser_prod#ADoExpr#init_adoexpr for (self: Object, nullable TKwdo, nullable AExpr, nullable ALabel) */ +void VIRTUAL_parser_prod__ADoExpr__init_adoexpr(val* self, val* p0, val* p1, val* p2) { +parser_prod__ADoExpr__init_adoexpr(self, p0, p1, p2); /* Direct call parser_prod#ADoExpr#init_adoexpr on */ RET_LABEL:; } -/* method parser_prod#AReturnExpr#replace_child for (self: AReturnExpr, ANode, nullable ANode) */ -void parser_prod__AReturnExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ADoExpr#replace_child for (self: ADoExpr, ANode, nullable ANode) */ +void parser_prod__ADoExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : nullable TKwreturn */; +val* var /* : TKwdo */; 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 /* : null */; -val* var6 /* : nullable AExpr */; -short int var7 /* : Bool */; -val* var8 /* : null */; +const char* var_class_name; +val* var8 /* : nullable AExpr */; short int var9 /* : Bool */; short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : nullable ALabel */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val; /* _n_kwreturn on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} else { -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; +var = self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val; /* _n_kwdo on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2420); +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){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TKwdo */ +cltype = type_parser_nodes__TKwdo.color; +idtype = type_parser_nodes__TKwdo.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 TKwreturn */ -cltype = type_parser_nodes__TKwreturn.color; -idtype = type_parser_nodes__TKwreturn.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4635); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2421); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val = var_new_child; /* _n_kwreturn on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val = var5; /* _n_kwreturn on */ +{ +parser_prod__ADoExpr__n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#ADoExpr#n_kwdo= on */ } goto RET_LABEL; } else { } -var6 = self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val; /* _n_expr on */ -if (var6 == NULL) { -var7 = 0; /* cannot be null */ +var8 = self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val; /* _n_block on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, 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 (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 1; /* arg is null and recv is not */ +} +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; } if (var9){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype11 = type_parser_nodes__AExpr.color; -idtype12 = type_parser_nodes__AExpr.id; -if(cltype11 >= var_new_child->type->table_size) { -var10 = 0; +/* isa nullable AExpr */ +cltype16 = type_nullable_parser_nodes__AExpr.color; +idtype17 = type_nullable_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var15 = 1; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var10 = var_new_child->type->type_table[cltype11] == idtype12; +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -if (!var10) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4645); +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2425); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val = var_new_child; /* _n_expr on */ +{ +parser_prod__ADoExpr__n_block_61d(self, var_new_child); /* Direct call parser_prod#ADoExpr#n_block= on */ +} +goto RET_LABEL; +} else { +} +var19 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +if (var19 == NULL) { +var20 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var19,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ +var25 = var19 == var_other; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +if (var20){ +/* isa nullable ALabel */ +cltype27 = type_nullable_parser_nodes__ALabel.color; +idtype28 = type_nullable_parser_nodes__ALabel.id; +if(var_new_child == NULL) { +var26 = 1; } else { -var13 = NULL; -self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val = var13; /* _n_expr 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 ALabel", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2429); +show_backtrace(1); +} +{ +parser_prod__ADoExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#ADoExpr#n_label= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AReturnExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AReturnExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AReturnExpr__replace_child(self, p0, p1); +/* method parser_prod#ADoExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ADoExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ADoExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ADoExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AReturnExpr#n_kwreturn= for (self: AReturnExpr, nullable TKwreturn) */ -void parser_prod__AReturnExpr__n_kwreturn_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwreturn */; +/* method parser_prod#ADoExpr#n_kwdo= for (self: ADoExpr, TKwdo) */ +void parser_prod__ADoExpr__n_kwdo_61d(val* self, val* p0) { +val* var_node /* var node: TKwdo */; +var_node = p0; +self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val = var_node; /* _n_kwdo on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#ADoExpr#n_kwdo= for (self: Object, TKwdo) */ +void VIRTUAL_parser_prod__ADoExpr__n_kwdo_61d(val* self, val* p0) { +parser_prod__ADoExpr__n_kwdo_61d(self, p0); /* Direct call parser_prod#ADoExpr#n_kwdo= on */ +RET_LABEL:; +} +/* method parser_prod#ADoExpr#n_block= for (self: ADoExpr, nullable AExpr) */ +void parser_prod__ADoExpr__n_block_61d(val* self, val* p0) { +val* var_node /* var node: nullable AExpr */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val = var_node; /* _n_kwreturn on */ +self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val = var_node; /* _n_block on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } +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#AReturnExpr#n_kwreturn= for (self: Object, nullable TKwreturn) */ -void VIRTUAL_parser_prod__AReturnExpr__n_kwreturn_61d(val* self, val* p0) { -parser_prod__AReturnExpr__n_kwreturn_61d(self, p0); +/* method parser_prod#ADoExpr#n_block= for (self: Object, nullable AExpr) */ +void VIRTUAL_parser_prod__ADoExpr__n_block_61d(val* self, val* p0) { +parser_prod__ADoExpr__n_block_61d(self, p0); /* Direct call parser_prod#ADoExpr#n_block= on */ RET_LABEL:; } -/* method parser_prod#AReturnExpr#n_expr= for (self: AReturnExpr, nullable AExpr) */ -void parser_prod__AReturnExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; +/* method parser_prod#ADoExpr#n_label= for (self: ADoExpr, nullable ALabel) */ +void parser_prod__ADoExpr__n_label_61d(val* self, val* p0) { +val* var_node /* var node: nullable ALabel */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val = var_node; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } 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#AReturnExpr#n_expr= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AReturnExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AReturnExpr__n_expr_61d(self, p0); +/* method parser_prod#ADoExpr#n_label= for (self: Object, nullable ALabel) */ +void VIRTUAL_parser_prod__ADoExpr__n_label_61d(val* self, val* p0) { +parser_prod__ADoExpr__n_label_61d(self, p0); /* Direct call parser_prod#ADoExpr#n_label= on */ RET_LABEL:; } -/* method parser_prod#AReturnExpr#visit_all for (self: AReturnExpr, Visitor) */ -void parser_prod__AReturnExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ADoExpr#visit_all for (self: ADoExpr, Visitor) */ +void parser_prod__ADoExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : nullable TKwreturn */; -val* var1 /* : null */; -short int var2 /* : Bool */; -val* var3 /* : nullable TKwreturn */; -val* var4 /* : nullable AExpr */; -val* var5 /* : null */; -short int var6 /* : Bool */; -val* var7 /* : nullable AExpr */; +val* var /* : TKwdo */; +val* var1 /* : nullable AExpr */; +val* var2 /* : nullable ALabel */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val; /* _n_kwreturn on */ -var1 = NULL; -if (var == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ +var = self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val; /* _n_kwdo on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2453); +show_backtrace(1); } -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__AReturnExpr___n_kwreturn].val; /* _n_kwreturn on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4673); +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var1 = self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val; /* _n_block on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var2 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +RET_LABEL:; +} +/* method parser_prod#ADoExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ADoExpr__visit_all(val* self, val* p0) { +parser_prod__ADoExpr__visit_all(self, p0); /* Direct call parser_prod#ADoExpr#visit_all on */ +RET_LABEL:; +} +/* method parser_prod#AIfExpr#init_aifexpr for (self: AIfExpr, nullable TKwif, nullable AExpr, nullable AExpr, nullable AExpr) */ +void parser_prod__AIfExpr__init_aifexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +val* var_n_kwif /* var n_kwif: nullable TKwif */; +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_then /* var n_then: nullable AExpr */; +val* var_n_else /* var n_else: nullable AExpr */; +val* var /* : null */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +val* var10 /* : null */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; +var_n_kwif = p0; +var_n_expr = p1; +var_n_then = p2; +var_n_else = p3; +if (unlikely(var_n_kwif == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2466); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; +self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val = var_n_kwif; /* _n_kwif on */ +if (var_n_kwif == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2467); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwif,self) on */ +if (unlikely(var_n_kwif == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -var4 = self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val; /* _n_expr on */ -var5 = NULL; -if (var4 == NULL) { -var6 = 0; /* is null */ +var_n_kwif->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", 2468); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AIfExpr___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", 2469); +show_backtrace(1); } else { -var6 = 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); +} +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val; /* _n_expr on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4676); -show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; +self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val = var_n_then; /* _n_then on */ +var = NULL; +if (var_n_then == NULL) { +var3 = 0; /* is null */ } else { +var3 = 1; /* arg is null and recv is not */ } -RET_LABEL:; +if (0) { +{ /* Inline kernel#Object#!= (var_n_then,var) on */ +var_other = var; +{ +var7 = ((short int (*)(val*, val*))(var_n_then->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_then, var_other) /* == on */; +var6 = var7; } -/* method parser_prod#AReturnExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AReturnExpr__visit_all(val* self, val* p0) { -parser_prod__AReturnExpr__visit_all(self, p0); -RET_LABEL:; +var8 = !var6; +var4 = var8; +goto RET_LABEL5; +RET_LABEL5:(void)0; } -/* method parser_prod#ABreakExpr#empty_init for (self: ABreakExpr) */ -void parser_prod__ABreakExpr__empty_init(val* self) { -RET_LABEL:; +var3 = var4; } -/* method parser_prod#ABreakExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ABreakExpr__empty_init(val* self) { -parser_prod__ABreakExpr__empty_init(self); -RET_LABEL:; +if (var3){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_then,self) on */ +var_n_then->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL9:(void)0; } -/* method parser_prod#ABreakExpr#init_abreakexpr for (self: ABreakExpr, nullable TKwbreak, nullable ALabel, nullable AExpr) */ -void parser_prod__ABreakExpr__init_abreakexpr(val* self, val* p0, val* p1, val* p2) { -val* var_n_kwbreak /* var n_kwbreak: nullable TKwbreak */; -val* var_n_label /* var n_label: nullable ALabel */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -var_n_kwbreak = p0; -var_n_label = p1; -var_n_expr = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABreakExpr__empty_init]))(self) /* empty_init on */; -if (var_n_kwbreak == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4690); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABreakExpr___n_kwbreak].val = var_n_kwbreak; /* _n_kwbreak on */ -if (var_n_kwbreak == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4691); -show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwbreak->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwbreak, self) /* parent= on */; } -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ -var = NULL; -if (var_n_label == NULL) { -var1 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val = var_n_else; /* _n_else on */ +var10 = NULL; +if (var_n_else == NULL) { +var11 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ +var11 = 1; /* arg is null and recv is not */ } -if (var1){ -((void (*)(val*, val*))(var_n_label->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_label, self) /* parent= on */; -} else { +if (0) { +{ /* Inline kernel#Object#!= (var_n_else,var10) on */ +var_other = var10; +{ +var15 = ((short int (*)(val*, val*))(var_n_else->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_else, var_other) /* == on */; +var14 = var15; +} +var16 = !var14; +var12 = var16; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +var11 = var12; +} +if (var11){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_else,self) on */ +var_n_else->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL17:(void)0; } -self->attrs[COLOR_parser_nodes__ABreakExpr___n_expr].val = var_n_expr; /* _n_expr on */ -var2 = NULL; -if (var_n_expr == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ } -if (var3){ -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#ABreakExpr#init_abreakexpr for (self: Object, nullable TKwbreak, nullable ALabel, nullable AExpr) */ -void VIRTUAL_parser_prod__ABreakExpr__init_abreakexpr(val* self, val* p0, val* p1, val* p2) { -parser_prod__ABreakExpr__init_abreakexpr(self, p0, p1, p2); +/* method parser_prod#AIfExpr#init_aifexpr for (self: Object, nullable TKwif, nullable AExpr, nullable AExpr, nullable AExpr) */ +void VIRTUAL_parser_prod__AIfExpr__init_aifexpr(val* self, val* p0, val* p1, val* p2, val* p3) { +parser_prod__AIfExpr__init_aifexpr(self, p0, p1, p2, p3); /* Direct call parser_prod#AIfExpr#init_aifexpr on */ RET_LABEL:; } -/* method parser_prod#ABreakExpr#replace_child for (self: ABreakExpr, ANode, nullable ANode) */ -void parser_prod__ABreakExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AIfExpr#replace_child for (self: AIfExpr, ANode, nullable ANode) */ +void parser_prod__AIfExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwbreak */; +val* var /* : TKwif */; 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 ALabel */; -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 */; -val* var13 /* : nullable AExpr */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; short int var14 /* : Bool */; -val* var15 /* : null */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var20 /* : null */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : nullable AExpr */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : nullable AExpr */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +const char* var_class_name40; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ABreakExpr___n_kwbreak].val; /* _n_kwbreak on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwbreak"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4704); +var = self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val; /* _n_kwif on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2478); show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +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){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TKwif */ +cltype = type_parser_nodes__TKwif.color; +idtype = type_parser_nodes__TKwif.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 TKwbreak */ -cltype = type_parser_nodes__TKwbreak.color; -idtype = type_parser_nodes__TKwbreak.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4707); +} +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwif", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2479); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABreakExpr___n_kwbreak].val = var_new_child; /* _n_kwbreak on */ +{ +parser_prod__AIfExpr__n_kwif_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_kwif= on */ +} +goto RET_LABEL; } else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4710); +} +var8 = self->attrs[COLOR_parser_nodes__AIfExpr___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", 2482); show_backtrace(1); } -goto RET_LABEL; +{ +{ /* 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", 2483); +show_backtrace(1); } -var5 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ +{ +parser_prod__AIfExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_expr= 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__AIfExpr___n_then].val; /* _n_then 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; +} } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa ALabel */ -cltype10 = type_parser_nodes__ALabel.color; -idtype11 = type_parser_nodes__ALabel.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +if (var20){ +/* isa nullable AExpr */ +cltype27 = type_nullable_parser_nodes__AExpr.color; +idtype28 = type_nullable_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var26 = 1; +} else { +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -if (!var9) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4717); +} +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2487); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on */ -} else { -var12 = NULL; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var12; /* _n_label on */ +{ +parser_prod__AIfExpr__n_then_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_then= on */ } goto RET_LABEL; } else { } -var13 = self->attrs[COLOR_parser_nodes__ABreakExpr___n_expr].val; /* _n_expr on */ -if (var13 == NULL) { -var14 = 0; /* cannot be null */ +var30 = self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ +if (var30 == NULL) { +var31 = 0; /* cannot be null */ } else { -var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on */; +{ /* Inline kernel#Object#== (var30,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ +var36 = var30 == var_other; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; } -if (var14){ -var15 = NULL; -if (var_new_child == NULL) { -var16 = 0; /* is null */ -} else { -var16 = 1; /* arg is null and recv is not */ } -if (var16){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype18 = type_parser_nodes__AExpr.color; -idtype19 = type_parser_nodes__AExpr.id; -if(cltype18 >= var_new_child->type->table_size) { -var17 = 0; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +var31 = var32; +} +if (var31){ +/* isa nullable AExpr */ +cltype38 = type_nullable_parser_nodes__AExpr.color; +idtype39 = type_nullable_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var37 = 1; +} else { +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -var17 = var_new_child->type->type_table[cltype18] == idtype19; +var37 = var_new_child->type->type_table[cltype38] == idtype39; +} } -if (!var17) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4727); +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2491); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ABreakExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -var20 = NULL; -self->attrs[COLOR_parser_nodes__ABreakExpr___n_expr].val = var20; /* _n_expr on */ +{ +parser_prod__AIfExpr__n_else_61d(self, var_new_child); /* Direct call parser_prod#AIfExpr#n_else= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ABreakExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ABreakExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ABreakExpr__replace_child(self, p0, p1); +/* method parser_prod#AIfExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AIfExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AIfExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AIfExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ABreakExpr#n_kwbreak= for (self: ABreakExpr, TKwbreak) */ -void parser_prod__ABreakExpr__n_kwbreak_61d(val* self, val* p0) { -val* var_node /* var node: TKwbreak */; +/* method parser_prod#AIfExpr#n_kwif= for (self: AIfExpr, TKwif) */ +void parser_prod__AIfExpr__n_kwif_61d(val* self, val* p0) { +val* var_node /* var node: TKwif */; var_node = p0; -self->attrs[COLOR_parser_nodes__ABreakExpr___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 */; +self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val = var_node; /* _n_kwif on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#ABreakExpr#n_kwbreak= for (self: Object, TKwbreak) */ -void VIRTUAL_parser_prod__ABreakExpr__n_kwbreak_61d(val* self, val* p0) { -parser_prod__ABreakExpr__n_kwbreak_61d(self, p0); +/* method parser_prod#AIfExpr#n_kwif= for (self: Object, TKwif) */ +void VIRTUAL_parser_prod__AIfExpr__n_kwif_61d(val* self, val* p0) { +parser_prod__AIfExpr__n_kwif_61d(self, p0); /* Direct call parser_prod#AIfExpr#n_kwif= on */ RET_LABEL:; } -/* method parser_prod#ABreakExpr#n_label= for (self: ABreakExpr, nullable ALabel) */ -void parser_prod__ABreakExpr__n_label_61d(val* self, val* p0) { -val* var_node /* var node: nullable ALabel */; +/* method parser_prod#AIfExpr#n_expr= for (self: AIfExpr, AExpr) */ +void parser_prod__AIfExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val = var_node; /* _n_expr on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AIfExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AIfExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AIfExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AIfExpr#n_expr= on */ +RET_LABEL:; +} +/* method parser_prod#AIfExpr#n_then= for (self: AIfExpr, nullable AExpr) */ +void parser_prod__AIfExpr__n_then_61d(val* self, val* p0) { +val* var_node /* var node: nullable AExpr */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ +self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val = var_node; /* _n_then on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} if (var1){ -((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#ABreakExpr#n_label= for (self: Object, nullable ALabel) */ -void VIRTUAL_parser_prod__ABreakExpr__n_label_61d(val* self, val* p0) { -parser_prod__ABreakExpr__n_label_61d(self, p0); +/* method parser_prod#AIfExpr#n_then= for (self: Object, nullable AExpr) */ +void VIRTUAL_parser_prod__AIfExpr__n_then_61d(val* self, val* p0) { +parser_prod__AIfExpr__n_then_61d(self, p0); /* Direct call parser_prod#AIfExpr#n_then= on */ RET_LABEL:; } -/* method parser_prod#ABreakExpr#n_expr= for (self: ABreakExpr, nullable AExpr) */ -void parser_prod__ABreakExpr__n_expr_61d(val* self, val* p0) { +/* method parser_prod#AIfExpr#n_else= for (self: AIfExpr, nullable AExpr) */ +void parser_prod__AIfExpr__n_else_61d(val* self, val* p0) { val* var_node /* var node: nullable AExpr */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ABreakExpr___n_expr].val = var_node; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val = var_node; /* _n_else on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} if (var1){ -((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#ABreakExpr#n_expr= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__ABreakExpr__n_expr_61d(val* self, val* p0) { -parser_prod__ABreakExpr__n_expr_61d(self, p0); +/* method parser_prod#AIfExpr#n_else= for (self: Object, nullable AExpr) */ +void VIRTUAL_parser_prod__AIfExpr__n_else_61d(val* self, val* p0) { +parser_prod__AIfExpr__n_else_61d(self, p0); /* Direct call parser_prod#AIfExpr#n_else= on */ RET_LABEL:; } -/* method parser_prod#ABreakExpr#visit_all for (self: ABreakExpr, Visitor) */ -void parser_prod__ABreakExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AIfExpr#visit_all for (self: AIfExpr, Visitor) */ +void parser_prod__AIfExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwbreak */; -val* var1 /* : nullable ALabel */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : nullable ALabel */; -val* var5 /* : nullable AExpr */; -val* var6 /* : null */; -short int var7 /* : Bool */; -val* var8 /* : nullable AExpr */; +val* var /* : TKwif */; +val* var1 /* : AExpr */; +val* var2 /* : nullable AExpr */; +val* var3 /* : nullable AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ABreakExpr___n_kwbreak].val; /* _n_kwbreak on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwbreak"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4759); +var = self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val; /* _n_kwif on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2520); 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__ALabelable___n_label].val; /* _n_label on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var1 = self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2521); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var2 = self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var3 = self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +RET_LABEL:; +} +/* method parser_prod#AIfExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AIfExpr__visit_all(val* self, val* p0) { +parser_prod__AIfExpr__visit_all(self, p0); /* Direct call parser_prod#AIfExpr#visit_all on */ +RET_LABEL:; +} +/* method parser_prod#AIfexprExpr#init_aifexprexpr for (self: AIfexprExpr, nullable TKwif, nullable AExpr, nullable TKwthen, nullable AExpr, nullable TKwelse, nullable AExpr) */ +void parser_prod__AIfexprExpr__init_aifexprexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { +val* var_n_kwif /* var n_kwif: nullable TKwif */; +val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_kwthen /* var n_kwthen: nullable TKwthen */; +val* var_n_then /* var n_then: nullable AExpr */; +val* var_n_kwelse /* var n_kwelse: nullable TKwelse */; +val* var_n_else /* var n_else: nullable AExpr */; +var_n_kwif = p0; +var_n_expr = p1; +var_n_kwthen = p2; +var_n_then = p3; +var_n_kwelse = p4; +var_n_else = p5; +if (unlikely(var_n_kwif == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2536); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val = var_n_kwif; /* _n_kwif on */ +if (var_n_kwif == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2537); +show_backtrace(1); } else { -var3 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwif,self) on */ +if (unlikely(var_n_kwif == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4761); +var_n_kwif->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", 2538); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AIfexprExpr___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", 2539); +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_kwthen == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2540); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; +self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val = var_n_kwthen; /* _n_kwthen on */ +if (var_n_kwthen == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2541); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwthen,self) on */ +if (unlikely(var_n_kwthen == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -var5 = self->attrs[COLOR_parser_nodes__ABreakExpr___n_expr].val; /* _n_expr on */ -var6 = NULL; -if (var5 == NULL) { -var7 = 0; /* is null */ -} else { -var7 = 1; /* arg is null and recv is not */ +var_n_kwthen->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; } -if (var7){ -var8 = self->attrs[COLOR_parser_nodes__ABreakExpr___n_expr].val; /* _n_expr on */ -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4764); +} +if (unlikely(var_n_then == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2542); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on */; +self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val = var_n_then; /* _n_then on */ +if (var_n_then == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2543); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_then,self) on */ +if (unlikely(var_n_then == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -RET_LABEL:; +var_n_then->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL4:(void)0; } -/* method parser_prod#ABreakExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ABreakExpr__visit_all(val* self, val* p0) { -parser_prod__ABreakExpr__visit_all(self, p0); -RET_LABEL:; } -/* method parser_prod#AAbortExpr#empty_init for (self: AAbortExpr) */ -void parser_prod__AAbortExpr__empty_init(val* self) { -RET_LABEL:; +if (unlikely(var_n_kwelse == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2544); +show_backtrace(1); } -/* method parser_prod#AAbortExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AAbortExpr__empty_init(val* self) { -parser_prod__AAbortExpr__empty_init(self); -RET_LABEL:; +self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val = var_n_kwelse; /* _n_kwelse on */ +if (var_n_kwelse == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2545); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwelse,self) on */ +if (unlikely(var_n_kwelse == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -/* method parser_prod#AAbortExpr#init_aabortexpr for (self: AAbortExpr, nullable TKwabort) */ -void parser_prod__AAbortExpr__init_aabortexpr(val* self, val* p0) { -val* var_n_kwabort /* var n_kwabort: nullable TKwabort */; -var_n_kwabort = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAbortExpr__empty_init]))(self) /* empty_init on */; -if (var_n_kwabort == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4776); +var_n_kwelse->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL5:(void)0; +} +} +if (unlikely(var_n_else == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2546); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val = var_n_kwabort; /* _n_kwabort on */ -if (var_n_kwabort == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4777); +self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val = var_n_else; /* _n_else on */ +if (var_n_else == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2547); show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwabort->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwabort, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_else,self) on */ +if (unlikely(var_n_else == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_else->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL6:(void)0; +} } RET_LABEL:; } -/* method parser_prod#AAbortExpr#init_aabortexpr for (self: Object, nullable TKwabort) */ -void VIRTUAL_parser_prod__AAbortExpr__init_aabortexpr(val* self, val* p0) { -parser_prod__AAbortExpr__init_aabortexpr(self, p0); +/* method parser_prod#AIfexprExpr#init_aifexprexpr for (self: Object, nullable TKwif, nullable AExpr, nullable TKwthen, nullable AExpr, nullable TKwelse, nullable AExpr) */ +void VIRTUAL_parser_prod__AIfexprExpr__init_aifexprexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { +parser_prod__AIfexprExpr__init_aifexprexpr(self, p0, p1, p2, p3, p4, p5); /* Direct call parser_prod#AIfexprExpr#init_aifexprexpr on */ RET_LABEL:; } -/* method parser_prod#AAbortExpr#replace_child for (self: AAbortExpr, ANode, nullable ANode) */ -void parser_prod__AAbortExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AIfexprExpr#replace_child for (self: AIfexprExpr, ANode, nullable ANode) */ +void parser_prod__AIfexprExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwabort */; +val* var /* : TKwif */; 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 /* : 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 /* : TKwthen */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : AExpr */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +const char* var_class_name40; +val* var41 /* : TKwelse */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; +short int var47 /* : Bool */; +short int var48 /* : Bool */; +int cltype49; +int idtype50; +const char* var_class_name51; +val* var52 /* : AExpr */; +short int var53 /* : Bool */; +short int var54 /* : Bool */; +short int var56 /* : Bool */; +short int var58 /* : Bool */; +short int var59 /* : Bool */; +int cltype60; +int idtype61; +const char* var_class_name62; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val; /* _n_kwabort on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwabort"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4782); +var = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2552); show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +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){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TKwif */ +cltype = type_parser_nodes__TKwif.color; +idtype = type_parser_nodes__TKwif.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 TKwabort */ -cltype = type_parser_nodes__TKwabort.color; -idtype = type_parser_nodes__TKwabort.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4785); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwif", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2553); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val = var_new_child; /* _n_kwabort on */ +{ +parser_prod__AIfexprExpr__n_kwif_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_kwif= on */ +} +goto RET_LABEL; } else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4788); +} +var8 = self->attrs[COLOR_parser_nodes__AIfexprExpr___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", 2556); show_backtrace(1); } -goto RET_LABEL; +{ +{ /* 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; } -RET_LABEL:; } -/* method parser_prod#AAbortExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AAbortExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AAbortExpr__replace_child(self, p0, p1); -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", 2557); +show_backtrace(1); } -/* method parser_prod#AAbortExpr#n_kwabort= for (self: AAbortExpr, TKwabort) */ -void parser_prod__AAbortExpr__n_kwabort_61d(val* self, val* p0) { -val* var_node /* var node: TKwabort */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val = var_node; /* _n_kwabort on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; +{ +parser_prod__AIfexprExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_expr= on */ } -/* method parser_prod#AAbortExpr#n_kwabort= for (self: Object, TKwabort) */ -void VIRTUAL_parser_prod__AAbortExpr__n_kwabort_61d(val* self, val* p0) { -parser_prod__AAbortExpr__n_kwabort_61d(self, p0); -RET_LABEL:; +goto RET_LABEL; +} else { } -/* method parser_prod#AAbortExpr#visit_all for (self: AAbortExpr, Visitor) */ -void parser_prod__AAbortExpr__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : TKwabort */; -var_v = p0; -var = self->attrs[COLOR_parser_nodes__AAbortExpr___n_kwabort].val; /* _n_kwabort on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwabort"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4803); +var19 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwthen"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2560); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -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#AAbortExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AAbortExpr__visit_all(val* self, val* p0) { -parser_prod__AAbortExpr__visit_all(self, p0); -RET_LABEL:; } -/* method parser_prod#AContinueExpr#empty_init for (self: AContinueExpr) */ -void parser_prod__AContinueExpr__empty_init(val* self) { -RET_LABEL:; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -/* method parser_prod#AContinueExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AContinueExpr__empty_init(val* self) { -parser_prod__AContinueExpr__empty_init(self); -RET_LABEL:; +var20 = var21; } -/* method parser_prod#AContinueExpr#init_acontinueexpr for (self: AContinueExpr, nullable TKwcontinue, nullable ALabel, nullable AExpr) */ -void parser_prod__AContinueExpr__init_acontinueexpr(val* self, val* p0, val* p1, val* p2) { -val* var_n_kwcontinue /* var n_kwcontinue: nullable TKwcontinue */; -val* var_n_label /* var n_label: nullable ALabel */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : null */; -short int var5 /* : Bool */; -var_n_kwcontinue = p0; -var_n_label = p1; -var_n_expr = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AContinueExpr__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val = var_n_kwcontinue; /* _n_kwcontinue on */ -var = NULL; -if (var_n_kwcontinue == NULL) { -var1 = 0; /* is null */ +if (var20){ +/* isa TKwthen */ +cltype27 = type_parser_nodes__TKwthen.color; +idtype28 = type_parser_nodes__TKwthen.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_kwcontinue->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwcontinue, self) /* parent= on */; +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ -var2 = NULL; -if (var_n_label == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ } -if (var3){ -((void (*)(val*, val*))(var_n_label->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_label, self) /* parent= on */; -} else { +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwthen", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2561); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AContinueExpr___n_expr].val = var_n_expr; /* _n_expr on */ -var4 = NULL; -if (var_n_expr == NULL) { -var5 = 0; /* is null */ -} else { -var5 = 1; /* arg is null and recv is not */ +{ +parser_prod__AIfexprExpr__n_kwthen_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_kwthen= on */ } -if (var5){ -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; +goto RET_LABEL; } else { } -RET_LABEL:; +var30 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2564); +show_backtrace(1); } -/* method parser_prod#AContinueExpr#init_acontinueexpr for (self: Object, nullable TKwcontinue, nullable ALabel, nullable AExpr) */ -void VIRTUAL_parser_prod__AContinueExpr__init_acontinueexpr(val* self, val* p0, val* p1, val* p2) { -parser_prod__AContinueExpr__init_acontinueexpr(self, p0, p1, p2); -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#AContinueExpr#replace_child for (self: AContinueExpr, ANode, nullable ANode) */ -void parser_prod__AContinueExpr__replace_child(val* self, val* p0, val* p1) { -val* var_old_child /* var old_child: ANode */; -val* var_new_child /* var new_child: nullable ANode */; -val* var /* : nullable TKwcontinue */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -int cltype; -int idtype; -val* var5 /* : null */; -val* var6 /* : nullable ALabel */; -short int var7 /* : Bool */; -val* var8 /* : null */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; -val* var14 /* : nullable AExpr */; -short int var15 /* : Bool */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : null */; -var_old_child = p0; -var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val; /* _n_kwcontinue on */ -if (var == NULL) { -var1 = 0; /* cannot be null */ -} else { -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 */ +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(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 TKwcontinue */ -cltype = type_parser_nodes__TKwcontinue.color; -idtype = type_parser_nodes__TKwcontinue.id; -if(cltype >= var_new_child->type->table_size) { -var4 = 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 { -var4 = var_new_child->type->type_table[cltype] == idtype; +var37 = var_new_child->type->type_table[cltype38] == idtype39; +} } -if (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4835); +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", 2565); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val = var_new_child; /* _n_kwcontinue on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val = var5; /* _n_kwcontinue on */ +{ +parser_prod__AIfexprExpr__n_then_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_then= on */ } goto RET_LABEL; } else { } -var6 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var6 == NULL) { -var7 = 0; /* cannot be null */ -} else { -var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on */; +var41 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on */ +if (unlikely(var41 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2568); +show_backtrace(1); } -if (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 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 (var9){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa ALabel */ -cltype11 = type_parser_nodes__ALabel.color; -idtype12 = type_parser_nodes__ALabel.id; -if(cltype11 >= var_new_child->type->table_size) { -var10 = 0; +} +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; +} +var42 = var43; +} +if (var42){ +/* isa TKwelse */ +cltype49 = type_parser_nodes__TKwelse.color; +idtype50 = type_parser_nodes__TKwelse.id; +if(var_new_child == NULL) { +var48 = 0; +} else { +if(cltype49 >= var_new_child->type->table_size) { +var48 = 0; } else { -var10 = var_new_child->type->type_table[cltype11] == idtype12; +var48 = var_new_child->type->type_table[cltype49] == idtype50; } -if (!var10) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4845); +} +if (unlikely(!var48)) { +var_class_name51 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwelse", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2569); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on */ -} else { -var13 = NULL; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var13; /* _n_label on */ +{ +parser_prod__AIfexprExpr__n_kwelse_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_kwelse= on */ } goto RET_LABEL; } else { } -var14 = self->attrs[COLOR_parser_nodes__AContinueExpr___n_expr].val; /* _n_expr on */ -if (var14 == NULL) { -var15 = 0; /* cannot be null */ -} else { -var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on */; +var52 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on */ +if (unlikely(var52 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2572); +show_backtrace(1); } -if (var15){ -var16 = NULL; -if (var_new_child == NULL) { -var17 = 0; /* is null */ -} else { -var17 = 1; /* arg is null and recv is not */ +{ +{ /* Inline kernel#Object#== (var52,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var52,var_other) on */ +var58 = var52 == var_other; +var56 = var58; +goto RET_LABEL57; +RET_LABEL57:(void)0; +} +} +var54 = var56; +goto RET_LABEL55; +RET_LABEL55:(void)0; +} +var53 = var54; } -if (var17){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype19 = type_parser_nodes__AExpr.color; -idtype20 = type_parser_nodes__AExpr.id; -if(cltype19 >= var_new_child->type->table_size) { -var18 = 0; +if (var53){ +/* isa AExpr */ +cltype60 = type_parser_nodes__AExpr.color; +idtype61 = type_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var59 = 0; } else { -var18 = var_new_child->type->type_table[cltype19] == idtype20; +if(cltype60 >= var_new_child->type->table_size) { +var59 = 0; +} else { +var59 = var_new_child->type->type_table[cltype60] == idtype61; +} } -if (!var18) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4855); +if (unlikely(!var59)) { +var_class_name62 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AExpr", var_class_name62); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2573); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AContinueExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -var21 = NULL; -self->attrs[COLOR_parser_nodes__AContinueExpr___n_expr].val = var21; /* _n_expr on */ +{ +parser_prod__AIfexprExpr__n_else_61d(self, var_new_child); /* Direct call parser_prod#AIfexprExpr#n_else= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AContinueExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AContinueExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AContinueExpr__replace_child(self, p0, p1); +/* method parser_prod#AIfexprExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AIfexprExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AIfexprExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AIfexprExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AContinueExpr#n_kwcontinue= for (self: AContinueExpr, nullable TKwcontinue) */ -void parser_prod__AContinueExpr__n_kwcontinue_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwcontinue */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#AIfexprExpr#n_kwif= for (self: AIfexprExpr, TKwif) */ +void parser_prod__AIfexprExpr__n_kwif_61d(val* self, val* p0) { +val* var_node /* var node: TKwif */; var_node = p0; -self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val = var_node; /* _n_kwcontinue on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val = var_node; /* _n_kwif on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -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#AContinueExpr#n_kwcontinue= for (self: Object, nullable TKwcontinue) */ -void VIRTUAL_parser_prod__AContinueExpr__n_kwcontinue_61d(val* self, val* p0) { -parser_prod__AContinueExpr__n_kwcontinue_61d(self, p0); +/* method parser_prod#AIfexprExpr#n_kwif= for (self: Object, TKwif) */ +void VIRTUAL_parser_prod__AIfexprExpr__n_kwif_61d(val* self, val* p0) { +parser_prod__AIfexprExpr__n_kwif_61d(self, p0); /* Direct call parser_prod#AIfexprExpr#n_kwif= on */ RET_LABEL:; } -/* method parser_prod#AContinueExpr#n_label= for (self: AContinueExpr, nullable ALabel) */ -void parser_prod__AContinueExpr__n_label_61d(val* self, val* p0) { -val* var_node /* var node: nullable ALabel */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#AIfexprExpr#n_expr= for (self: AIfexprExpr, AExpr) */ +void parser_prod__AIfexprExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val = var_node; /* _n_expr on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AIfexprExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AIfexprExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AIfexprExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AIfexprExpr#n_expr= on */ +RET_LABEL:; +} +/* method parser_prod#AIfexprExpr#n_kwthen= for (self: AIfexprExpr, TKwthen) */ +void parser_prod__AIfexprExpr__n_kwthen_61d(val* self, val* p0) { +val* var_node /* var node: TKwthen */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val = var_node; /* _n_kwthen on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AIfexprExpr#n_kwthen= for (self: Object, TKwthen) */ +void VIRTUAL_parser_prod__AIfexprExpr__n_kwthen_61d(val* self, val* p0) { +parser_prod__AIfexprExpr__n_kwthen_61d(self, p0); /* Direct call parser_prod#AIfexprExpr#n_kwthen= on */ +RET_LABEL:; +} +/* method parser_prod#AIfexprExpr#n_then= for (self: AIfexprExpr, AExpr) */ +void parser_prod__AIfexprExpr__n_then_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val = var_node; /* _n_then on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AIfexprExpr#n_then= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AIfexprExpr__n_then_61d(val* self, val* p0) { +parser_prod__AIfexprExpr__n_then_61d(self, p0); /* Direct call parser_prod#AIfexprExpr#n_then= on */ +RET_LABEL:; +} +/* method parser_prod#AIfexprExpr#n_kwelse= for (self: AIfexprExpr, TKwelse) */ +void parser_prod__AIfexprExpr__n_kwelse_61d(val* self, val* p0) { +val* var_node /* var node: TKwelse */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ -var = NULL; -if (var_node == NULL) { -var1 = 0; /* is null */ -} else { -var1 = 1; /* arg is null and recv is not */ +self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val = var_node; /* _n_kwelse on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -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#AContinueExpr#n_label= for (self: Object, nullable ALabel) */ -void VIRTUAL_parser_prod__AContinueExpr__n_label_61d(val* self, val* p0) { -parser_prod__AContinueExpr__n_label_61d(self, p0); +/* method parser_prod#AIfexprExpr#n_kwelse= for (self: Object, TKwelse) */ +void VIRTUAL_parser_prod__AIfexprExpr__n_kwelse_61d(val* self, val* p0) { +parser_prod__AIfexprExpr__n_kwelse_61d(self, p0); /* Direct call parser_prod#AIfexprExpr#n_kwelse= on */ RET_LABEL:; } -/* method parser_prod#AContinueExpr#n_expr= for (self: AContinueExpr, nullable AExpr) */ -void parser_prod__AContinueExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#AIfexprExpr#n_else= for (self: AIfexprExpr, AExpr) */ +void parser_prod__AIfexprExpr__n_else_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; var_node = p0; -self->attrs[COLOR_parser_nodes__AContinueExpr___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__AIfexprExpr___n_else].val = var_node; /* _n_else 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#AContinueExpr#n_expr= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AContinueExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AContinueExpr__n_expr_61d(self, p0); +/* method parser_prod#AIfexprExpr#n_else= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AIfexprExpr__n_else_61d(val* self, val* p0) { +parser_prod__AIfexprExpr__n_else_61d(self, p0); /* Direct call parser_prod#AIfexprExpr#n_else= on */ RET_LABEL:; } -/* method parser_prod#AContinueExpr#visit_all for (self: AContinueExpr, Visitor) */ -void parser_prod__AContinueExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AIfexprExpr#visit_all for (self: AIfexprExpr, Visitor) */ +void parser_prod__AIfexprExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : nullable TKwcontinue */; -val* var1 /* : null */; -short int var2 /* : Bool */; -val* var3 /* : nullable TKwcontinue */; -val* var4 /* : nullable ALabel */; -val* var5 /* : null */; -short int var6 /* : Bool */; -val* var7 /* : nullable ALabel */; -val* var8 /* : nullable AExpr */; -val* var9 /* : null */; -short int var10 /* : Bool */; -val* var11 /* : nullable AExpr */; +val* var /* : TKwif */; +val* var1 /* : AExpr */; +val* var2 /* : TKwthen */; +val* var3 /* : AExpr */; +val* var4 /* : TKwelse */; +val* var5 /* : AExpr */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val; /* _n_kwcontinue on */ -var1 = NULL; -if (var == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 1; /* arg is null and recv is not */ -} -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__AContinueExpr___n_kwcontinue].val; /* _n_kwcontinue on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4890); +var = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwif"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2612); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var4 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -var5 = NULL; -if (var4 == NULL) { -var6 = 0; /* is null */ -} else { -var6 = 1; /* arg is null and recv is not */ +var1 = self->attrs[COLOR_parser_nodes__AIfexprExpr___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", 2613); +show_backtrace(1); } -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4893); +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var2 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwthen"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2614); 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 */ } -var8 = self->attrs[COLOR_parser_nodes__AContinueExpr___n_expr].val; /* _n_expr on */ -var9 = NULL; -if (var8 == NULL) { -var10 = 0; /* is null */ -} else { -var10 = 1; /* arg is null and recv is not */ +var3 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2615); +show_backtrace(1); } -if (var10){ -var11 = self->attrs[COLOR_parser_nodes__AContinueExpr___n_expr].val; /* _n_expr on */ -if (var11 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4896); +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var4 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwelse"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2616); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } -RET_LABEL:; +var5 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2617); +show_backtrace(1); } -/* method parser_prod#AContinueExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AContinueExpr__visit_all(val* self, val* p0) { -parser_prod__AContinueExpr__visit_all(self, p0); -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ADoExpr#empty_init for (self: ADoExpr) */ -void parser_prod__ADoExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#ADoExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ADoExpr__empty_init(val* self) { -parser_prod__ADoExpr__empty_init(self); +/* method parser_prod#AIfexprExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AIfexprExpr__visit_all(val* self, val* p0) { +parser_prod__AIfexprExpr__visit_all(self, p0); /* Direct call parser_prod#AIfexprExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#ADoExpr#init_adoexpr for (self: ADoExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */ -void parser_prod__ADoExpr__init_adoexpr(val* self, val* p0, val* p1, val* p2) { +/* method parser_prod#AWhileExpr#init_awhileexpr for (self: AWhileExpr, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */ +void parser_prod__AWhileExpr__init_awhileexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +val* var_n_kwwhile /* var n_kwwhile: nullable TKwwhile */; +val* var_n_expr /* var n_expr: nullable AExpr */; val* var_n_kwdo /* var n_kwdo: nullable TKwdo */; val* var_n_block /* var n_block: nullable AExpr */; val* var_n_label /* var n_label: nullable ALabel */; val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -var_n_kwdo = p0; -var_n_block = p1; -var_n_label = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ADoExpr__empty_init]))(self) /* empty_init on */; -if (var_n_kwdo == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4910); +short int var4 /* : Bool */; +short int var5 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +val* var11 /* : null */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +var_n_kwwhile = p0; +var_n_expr = p1; +var_n_kwdo = p2; +var_n_block = p3; +var_n_label = p4; +if (unlikely(var_n_kwwhile == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2629); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on */ +self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_n_kwwhile; /* _n_kwwhile on */ +if (var_n_kwwhile == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2630); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_kwwhile,self) on */ +if (unlikely(var_n_kwwhile == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwwhile->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", 2631); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AWhileExpr___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", 2632); +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_kwdo == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2633); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on */ if (var_n_kwdo == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4911); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2634); show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwdo->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwdo, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwdo,self) on */ +if (unlikely(var_n_kwdo == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val = var_n_block; /* _n_block on */ +var_n_kwdo->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; +} +} +self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_n_block; /* _n_block on */ var = NULL; if (var_n_block == NULL) { -var1 = 0; /* is null */ +var4 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ +var4 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_block,var) on */ +var_other = var; +{ +var8 = ((short int (*)(val*, val*))(var_n_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_block, var_other) /* == on */; +var7 = var8; +} +var9 = !var7; +var5 = var9; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +var4 = var5; +} +if (var4){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on */ +var_n_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL10:(void)0; +} } -if (var1){ -((void (*)(val*, val*))(var_n_block->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_block, self) /* parent= on */; } else { } -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ -var2 = NULL; +self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on */ +var11 = NULL; if (var_n_label == NULL) { -var3 = 0; /* is null */ +var12 = 0; /* is null */ } else { -var3 = 1; /* arg is null and recv is not */ +var12 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_label,var11) on */ +var_other = var11; +{ +var16 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on */; +var15 = var16; +} +var17 = !var15; +var13 = var17; +goto RET_LABEL14; +RET_LABEL14:(void)0; +} +var12 = var13; +} +if (var12){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on */ +var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL18:(void)0; +} } -if (var3){ -((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#ADoExpr#init_adoexpr for (self: Object, nullable TKwdo, nullable AExpr, nullable ALabel) */ -void VIRTUAL_parser_prod__ADoExpr__init_adoexpr(val* self, val* p0, val* p1, val* p2) { -parser_prod__ADoExpr__init_adoexpr(self, p0, p1, p2); +/* method parser_prod#AWhileExpr#init_awhileexpr for (self: Object, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */ +void VIRTUAL_parser_prod__AWhileExpr__init_awhileexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +parser_prod__AWhileExpr__init_awhileexpr(self, p0, p1, p2, p3, p4); /* Direct call parser_prod#AWhileExpr#init_awhileexpr on */ RET_LABEL:; } -/* method parser_prod#ADoExpr#replace_child for (self: ADoExpr, ANode, nullable ANode) */ -void parser_prod__ADoExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AWhileExpr#replace_child for (self: AWhileExpr, ANode, nullable ANode) */ +void parser_prod__AWhileExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwdo */; +val* var /* : TKwwhile */; 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 AExpr */; -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 */; -val* var13 /* : nullable ALabel */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; short int var14 /* : Bool */; -val* var15 /* : null */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -val* var20 /* : null */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : TKwdo */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : nullable AExpr */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +const char* var_class_name40; +val* var41 /* : nullable ALabel */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; +short int var47 /* : Bool */; +short int var48 /* : Bool */; +int cltype49; +int idtype50; +const char* var_class_name51; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val; /* _n_kwdo on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdo"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4924); +var = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwhile"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2643); show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +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){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TKwwhile */ +cltype = type_parser_nodes__TKwwhile.color; +idtype = type_parser_nodes__TKwwhile.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 TKwdo */ -cltype = type_parser_nodes__TKwdo.color; -idtype = type_parser_nodes__TKwdo.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +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`", "TKwwhile", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2644); +show_backtrace(1); +} +{ +parser_prod__AWhileExpr__n_kwwhile_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_kwwhile= on */ +} +goto RET_LABEL; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4927); +var8 = self->attrs[COLOR_parser_nodes__AWhileExpr___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", 2647); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val = var_new_child; /* _n_kwdo 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; +} +} +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 { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4930); +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", 2648); show_backtrace(1); } +{ +parser_prod__AWhileExpr__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_expr= on */ +} goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val; /* _n_block on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ +var19 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2651); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var19,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ +var25 = var19 == var_other; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +if (var20){ +/* isa TKwdo */ +cltype27 = type_parser_nodes__TKwdo.color; +idtype28 = type_parser_nodes__TKwdo.id; +if(var_new_child == NULL) { +var26 = 0; +} else { +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ +} +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwdo", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2652); +show_backtrace(1); +} +{ +parser_prod__AWhileExpr__n_kwdo_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_kwdo= 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 AExpr */ -cltype10 = type_parser_nodes__AExpr.color; -idtype11 = type_parser_nodes__AExpr.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; +var30 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on */ +if (var30 == NULL) { +var31 = 0; /* cannot be null */ } else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +{ /* 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 (!var9) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4937); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val = var_new_child; /* _n_block on */ +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +var31 = var32; +} +if (var31){ +/* isa nullable AExpr */ +cltype38 = type_nullable_parser_nodes__AExpr.color; +idtype39 = type_nullable_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var37 = 1; } else { -var12 = NULL; -self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val = var12; /* _n_block on */ +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; +} else { +var37 = var_new_child->type->type_table[cltype38] == idtype39; +} +} +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2656); +show_backtrace(1); +} +{ +parser_prod__AWhileExpr__n_block_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_block= on */ } goto RET_LABEL; } else { } -var13 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var13 == NULL) { -var14 = 0; /* cannot be null */ +var41 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +if (var41 == NULL) { +var42 = 0; /* cannot be null */ } else { -var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, 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 (var14){ -var15 = NULL; -if (var_new_child == NULL) { -var16 = 0; /* is null */ -} else { -var16 = 1; /* arg is null and recv is not */ } -if (var16){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa ALabel */ -cltype18 = type_parser_nodes__ALabel.color; -idtype19 = type_parser_nodes__ALabel.id; -if(cltype18 >= var_new_child->type->table_size) { -var17 = 0; +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; +} +var42 = var43; +} +if (var42){ +/* isa nullable ALabel */ +cltype49 = type_nullable_parser_nodes__ALabel.color; +idtype50 = type_nullable_parser_nodes__ALabel.id; +if(var_new_child == NULL) { +var48 = 1; +} else { +if(cltype49 >= var_new_child->type->table_size) { +var48 = 0; } else { -var17 = var_new_child->type->type_table[cltype18] == idtype19; +var48 = var_new_child->type->type_table[cltype49] == idtype50; } -if (!var17) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4947); +} +if (unlikely(!var48)) { +var_class_name51 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2660); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on */ -} else { -var20 = NULL; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var20; /* _n_label on */ +{ +parser_prod__AWhileExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#AWhileExpr#n_label= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#ADoExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ADoExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__ADoExpr__replace_child(self, p0, p1); +/* method parser_prod#AWhileExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AWhileExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__AWhileExpr__replace_child(self, p0, p1); /* Direct call parser_prod#AWhileExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#ADoExpr#n_kwdo= for (self: ADoExpr, TKwdo) */ -void parser_prod__ADoExpr__n_kwdo_61d(val* self, val* p0) { +/* method parser_prod#AWhileExpr#n_kwwhile= for (self: AWhileExpr, TKwwhile) */ +void parser_prod__AWhileExpr__n_kwwhile_61d(val* self, val* p0) { +val* var_node /* var node: TKwwhile */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_node; /* _n_kwwhile on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AWhileExpr#n_kwwhile= for (self: Object, TKwwhile) */ +void VIRTUAL_parser_prod__AWhileExpr__n_kwwhile_61d(val* self, val* p0) { +parser_prod__AWhileExpr__n_kwwhile_61d(self, p0); /* Direct call parser_prod#AWhileExpr#n_kwwhile= on */ +RET_LABEL:; +} +/* method parser_prod#AWhileExpr#n_expr= for (self: AWhileExpr, AExpr) */ +void parser_prod__AWhileExpr__n_expr_61d(val* self, val* p0) { +val* var_node /* var node: AExpr */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val = var_node; /* _n_expr on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method parser_prod#AWhileExpr#n_expr= for (self: Object, AExpr) */ +void VIRTUAL_parser_prod__AWhileExpr__n_expr_61d(val* self, val* p0) { +parser_prod__AWhileExpr__n_expr_61d(self, p0); /* Direct call parser_prod#AWhileExpr#n_expr= on */ +RET_LABEL:; +} +/* method parser_prod#AWhileExpr#n_kwdo= for (self: AWhileExpr, TKwdo) */ +void parser_prod__AWhileExpr__n_kwdo_61d(val* self, val* p0) { val* var_node /* var node: TKwdo */; var_node = p0; -self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val = var_node; /* _n_kwdo on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_node; /* _n_kwdo on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#ADoExpr#n_kwdo= for (self: Object, TKwdo) */ -void VIRTUAL_parser_prod__ADoExpr__n_kwdo_61d(val* self, val* p0) { -parser_prod__ADoExpr__n_kwdo_61d(self, p0); +/* method parser_prod#AWhileExpr#n_kwdo= for (self: Object, TKwdo) */ +void VIRTUAL_parser_prod__AWhileExpr__n_kwdo_61d(val* self, val* p0) { +parser_prod__AWhileExpr__n_kwdo_61d(self, p0); /* Direct call parser_prod#AWhileExpr#n_kwdo= on */ RET_LABEL:; } -/* method parser_prod#ADoExpr#n_block= for (self: ADoExpr, nullable AExpr) */ -void parser_prod__ADoExpr__n_block_61d(val* self, val* p0) { +/* method parser_prod#AWhileExpr#n_block= for (self: AWhileExpr, nullable AExpr) */ +void parser_prod__AWhileExpr__n_block_61d(val* self, val* p0) { val* var_node /* var node: nullable AExpr */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val = var_node; /* _n_block on */ +self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_node; /* _n_block on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} if (var1){ -((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#ADoExpr#n_block= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__ADoExpr__n_block_61d(val* self, val* p0) { -parser_prod__ADoExpr__n_block_61d(self, p0); +/* method parser_prod#AWhileExpr#n_block= for (self: Object, nullable AExpr) */ +void VIRTUAL_parser_prod__AWhileExpr__n_block_61d(val* self, val* p0) { +parser_prod__AWhileExpr__n_block_61d(self, p0); /* Direct call parser_prod#AWhileExpr#n_block= on */ RET_LABEL:; } -/* method parser_prod#ADoExpr#n_label= for (self: ADoExpr, nullable ALabel) */ -void parser_prod__ADoExpr__n_label_61d(val* self, val* p0) { +/* method parser_prod#AWhileExpr#n_label= for (self: AWhileExpr, nullable ALabel) */ +void parser_prod__AWhileExpr__n_label_61d(val* self, val* p0) { val* var_node /* var node: nullable ALabel */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ +self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } 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#ADoExpr#n_label= for (self: Object, nullable ALabel) */ -void VIRTUAL_parser_prod__ADoExpr__n_label_61d(val* self, val* p0) { -parser_prod__ADoExpr__n_label_61d(self, p0); +/* method parser_prod#AWhileExpr#n_label= for (self: Object, nullable ALabel) */ +void VIRTUAL_parser_prod__AWhileExpr__n_label_61d(val* self, val* p0) { +parser_prod__AWhileExpr__n_label_61d(self, p0); /* Direct call parser_prod#AWhileExpr#n_label= on */ RET_LABEL:; } -/* method parser_prod#ADoExpr#visit_all for (self: ADoExpr, Visitor) */ -void parser_prod__ADoExpr__visit_all(val* self, val* p0) { +/* method parser_prod#AWhileExpr#visit_all for (self: AWhileExpr, Visitor) */ +void parser_prod__AWhileExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwdo */; -val* var1 /* : nullable AExpr */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : nullable AExpr */; -val* var5 /* : nullable ALabel */; -val* var6 /* : null */; -short int var7 /* : Bool */; -val* var8 /* : nullable ALabel */; +val* var /* : TKwwhile */; +val* var1 /* : AExpr */; +val* var2 /* : TKwdo */; +val* var3 /* : nullable AExpr */; +val* var4 /* : nullable ALabel */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val; /* _n_kwdo on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdo"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4979); +var = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwwhile"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2694); 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__ADoExpr___n_block].val; /* _n_block 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__ADoExpr___n_block].val; /* _n_block on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4981); +var1 = self->attrs[COLOR_parser_nodes__AWhileExpr___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", 2695); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; -} else { -} -var5 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -var6 = NULL; -if (var5 == NULL) { -var7 = 0; /* is null */ -} else { -var7 = 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 (var7){ -var8 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4984); +var2 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwdo"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2696); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -RET_LABEL:; +var3 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ADoExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ADoExpr__visit_all(val* self, val* p0) { -parser_prod__ADoExpr__visit_all(self, p0); -RET_LABEL:; +var4 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AIfExpr#empty_init for (self: AIfExpr) */ -void parser_prod__AIfExpr__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AIfExpr#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AIfExpr__empty_init(val* self) { -parser_prod__AIfExpr__empty_init(self); +/* method parser_prod#AWhileExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AWhileExpr__visit_all(val* self, val* p0) { +parser_prod__AWhileExpr__visit_all(self, p0); /* Direct call parser_prod#AWhileExpr#visit_all on */ RET_LABEL:; } -/* method parser_prod#AIfExpr#init_aifexpr for (self: AIfExpr, nullable TKwif, nullable AExpr, nullable AExpr, nullable AExpr) */ -void parser_prod__AIfExpr__init_aifexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -val* var_n_kwif /* var n_kwif: nullable TKwif */; -val* var_n_expr /* var n_expr: nullable AExpr */; -val* var_n_then /* var n_then: nullable AExpr */; -val* var_n_else /* var n_else: nullable AExpr */; +/* method parser_prod#ALoopExpr#init_aloopexpr for (self: ALoopExpr, nullable TKwloop, nullable AExpr, nullable ALabel) */ +void parser_prod__ALoopExpr__init_aloopexpr(val* self, val* p0, val* p1, val* p2) { +val* var_n_kwloop /* var n_kwloop: nullable TKwloop */; +val* var_n_block /* var n_block: nullable AExpr */; +val* var_n_label /* var n_label: nullable ALabel */; val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : null */; +short int var2 /* : Bool */; short int var3 /* : Bool */; -var_n_kwif = p0; -var_n_expr = p1; -var_n_then = p2; -var_n_else = p3; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIfExpr__empty_init]))(self) /* empty_init on */; -if (var_n_kwif == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 4999); +val* var_other /* var other: nullable Object */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +val* var9 /* : null */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +var_n_kwloop = p0; +var_n_block = p1; +var_n_label = p2; +if (unlikely(var_n_kwloop == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2708); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val = var_n_kwif; /* _n_kwif on */ -if (var_n_kwif == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5000); +self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var_n_kwloop; /* _n_kwloop on */ +if (var_n_kwloop == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2709); show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwif->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwif, self) /* parent= on */; -} -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5001); +{ /* Inline parser_nodes#ANode#parent= (var_n_kwloop,self) on */ +if (unlikely(var_n_kwloop == 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__AIfExpr___n_expr].val = var_n_expr; /* _n_expr on */ -if (var_n_expr == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5002); -show_backtrace(1); -} else { -((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on */; +var_n_kwloop->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val = var_n_then; /* _n_then on */ +} +self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_n_block; /* _n_block on */ var = NULL; -if (var_n_then == NULL) { -var1 = 0; /* is null */ +if (var_n_block == 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_block,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_block, var_other) /* == on */; +var5 = var6; +} +var7 = !var5; +var3 = var7; +goto RET_LABEL4; +RET_LABEL4:(void)0; +} +var2 = var3; +} +if (var2){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on */ +var_n_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; +} } -if (var1){ -((void (*)(val*, val*))(var_n_then->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_then, self) /* parent= on */; } else { } -self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val = var_n_else; /* _n_else on */ -var2 = NULL; -if (var_n_else == NULL) { -var3 = 0; /* is null */ +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 { -var3 = 1; /* arg is null and recv is not */ +var10 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_label,var9) on */ +var_other = var9; +{ +var14 = ((short int (*)(val*, val*))(var_n_label->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_label, var_other) /* == on */; +var13 = var14; +} +var15 = !var13; +var11 = var15; +goto RET_LABEL12; +RET_LABEL12:(void)0; +} +var10 = var11; +} +if (var10){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_label,self) on */ +var_n_label->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL16:(void)0; +} } -if (var3){ -((void (*)(val*, val*))(var_n_else->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_else, self) /* parent= on */; } else { } RET_LABEL:; } -/* method parser_prod#AIfExpr#init_aifexpr for (self: Object, nullable TKwif, nullable AExpr, nullable AExpr, nullable AExpr) */ -void VIRTUAL_parser_prod__AIfExpr__init_aifexpr(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__AIfExpr__init_aifexpr(self, p0, p1, p2, p3); +/* method parser_prod#ALoopExpr#init_aloopexpr for (self: Object, nullable TKwloop, nullable AExpr, nullable ALabel) */ +void VIRTUAL_parser_prod__ALoopExpr__init_aloopexpr(val* self, val* p0, val* p1, val* p2) { +parser_prod__ALoopExpr__init_aloopexpr(self, p0, p1, p2); /* Direct call parser_prod#ALoopExpr#init_aloopexpr on */ RET_LABEL:; } -/* method parser_prod#AIfExpr#replace_child for (self: AIfExpr, ANode, nullable ANode) */ -void parser_prod__AIfExpr__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ALoopExpr#replace_child for (self: ALoopExpr, ANode, nullable ANode) */ +void parser_prod__ALoopExpr__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : TKwif */; +val* var /* : TKwloop */; 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 AExpr */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : nullable 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 /* : null */; -val* var20 /* : nullable AExpr */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : nullable ALabel */; +short int var20 /* : Bool */; short int var21 /* : Bool */; -val* var22 /* : null */; short int var23 /* : Bool */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -val* var27 /* : 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__AIfExpr___n_kwif].val; /* _n_kwif on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwif"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5015); +var = self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwloop"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2718); show_backtrace(1); } -var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on */; +{ +{ /* Inline kernel#Object#== (var,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +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){ -var2 = NULL; -if (var_new_child == NULL) { -var3 = 0; /* is null */ +/* isa TKwloop */ +cltype = type_parser_nodes__TKwloop.color; +idtype = type_parser_nodes__TKwloop.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 TKwif */ -cltype = type_parser_nodes__TKwif.color; -idtype = type_parser_nodes__TKwif.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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5018); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val = var_new_child; /* _n_kwif on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5021); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwloop", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2719); show_backtrace(1); } -goto RET_LABEL; -} else { -} -var5 = self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val; /* _n_expr on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5025); -show_backtrace(1); +{ +parser_prod__ALoopExpr__n_kwloop_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_kwloop= on */ } -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 */ +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 AExpr */ -cltype10 = type_parser_nodes__AExpr.color; -idtype11 = type_parser_nodes__AExpr.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; +var8 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +{ /* 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 (!var9) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5028); -show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val = var_new_child; /* _n_expr on */ -} else { -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5031); -show_backtrace(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -goto RET_LABEL; -} else { +var9 = var10; } -var12 = self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on */ -if (var12 == NULL) { -var13 = 0; /* cannot be null */ +if (var9){ +/* isa nullable AExpr */ +cltype16 = type_nullable_parser_nodes__AExpr.color; +idtype17 = type_nullable_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var15 = 1; } 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(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", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5038); +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2723); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val = var_new_child; /* _n_then on */ -} else { -var19 = NULL; -self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val = var19; /* _n_then on */ +{ +parser_prod__ALoopExpr__n_block_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_block= on */ } goto RET_LABEL; } else { } -var20 = self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ -if (var20 == NULL) { -var21 = 0; /* cannot be null */ +var19 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +if (var19 == NULL) { +var20 = 0; /* cannot be null */ } else { -var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on */; +{ /* Inline kernel#Object#== (var19,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var19,var_other) on */ +var25 = var19 == var_other; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; } -if (var21){ -var22 = NULL; -if (var_new_child == NULL) { -var23 = 0; /* is null */ -} else { -var23 = 1; /* arg is null and recv is not */ } -if (var23){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype25 = type_parser_nodes__AExpr.color; -idtype26 = type_parser_nodes__AExpr.id; -if(cltype25 >= var_new_child->type->table_size) { -var24 = 0; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +if (var20){ +/* isa nullable ALabel */ +cltype27 = type_nullable_parser_nodes__ALabel.color; +idtype28 = type_nullable_parser_nodes__ALabel.id; +if(var_new_child == NULL) { +var26 = 1; } else { -var24 = var_new_child->type->type_table[cltype25] == idtype26; +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; +} else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; +} } -if (!var24) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5048); +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ALabel", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2727); show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val = var_new_child; /* _n_else on */ -} else { -var27 = NULL; -self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val = var27; /* _n_else on */ +{ +parser_prod__ALoopExpr__n_label_61d(self, var_new_child); /* Direct call parser_prod#ALoopExpr#n_label= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AIfExpr#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AIfExpr__replace_child(val* self, val* p0, val* p1) { -parser_prod__AIfExpr__replace_child(self, p0, p1); +/* method parser_prod#ALoopExpr#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__ALoopExpr__replace_child(val* self, val* p0, val* p1) { +parser_prod__ALoopExpr__replace_child(self, p0, p1); /* Direct call parser_prod#ALoopExpr#replace_child on */ RET_LABEL:; } -/* method parser_prod#AIfExpr#n_kwif= for (self: AIfExpr, TKwif) */ -void parser_prod__AIfExpr__n_kwif_61d(val* self, val* p0) { -val* var_node /* var node: TKwif */; +/* method parser_prod#ALoopExpr#n_kwloop= for (self: ALoopExpr, TKwloop) */ +void parser_prod__ALoopExpr__n_kwloop_61d(val* self, val* p0) { +val* var_node /* var node: TKwloop */; var_node = p0; -self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val = var_node; /* _n_kwif 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__ALoopExpr___n_kwloop].val = var_node; /* _n_kwloop 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#AIfExpr#n_kwif= for (self: Object, TKwif) */ -void VIRTUAL_parser_prod__AIfExpr__n_kwif_61d(val* self, val* p0) { -parser_prod__AIfExpr__n_kwif_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AIfExpr#n_expr= for (self: AIfExpr, AExpr) */ -void parser_prod__AIfExpr__n_expr_61d(val* self, val* p0) { -val* var_node /* var node: AExpr */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val = var_node; /* _n_expr on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AIfExpr#n_expr= for (self: Object, AExpr) */ -void VIRTUAL_parser_prod__AIfExpr__n_expr_61d(val* self, val* p0) { -parser_prod__AIfExpr__n_expr_61d(self, p0); +/* method parser_prod#ALoopExpr#n_kwloop= for (self: Object, TKwloop) */ +void VIRTUAL_parser_prod__ALoopExpr__n_kwloop_61d(val* self, val* p0) { +parser_prod__ALoopExpr__n_kwloop_61d(self, p0); /* Direct call parser_prod#ALoopExpr#n_kwloop= on */ RET_LABEL:; } -/* method parser_prod#AIfExpr#n_then= for (self: AIfExpr, nullable AExpr) */ -void parser_prod__AIfExpr__n_then_61d(val* self, val* p0) { +/* method parser_prod#ALoopExpr#n_block= for (self: ALoopExpr, nullable AExpr) */ +void parser_prod__ALoopExpr__n_block_61d(val* self, val* p0) { val* var_node /* var node: nullable AExpr */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val = var_node; /* _n_then on */ +self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_node; /* _n_block on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} if (var1){ -((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#AIfExpr#n_then= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AIfExpr__n_then_61d(val* self, val* p0) { -parser_prod__AIfExpr__n_then_61d(self, p0); +/* method parser_prod#ALoopExpr#n_block= for (self: Object, nullable AExpr) */ +void VIRTUAL_parser_prod__ALoopExpr__n_block_61d(val* self, val* p0) { +parser_prod__ALoopExpr__n_block_61d(self, p0); /* Direct call parser_prod#ALoopExpr#n_block= on */ RET_LABEL:; } -/* method parser_prod#AIfExpr#n_else= for (self: AIfExpr, nullable AExpr) */ -void parser_prod__AIfExpr__n_else_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExpr */; +/* method parser_prod#ALoopExpr#n_label= for (self: ALoopExpr, nullable ALabel) */ +void parser_prod__ALoopExpr__n_label_61d(val* self, val* p0) { +val* var_node /* var node: nullable ALabel */; val* var /* : null */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; var_node = p0; -self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val = var_node; /* _n_else on */ +self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } 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#AIfExpr#n_else= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AIfExpr__n_else_61d(val* self, val* p0) { -parser_prod__AIfExpr__n_else_61d(self, p0); +/* method parser_prod#ALoopExpr#n_label= for (self: Object, nullable ALabel) */ +void VIRTUAL_parser_prod__ALoopExpr__n_label_61d(val* self, val* p0) { +parser_prod__ALoopExpr__n_label_61d(self, p0); /* Direct call parser_prod#ALoopExpr#n_label= on */ RET_LABEL:; } -/* method parser_prod#AIfExpr#visit_all for (self: AIfExpr, Visitor) */ -void parser_prod__AIfExpr__visit_all(val* self, val* p0) { +/* method parser_prod#ALoopExpr#visit_all for (self: ALoopExpr, Visitor) */ +void parser_prod__ALoopExpr__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; -val* var /* : TKwif */; -val* var1 /* : AExpr */; -val* var2 /* : nullable AExpr */; -val* var3 /* : null */; -short int var4 /* : Bool */; -val* var5 /* : nullable AExpr */; -val* var6 /* : nullable AExpr */; -val* var7 /* : null */; -short int var8 /* : Bool */; -val* var9 /* : nullable AExpr */; +val* var /* : TKwloop */; +val* var1 /* : nullable AExpr */; +val* var2 /* : nullable ALabel */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val; /* _n_kwif on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwif"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5085); -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__AIfExpr___n_expr].val; /* _n_expr on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5086); -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__AIfExpr___n_then].val; /* _n_then 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__AIfExpr___n_then].val; /* _n_then on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5088); +var = self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwloop"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 2751); show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on */; -} else { -} -var6 = self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else 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__AIfExpr___n_else].val; /* _n_else on */ -if (var9 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5091); -show_backtrace(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, var9) /* enter_visit on */; -} else { +var1 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -RET_LABEL:; +var2 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AIfExpr#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AIfExpr__visit_all(val* self, val* p0) { -parser_prod__AIfExpr__visit_all(self, p0); RET_LABEL:; } -/* method parser_prod#AIfexprExpr#empty_init for (self: AIfexprExpr) */ -void parser_prod__AIfexprExpr__empty_init(val* self) { +/* method parser_prod#ALoopExpr#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ALoopExpr__visit_all(val* self, val* p0) { +parser_prod__ALoopExpr__visit_all(self, p0); /* Direct call parser_prod#ALoopExpr#visit_all on */ RET_LABEL:; }