X-Git-Url: http://nitlanguage.org diff --git a/c_src/parser_prod.sep.1.c b/c_src/parser_prod.sep.1.c index 8ce8ea8..2a96a4b 100644 --- a/c_src/parser_prod.sep.1.c +++ b/c_src/parser_prod.sep.1.c @@ -1,13 +1,4 @@ #include "parser_prod.sep.0.h" -/* method parser_prod#AModule#empty_init for (self: AModule) */ -void parser_prod__AModule__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AModule#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AModule__empty_init(val* self) { -parser_prod__AModule__empty_init(self); -RET_LABEL:; -} /* method parser_prod#AModule#init_amodule for (self: AModule, nullable AModuledecl, Collection[Object], Collection[Object], Collection[Object]) */ void parser_prod__AModule__init_amodule(val* self, val* p0, val* p1, val* p2, val* p3) { val* var_n_moduledecl /* var n_moduledecl: nullable AModuledecl */; @@ -16,35 +7,21 @@ val* var_n_extern_code_blocks /* var n_extern_code_blocks: Collection[Object] */ val* var_n_classdefs /* var n_classdefs: Collection[Object] */; 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 var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -int cltype; -int idtype; -val* var6 /* : ANodes[AImport] */; -val* var7 /* : Iterator[nullable Object] */; -short int var8 /* : Bool */; -val* var9 /* : nullable Object */; -val* var_n10 /* var n: Object */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -val* var14 /* : ANodes[AExternCodeBlock] */; -val* var16 /* : Iterator[nullable Object] */; -short int var17 /* : Bool */; -val* var18 /* : nullable Object */; -val* var_n19 /* var n: Object */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var23 /* : ANodes[AClassdef] */; +short int var6 /* : Bool */; +val* var8 /* : ANodes[AImport] */; +val* var10 /* : ANodes[AImport] */; +val* var11 /* : ANodes[AExternCodeBlock] */; +val* var13 /* : ANodes[AExternCodeBlock] */; +val* var14 /* : ANodes[AClassdef] */; +val* var16 /* : ANodes[AClassdef] */; var_n_moduledecl = p0; var_n_imports = p1; var_n_extern_code_blocks = p2; var_n_classdefs = p3; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AModule__empty_init]))(self) /* empty_init on */; self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val = var_n_moduledecl; /* _n_moduledecl on */ var = NULL; if (var_n_moduledecl == NULL) { @@ -52,102 +29,79 @@ var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_n_moduledecl,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_moduledecl->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_moduledecl, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} if (var1){ -((void (*)(val*, val*))(var_n_moduledecl->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_moduledecl, self) /* parent= on */; -} else { -} -var2 = ((val* (*)(val*))(var_n_imports->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_imports) /* 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 AImport */ -cltype = type_parser_nodes__AImport.color; -idtype = type_parser_nodes__AImport.id; -if(cltype >= var_n->type->table_size) { -var5 = 0; -} else { -var5 = var_n->type->type_table[cltype] == idtype; -} -if (!var5) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 25); -exit(1); -} -var6 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on */ -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_imports", "src/parser/parser_prod.nit", 26); -exit(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 */; -} -BREAK_label: (void)0; -var7 = ((val* (*)(val*))(var_n_extern_code_blocks->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_extern_code_blocks) /* iterator on */; -for(;;) { -var8 = ((short int (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var7) /* is_ok on */; -if(!var8) break; -var9 = ((val* (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__item]))(var7) /* item on */; -var_n10 = var9; -/* isa AExternCodeBlock */ -cltype12 = type_parser_nodes__AExternCodeBlock.color; -idtype13 = type_parser_nodes__AExternCodeBlock.id; -if(cltype12 >= var_n10->type->table_size) { -var11 = 0; -} else { -var11 = var_n10->type->type_table[cltype12] == idtype13; -} -if (!var11) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 30); -exit(1); +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_moduledecl,self) on */ +var_n_moduledecl->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; +} +} +} else { +} +{ +{ /* Inline parser_nodes#AModule#n_imports (self) on */ +var10 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on */ +if (unlikely(var10 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 857); +show_backtrace(1); +} +var8 = var10; +RET_LABEL9:(void)0; +} +} +{ +parser_nodes__ANodes__unsafe_add_all(var8, var_n_imports); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ +} +{ +{ /* Inline parser_nodes#AModule#n_extern_code_blocks (self) on */ +var13 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on */ +if (unlikely(var13 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 858); +show_backtrace(1); +} +var11 = var13; +RET_LABEL12:(void)0; +} +} +{ +parser_nodes__ANodes__unsafe_add_all(var11, var_n_extern_code_blocks); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ +} +{ +{ /* Inline parser_nodes#AModule#n_classdefs (self) on */ +var16 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var16 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 859); +show_backtrace(1); +} +var14 = var16; +RET_LABEL15:(void)0; +} +} +{ +parser_nodes__ANodes__unsafe_add_all(var14, var_n_classdefs); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ } -var14 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on */ -if (var14 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_extern_code_blocks", "src/parser/parser_prod.nit", 31); -exit(1); -} -((void (*)(val*, val*))(var14->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var14, var_n10) /* add on */; -((void (*)(val*, val*))(var_n10->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n10, self) /* parent= on */; -CONTINUE_label15: (void)0; -((void (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__next]))(var7) /* next on */; -} -BREAK_label15: (void)0; -var16 = ((val* (*)(val*))(var_n_classdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_classdefs) /* iterator on */; -for(;;) { -var17 = ((short int (*)(val*))(var16->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var16) /* is_ok on */; -if(!var17) break; -var18 = ((val* (*)(val*))(var16->class->vft[COLOR_abstract_collection__Iterator__item]))(var16) /* item on */; -var_n19 = var18; -/* isa AClassdef */ -cltype21 = type_parser_nodes__AClassdef.color; -idtype22 = type_parser_nodes__AClassdef.id; -if(cltype21 >= var_n19->type->table_size) { -var20 = 0; -} else { -var20 = var_n19->type->type_table[cltype21] == idtype22; -} -if (!var20) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 35); -exit(1); -} -var23 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (var23 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classdefs", "src/parser/parser_prod.nit", 36); -exit(1); -} -((void (*)(val*, val*))(var23->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var23, var_n19) /* add on */; -((void (*)(val*, val*))(var_n19->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n19, self) /* parent= on */; -CONTINUE_label24: (void)0; -((void (*)(val*))(var16->class->vft[COLOR_abstract_collection__Iterator__next]))(var16) /* next on */; -} -BREAK_label24: (void)0; RET_LABEL:; } /* method parser_prod#AModule#init_amodule for (self: Object, nullable AModuledecl, Collection[Object], Collection[Object], Collection[Object]) */ void VIRTUAL_parser_prod__AModule__init_amodule(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__AModule__init_amodule(self, p0, p1, p2, p3); +parser_prod__AModule__init_amodule(self, p0, p1, p2, p3); /* Direct call parser_prod#AModule#init_amodule on */ RET_LABEL:; } /* method parser_prod#AModule#replace_child for (self: AModule, ANode, nullable ANode) */ @@ -156,321 +110,132 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : nullable AModuledecl */; 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 */; +const char* var_class_name; val* var8 /* : ANodes[AImport] */; -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[AImport] */; -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[AImport] */; -val* var25 /* : ANodes[AImport] */; -val* var26 /* : Range[Int] */; -long var27 /* : Int */; -val* var28 /* : ANodes[AExternCodeBlock] */; -long var29 /* : Int */; -val* var30 /* : Discrete */; -val* var31 /* : Discrete */; -val* var32 /* : Iterator[nullable Object] */; -short int var33 /* : Bool */; -val* var34 /* : nullable Object */; -long var_i35 /* var i: Int */; -long var36 /* : Int */; -val* var37 /* : ANodes[AExternCodeBlock] */; -val* var38 /* : nullable Object */; -short int var39 /* : Bool */; -val* var40 /* : null */; -short int var41 /* : Bool */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -val* var45 /* : ANodes[AExternCodeBlock] */; -val* var46 /* : ANodes[AExternCodeBlock] */; -val* var48 /* : Range[Int] */; -long var49 /* : Int */; -val* var50 /* : ANodes[AClassdef] */; -long var51 /* : Int */; -val* var52 /* : Discrete */; -val* var53 /* : Discrete */; -val* var54 /* : Iterator[nullable Object] */; -short int var55 /* : Bool */; -val* var56 /* : nullable Object */; -long var_i57 /* var i: Int */; -long var58 /* : Int */; -val* var59 /* : ANodes[AClassdef] */; -val* var60 /* : nullable Object */; -short int var61 /* : Bool */; -val* var62 /* : null */; -short int var63 /* : Bool */; -short int var64 /* : Bool */; -int cltype65; -int idtype66; -val* var67 /* : ANodes[AClassdef] */; -val* var68 /* : ANodes[AClassdef] */; +val* var10 /* : ANodes[AImport] */; +short int var11 /* : Bool */; +val* var12 /* : ANodes[AExternCodeBlock] */; +val* var14 /* : ANodes[AExternCodeBlock] */; +short int var15 /* : Bool */; +val* var16 /* : ANodes[AClassdef] */; +val* var18 /* : ANodes[AClassdef] */; +short int var19 /* : Bool */; var_old_child = p0; var_new_child = p1; var = self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl 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 */; +{ /* 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 nullable AModuledecl */ +cltype = type_nullable_parser_nodes__AModuledecl.color; +idtype = type_nullable_parser_nodes__AModuledecl.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 AModuledecl */ -cltype = type_parser_nodes__AModuledecl.color; -idtype = type_parser_nodes__AModuledecl.id; if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 46); -exit(1); } -self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val = var_new_child; /* _n_moduledecl on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val = var5; /* _n_moduledecl 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`", "nullable AModuledecl", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 27); +show_backtrace(1); +} +{ +parser_prod__AModule__n_moduledecl_61d(self, var_new_child); /* Direct call parser_prod#AModule#n_moduledecl= on */ } goto RET_LABEL; } else { } -var6 = NEW_range__Range(&type_range__Rangekernel__Int); -var7 = 0; -var8 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on */ -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_imports", "src/parser/parser_prod.nit", 53); -exit(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 */; -CHECK_NEW_range__Range(var6); -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__AModule___n_imports].val; /* _n_imports on */ -if (var16 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_imports", "src/parser/parser_prod.nit", 54); -exit(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 */ +{ +{ /* Inline parser_nodes#AModule#n_imports (self) on */ +var10 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on */ +if (unlikely(var10 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 857); +show_backtrace(1); } -if (var20){ -/* isa AImport */ -cltype22 = type_parser_nodes__AImport.color; -idtype23 = type_parser_nodes__AImport.id; -if(cltype22 >= var_new_child->type->table_size) { -var21 = 0; -} else { -var21 = var_new_child->type->type_table[cltype22] == idtype23; +var8 = var10; +RET_LABEL9:(void)0; } -if (!var21) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 56); -exit(1); } -var24 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on */ -if (var24 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_imports", "src/parser/parser_prod.nit", 57); -exit(1); +{ +var11 = parser_nodes__ANodes__replace_child(var8, var_old_child, var_new_child); } -((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 */; +if (var11){ +goto RET_LABEL; } else { -var25 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on */ -if (var25 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_imports", "src/parser/parser_prod.nit", 60); -exit(1); } -((void (*)(val*, long))(var25->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var25, var_i) /* remove_at on */; +{ +{ /* Inline parser_nodes#AModule#n_extern_code_blocks (self) on */ +var14 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 858); +show_backtrace(1); +} +var12 = var14; +RET_LABEL13:(void)0; } -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 = NEW_range__Range(&type_range__Rangekernel__Int); -var27 = 0; -var28 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on */ -if (var28 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_extern_code_blocks", "src/parser/parser_prod.nit", 65); -exit(1); -} -var29 = ((long (*)(val*))(var28->class->vft[COLOR_abstract_collection__Collection__length]))(var28) /* length on */; -var30 = BOX_kernel__Int(var27); /* autobox from Int to Discrete */ -var31 = BOX_kernel__Int(var29); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var26->class->vft[COLOR_range__Range__without_last]))(var26, var30, var31) /* without_last on */; -CHECK_NEW_range__Range(var26); -var32 = ((val* (*)(val*))(var26->class->vft[COLOR_abstract_collection__Collection__iterator]))(var26) /* iterator on */; -for(;;) { -var33 = ((short int (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var32) /* is_ok on */; -if(!var33) break; -var34 = ((val* (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__item]))(var32) /* item on */; -var36 = ((struct instance_kernel__Int*)var34)->value; /* autounbox from nullable Object to Int */; -var_i35 = var36; -var37 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on */ -if (var37 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_extern_code_blocks", "src/parser/parser_prod.nit", 66); -exit(1); -} -var38 = ((val* (*)(val*, long))(var37->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var37, var_i35) /* [] on */; -var39 = ((short int (*)(val*, val*))(var38->class->vft[COLOR_kernel__Object___61d_61d]))(var38, var_old_child) /* == on */; -if (var39){ -var40 = NULL; -if (var_new_child == NULL) { -var41 = 0; /* is null */ -} else { -var41 = 1; /* arg is null and recv is not */ -} -if (var41){ -/* isa AExternCodeBlock */ -cltype43 = type_parser_nodes__AExternCodeBlock.color; -idtype44 = type_parser_nodes__AExternCodeBlock.id; -if(cltype43 >= var_new_child->type->table_size) { -var42 = 0; -} else { -var42 = var_new_child->type->type_table[cltype43] == idtype44; -} -if (!var42) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 68); -exit(1); -} -var45 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on */ -if (var45 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_extern_code_blocks", "src/parser/parser_prod.nit", 69); -exit(1); -} -((void (*)(val*, long, val*))(var45->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var45, var_i35, 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 { -var46 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on */ -if (var46 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_extern_code_blocks", "src/parser/parser_prod.nit", 72); -exit(1); -} -((void (*)(val*, long))(var46->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var46, var_i35) /* remove_at on */; +{ +var15 = parser_nodes__ANodes__replace_child(var12, var_old_child, var_new_child); } +if (var15){ goto RET_LABEL; } else { } -CONTINUE_label47: (void)0; -((void (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__next]))(var32) /* next on */; -} -BREAK_label47: (void)0; -var48 = NEW_range__Range(&type_range__Rangekernel__Int); -var49 = 0; -var50 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (var50 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classdefs", "src/parser/parser_prod.nit", 77); -exit(1); -} -var51 = ((long (*)(val*))(var50->class->vft[COLOR_abstract_collection__Collection__length]))(var50) /* length on */; -var52 = BOX_kernel__Int(var49); /* autobox from Int to Discrete */ -var53 = BOX_kernel__Int(var51); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var48->class->vft[COLOR_range__Range__without_last]))(var48, var52, var53) /* without_last on */; -CHECK_NEW_range__Range(var48); -var54 = ((val* (*)(val*))(var48->class->vft[COLOR_abstract_collection__Collection__iterator]))(var48) /* iterator on */; -for(;;) { -var55 = ((short int (*)(val*))(var54->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var54) /* is_ok on */; -if(!var55) break; -var56 = ((val* (*)(val*))(var54->class->vft[COLOR_abstract_collection__Iterator__item]))(var54) /* item on */; -var58 = ((struct instance_kernel__Int*)var56)->value; /* autounbox from nullable Object to Int */; -var_i57 = var58; -var59 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (var59 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classdefs", "src/parser/parser_prod.nit", 78); -exit(1); -} -var60 = ((val* (*)(val*, long))(var59->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var59, var_i57) /* [] on */; -var61 = ((short int (*)(val*, val*))(var60->class->vft[COLOR_kernel__Object___61d_61d]))(var60, var_old_child) /* == on */; -if (var61){ -var62 = NULL; -if (var_new_child == NULL) { -var63 = 0; /* is null */ -} else { -var63 = 1; /* arg is null and recv is not */ -} -if (var63){ -/* isa AClassdef */ -cltype65 = type_parser_nodes__AClassdef.color; -idtype66 = type_parser_nodes__AClassdef.id; -if(cltype65 >= var_new_child->type->table_size) { -var64 = 0; -} else { -var64 = var_new_child->type->type_table[cltype65] == idtype66; -} -if (!var64) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 80); -exit(1); -} -var67 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (var67 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classdefs", "src/parser/parser_prod.nit", 81); -exit(1); +{ +{ /* Inline parser_nodes#AModule#n_classdefs (self) on */ +var18 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var18 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 859); +show_backtrace(1); +} +var16 = var18; +RET_LABEL17:(void)0; } -((void (*)(val*, long, val*))(var67->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var67, var_i57, 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 { -var68 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (var68 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classdefs", "src/parser/parser_prod.nit", 84); -exit(1); } -((void (*)(val*, long))(var68->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var68, var_i57) /* remove_at on */; +{ +var19 = parser_nodes__ANodes__replace_child(var16, var_old_child, var_new_child); } +if (var19){ goto RET_LABEL; } else { } -CONTINUE_label69: (void)0; -((void (*)(val*))(var54->class->vft[COLOR_abstract_collection__Iterator__next]))(var54) /* next on */; -} -BREAK_label69: (void)0; RET_LABEL:; } /* method parser_prod#AModule#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AModule__replace_child(val* self, val* p0, val* p1) { -parser_prod__AModule__replace_child(self, p0, p1); +parser_prod__AModule__replace_child(self, p0, p1); /* Direct call parser_prod#AModule#replace_child on */ RET_LABEL:; } /* method parser_prod#AModule#n_moduledecl= for (self: AModule, nullable AModuledecl) */ @@ -478,6 +243,11 @@ void parser_prod__AModule__n_moduledecl_61d(val* self, val* p0) { val* var_node /* var node: nullable AModuledecl */; 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__AModule___n_moduledecl].val = var_node; /* _n_moduledecl on */ var = NULL; @@ -486,135 +256,136 @@ 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#AModule#n_moduledecl= for (self: Object, nullable AModuledecl) */ void VIRTUAL_parser_prod__AModule__n_moduledecl_61d(val* self, val* p0) { -parser_prod__AModule__n_moduledecl_61d(self, p0); +parser_prod__AModule__n_moduledecl_61d(self, p0); /* Direct call parser_prod#AModule#n_moduledecl= on */ RET_LABEL:; } /* method parser_prod#AModule#visit_all for (self: AModule, Visitor) */ void parser_prod__AModule__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; val* var /* : nullable AModuledecl */; -val* var1 /* : null */; -short int var2 /* : Bool */; -val* var3 /* : nullable AModuledecl */; -val* var4 /* : ANodes[AImport] */; -val* var5 /* : Iterator[nullable Object] */; -short int var6 /* : Bool */; -val* var7 /* : nullable Object */; -val* var_n /* var n: AImport */; -val* var8 /* : ANodes[AExternCodeBlock] */; -val* var9 /* : Iterator[nullable Object] */; -short int var10 /* : Bool */; -val* var11 /* : nullable Object */; -val* var_n12 /* var n: AExternCodeBlock */; -val* var14 /* : ANodes[AClassdef] */; -val* var15 /* : Iterator[nullable Object] */; -short int var16 /* : Bool */; -val* var17 /* : nullable Object */; -val* var_n18 /* var n: AClassdef */; +val* var1 /* : ANodes[AImport] */; +val* var3 /* : ANodes[AImport] */; +val* var4 /* : ANodes[AExternCodeBlock] */; +val* var6 /* : ANodes[AExternCodeBlock] */; +val* var7 /* : ANodes[AClassdef] */; +val* var9 /* : ANodes[AClassdef] */; var_v = p0; var = self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on */ -var1 = NULL; -if (var == NULL) { -var2 = 0; /* is null */ -} else { -var2 = 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 (var2){ -var3 = self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 103); -exit(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__AModule___n_imports].val; /* _n_imports on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_imports", "src/parser/parser_prod.nit", 105); -exit(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__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on */ -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_extern_code_blocks", "src/parser/parser_prod.nit", 108); -exit(1); -} -var9 = ((val* (*)(val*))(var8->class->vft[COLOR_abstract_collection__Collection__iterator]))(var8) /* iterator on */; -for(;;) { -var10 = ((short int (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var9) /* is_ok on */; -if(!var10) break; -var11 = ((val* (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__item]))(var9) /* item on */; -var_n12 = var11; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n12) /* enter_visit on */; -CONTINUE_label13: (void)0; -((void (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__next]))(var9) /* next on */; -} -BREAK_label13: (void)0; -var14 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ -if (var14 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classdefs", "src/parser/parser_prod.nit", 111); -exit(1); -} -var15 = ((val* (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__iterator]))(var14) /* iterator on */; -for(;;) { -var16 = ((short int (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var15) /* is_ok on */; -if(!var16) break; -var17 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__item]))(var15) /* item on */; -var_n18 = var17; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n18) /* enter_visit on */; -CONTINUE_label19: (void)0; -((void (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__next]))(var15) /* next on */; -} -BREAK_label19: (void)0; -RET_LABEL:; +{ +{ /* Inline parser_nodes#AModule#n_imports (self) on */ +var3 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 857); +show_backtrace(1); } -/* method parser_prod#AModule#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AModule__visit_all(val* self, val* p0) { -parser_prod__AModule__visit_all(self, p0); -RET_LABEL:; +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +parser_nodes__ANodes__visit_all(var1, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ +} +{ +{ /* Inline parser_nodes#AModule#n_extern_code_blocks (self) on */ +var6 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 858); +show_backtrace(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} +} +{ +parser_nodes__ANodes__visit_all(var4, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ +} +{ +{ /* Inline parser_nodes#AModule#n_classdefs (self) on */ +var9 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 859); +show_backtrace(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +{ +parser_nodes__ANodes__visit_all(var7, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ } -/* method parser_prod#AModuledecl#empty_init for (self: AModuledecl) */ -void parser_prod__AModuledecl__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AModuledecl#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AModuledecl__empty_init(val* self) { -parser_prod__AModuledecl__empty_init(self); +/* method parser_prod#AModule#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AModule__visit_all(val* self, val* p0) { +parser_prod__AModule__visit_all(self, p0); /* Direct call parser_prod#AModule#visit_all on */ RET_LABEL:; } -/* method parser_prod#AModuledecl#init_amoduledecl for (self: AModuledecl, nullable ADoc, nullable TKwmodule, nullable AModuleName, nullable AAnnotations) */ -void parser_prod__AModuledecl__init_amoduledecl(val* self, val* p0, val* p1, val* p2, val* p3) { +/* method parser_prod#AModuledecl#init_amoduledecl for (self: AModuledecl, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmodule, nullable AModuleName, nullable AAnnotations) */ +void parser_prod__AModuledecl__init_amoduledecl(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { 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_kwmodule /* var n_kwmodule: nullable TKwmodule */; val* var_n_name /* var n_name: nullable AModuleName */; val* var_n_annotations /* var n_annotations: nullable AAnnotations */; val* var /* : null */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +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 */; +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_doc = p0; -var_n_kwmodule = p1; -var_n_name = p2; -var_n_annotations = p3; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AModuledecl__empty_init]))(self) /* empty_init on */; +var_n_kwredef = p1; +var_n_visibility = p2; +var_n_kwmodule = p3; +var_n_name = p4; +var_n_annotations = p5; self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var_n_doc; /* _n_doc on */ var = NULL; if (var_n_doc == NULL) { @@ -622,48 +393,157 @@ var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_n_doc,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_doc->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_doc, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +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 */; +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_doc,self) on */ +var_n_doc->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; +} +} } else { } -if (var_n_kwmodule == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 131); -exit(1); +self->attrs[COLOR_parser_nodes__AModuledecl___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ +var8 = NULL; +if (var_n_kwredef == NULL) { +var9 = 0; /* is null */ +} else { +var9 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwredef,var8) on */ +var_other = var8; +{ +var13 = ((short int (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwredef, var_other) /* == on */; +var12 = var13; +} +var14 = !var12; +var10 = var14; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; +} +if (var9){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwredef,self) on */ +var_n_kwredef->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL15:(void)0; +} +} +} else { +} +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 64); +show_backtrace(1); +} +self->attrs[COLOR_parser_nodes__AModuledecl___n_visibility].val = var_n_visibility; /* _n_visibility on */ +if (var_n_visibility == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 65); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_n_visibility,self) on */ +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_visibility->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL16:(void)0; +} +} +if (unlikely(var_n_kwmodule == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 66); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val = var_n_kwmodule; /* _n_kwmodule on */ if (var_n_kwmodule == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 132); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 67); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwmodule->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwmodule, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwmodule,self) on */ +if (unlikely(var_n_kwmodule == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_name == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 133); -exit(1); +var_n_kwmodule->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL17:(void)0; +} +} +if (unlikely(var_n_name == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 68); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val = var_n_name; /* _n_name on */ if (var_n_name == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 134); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 69); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_name->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_name, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_name,self) on */ +if (unlikely(var_n_name == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_name->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL18:(void)0; +} } self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var2 = NULL; +var19 = NULL; if (var_n_annotations == NULL) { -var3 = 0; /* is null */ +var20 = 0; /* is null */ } else { -var3 = 1; /* arg is null and recv is not */ +var20 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var19) on */ +var_other = var19; +{ +var24 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var23 = var24; +} +var25 = !var23; +var21 = var25; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +if (var20){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL26:(void)0; +} } -if (var3){ -((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#AModuledecl#init_amoduledecl for (self: Object, nullable ADoc, nullable TKwmodule, nullable AModuleName, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AModuledecl__init_amoduledecl(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__AModuledecl__init_amoduledecl(self, p0, p1, p2, p3); +/* method parser_prod#AModuledecl#init_amoduledecl for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmodule, nullable AModuleName, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AModuledecl__init_amoduledecl(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { +parser_prod__AModuledecl__init_amoduledecl(self, p0, p1, p2, p3, p4, p5); /* Direct call parser_prod#AModuledecl#init_amoduledecl on */ RET_LABEL:; } /* method parser_prod#AModuledecl#replace_child for (self: AModuledecl, ANode, nullable ANode) */ @@ -672,181 +552,345 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : nullable ADoc */; 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 /* : TKwmodule */; -short int var7 /* : Bool */; -val* var8 /* : null */; +const char* var_class_name; +val* var8 /* : nullable TKwredef */; short int var9 /* : Bool */; short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : AModuleName */; +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 /* : nullable AAnnotations */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : AVisibility */; +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; +val* var30 /* : TKwmodule */; +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 /* : AModuleName */; +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__AModuledecl___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 */; +{ /* 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 nullable ADoc */ +cltype = type_nullable_parser_nodes__ADoc.color; +idtype = type_nullable_parser_nodes__ADoc.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 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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 146); -exit(1); } -self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var_new_child; /* _n_doc on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var5; /* _n_doc 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`", "nullable ADoc", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 77); +show_backtrace(1); +} +{ +parser_prod__AModuledecl__n_doc_61d(self, var_new_child); /* Direct call parser_prod#AModuledecl#n_doc= on */ } goto RET_LABEL; } else { } -var6 = self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val; /* _n_kwmodule on */ -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmodule", "src/parser/parser_prod.nit", 153); -exit(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 */ +var8 = self->attrs[COLOR_parser_nodes__AModuledecl___n_kwredef].val; /* _n_kwredef on */ +if (var8 == NULL) { +var9 = 0; /* cannot be 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 TKwmodule */ -cltype11 = type_parser_nodes__TKwmodule.color; -idtype12 = type_parser_nodes__TKwmodule.id; -if(cltype11 >= var_new_child->type->table_size) { -var10 = 0; +/* isa nullable TKwredef */ +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 156); -exit(1); } -self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val = var_new_child; /* _n_kwmodule on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 159); -exit(1); +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwredef", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 81); +show_backtrace(1); +} +{ +parser_prod__AModuledecl__n_kwredef_61d(self, var_new_child); /* Direct call parser_prod#AModuledecl#n_kwredef= on */ } goto RET_LABEL; } else { } -var13 = self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val; /* _n_name on */ -if (var13 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_name", "src/parser/parser_prod.nit", 163); -exit(1); -} -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 */ +var19 = self->attrs[COLOR_parser_nodes__AModuledecl___n_visibility].val; /* _n_visibility on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 84); +show_backtrace(1); } -if (var16){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AModuleName */ -cltype18 = type_parser_nodes__AModuleName.color; -idtype19 = type_parser_nodes__AModuleName.id; -if(cltype18 >= var_new_child->type->table_size) { -var17 = 0; -} else { -var17 = var_new_child->type->type_table[cltype18] == idtype19; +{ +{ /* 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 (!var17) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 166); -exit(1); } -self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val = var_new_child; /* _n_name on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 169); -exit(1); +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -goto RET_LABEL; -} else { +var20 = var21; } -var20 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var20 == NULL) { -var21 = 0; /* cannot be null */ +if (var20){ +/* isa AVisibility */ +cltype27 = type_parser_nodes__AVisibility.color; +idtype28 = type_parser_nodes__AVisibility.id; +if(var_new_child == NULL) { +var26 = 0; } else { -var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on */; -} -if (var21){ -var22 = NULL; -if (var_new_child == NULL) { -var23 = 0; /* is null */ +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -var23 = 1; /* arg is null and recv is not */ +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -if (var23){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype25 = type_parser_nodes__AAnnotations.color; -idtype26 = type_parser_nodes__AAnnotations.id; -if(cltype25 >= var_new_child->type->table_size) { -var24 = 0; -} else { -var24 = var_new_child->type->type_table[cltype25] == idtype26; } -if (!var24) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 176); -exit(1); +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AVisibility", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 85); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ -} else { -var27 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var27; /* _n_annotations on */ +{ +parser_prod__AModuledecl__n_visibility_61d(self, var_new_child); /* Direct call parser_prod#AModuledecl#n_visibility= on */ } goto RET_LABEL; } else { } -RET_LABEL:; +var30 = self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val; /* _n_kwmodule on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwmodule"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 88); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var30,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ +var36 = var30 == var_other; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; +} +} +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +var31 = var32; +} +if (var31){ +/* isa TKwmodule */ +cltype38 = type_parser_nodes__TKwmodule.color; +idtype39 = type_parser_nodes__TKwmodule.id; +if(var_new_child == NULL) { +var37 = 0; +} else { +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; +} else { +var37 = var_new_child->type->type_table[cltype38] == idtype39; +} +} +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwmodule", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 89); +show_backtrace(1); +} +{ +parser_prod__AModuledecl__n_kwmodule_61d(self, var_new_child); /* Direct call parser_prod#AModuledecl#n_kwmodule= on */ +} +goto RET_LABEL; +} else { +} +var41 = self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val; /* _n_name on */ +if (unlikely(var41 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 92); +show_backtrace(1); +} +{ +{ /* Inline kernel#Object#== (var41,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var41,var_other) on */ +var47 = var41 == var_other; +var45 = var47; +goto RET_LABEL46; +RET_LABEL46:(void)0; +} +} +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; +} +var42 = var43; +} +if (var42){ +/* isa AModuleName */ +cltype49 = type_parser_nodes__AModuleName.color; +idtype50 = type_parser_nodes__AModuleName.id; +if(var_new_child == NULL) { +var48 = 0; +} else { +if(cltype49 >= var_new_child->type->table_size) { +var48 = 0; +} else { +var48 = var_new_child->type->type_table[cltype49] == idtype50; +} +} +if (unlikely(!var48)) { +var_class_name51 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AModuleName", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 93); +show_backtrace(1); +} +{ +parser_prod__AModuledecl__n_name_61d(self, var_new_child); /* Direct call parser_prod#AModuledecl#n_name= on */ +} +goto RET_LABEL; +} else { +} +var52 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var52 == NULL) { +var53 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var52,var_old_child) on */ +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 (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 { +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", 97); +show_backtrace(1); +} +{ +parser_prod__AModuledecl__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AModuledecl#n_annotations= on */ +} +goto RET_LABEL; +} else { +} +RET_LABEL:; } /* method parser_prod#AModuledecl#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AModuledecl__replace_child(val* self, val* p0, val* p1) { -parser_prod__AModuledecl__replace_child(self, p0, p1); +parser_prod__AModuledecl__replace_child(self, p0, p1); /* Direct call parser_prod#AModuledecl#replace_child on */ RET_LABEL:; } /* method parser_prod#AModuledecl#n_doc= for (self: AModuledecl, nullable ADoc) */ @@ -854,6 +898,11 @@ void parser_prod__AModuledecl__n_doc_61d(val* self, val* p0) { val* var_node /* var node: nullable ADoc */; 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__AModuledecl___n_doc].val = var_node; /* _n_doc on */ var = NULL; @@ -862,15 +911,100 @@ 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#AModuledecl#n_doc= for (self: Object, nullable ADoc) */ void VIRTUAL_parser_prod__AModuledecl__n_doc_61d(val* self, val* p0) { -parser_prod__AModuledecl__n_doc_61d(self, p0); +parser_prod__AModuledecl__n_doc_61d(self, p0); /* Direct call parser_prod#AModuledecl#n_doc= on */ +RET_LABEL:; +} +/* method parser_prod#AModuledecl#n_kwredef= for (self: AModuledecl, nullable TKwredef) */ +void parser_prod__AModuledecl__n_kwredef_61d(val* self, val* p0) { +val* var_node /* var node: nullable TKwredef */; +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__AModuledecl___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 */ +} +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#AModuledecl#n_kwredef= for (self: Object, nullable TKwredef) */ +void VIRTUAL_parser_prod__AModuledecl__n_kwredef_61d(val* self, val* p0) { +parser_prod__AModuledecl__n_kwredef_61d(self, p0); /* Direct call parser_prod#AModuledecl#n_kwredef= on */ +RET_LABEL:; +} +/* method parser_prod#AModuledecl#n_visibility= for (self: AModuledecl, AVisibility) */ +void parser_prod__AModuledecl__n_visibility_61d(val* self, val* p0) { +val* var_node /* var node: AVisibility */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AModuledecl___n_visibility].val = var_node; /* _n_visibility 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#AModuledecl#n_visibility= for (self: Object, AVisibility) */ +void VIRTUAL_parser_prod__AModuledecl__n_visibility_61d(val* self, val* p0) { +parser_prod__AModuledecl__n_visibility_61d(self, p0); /* Direct call parser_prod#AModuledecl#n_visibility= on */ RET_LABEL:; } /* method parser_prod#AModuledecl#n_kwmodule= for (self: AModuledecl, TKwmodule) */ @@ -878,12 +1012,17 @@ void parser_prod__AModuledecl__n_kwmodule_61d(val* self, val* p0) { val* var_node /* var node: TKwmodule */; var_node = p0; self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val = var_node; /* _n_kwmodule on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AModuledecl#n_kwmodule= for (self: Object, TKwmodule) */ void VIRTUAL_parser_prod__AModuledecl__n_kwmodule_61d(val* self, val* p0) { -parser_prod__AModuledecl__n_kwmodule_61d(self, p0); +parser_prod__AModuledecl__n_kwmodule_61d(self, p0); /* Direct call parser_prod#AModuledecl#n_kwmodule= on */ RET_LABEL:; } /* method parser_prod#AModuledecl#n_name= for (self: AModuledecl, AModuleName) */ @@ -891,12 +1030,17 @@ void parser_prod__AModuledecl__n_name_61d(val* self, val* p0) { val* var_node /* var node: AModuleName */; var_node = p0; self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val = var_node; /* _n_name on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AModuledecl#n_name= for (self: Object, AModuleName) */ void VIRTUAL_parser_prod__AModuledecl__n_name_61d(val* self, val* p0) { -parser_prod__AModuledecl__n_name_61d(self, p0); +parser_prod__AModuledecl__n_name_61d(self, p0); /* Direct call parser_prod#AModuledecl#n_name= on */ RET_LABEL:; } /* method parser_prod#AModuledecl#n_annotations= for (self: AModuledecl, nullable AAnnotations) */ @@ -904,6 +1048,11 @@ void parser_prod__AModuledecl__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; @@ -912,89 +1061,90 @@ 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#AModuledecl#n_annotations= for (self: Object, nullable AAnnotations) */ void VIRTUAL_parser_prod__AModuledecl__n_annotations_61d(val* self, val* p0) { -parser_prod__AModuledecl__n_annotations_61d(self, p0); +parser_prod__AModuledecl__n_annotations_61d(self, p0); /* Direct call parser_prod#AModuledecl#n_annotations= on */ RET_LABEL:; } /* method parser_prod#AModuledecl#visit_all for (self: AModuledecl, Visitor) */ void parser_prod__AModuledecl__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 /* : TKwmodule */; -val* var5 /* : AModuleName */; -val* var6 /* : nullable AAnnotations */; -val* var7 /* : null */; -short int var8 /* : Bool */; -val* var9 /* : nullable AAnnotations */; +val* var1 /* : nullable TKwredef */; +val* var2 /* : AVisibility */; +val* var3 /* : TKwmodule */; +val* var4 /* : AModuleName */; +val* var5 /* : nullable AAnnotations */; var_v = p0; var = self->attrs[COLOR_parser_nodes__AModuledecl___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 */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val; /* _n_doc on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 214); -exit(1); +var1 = self->attrs[COLOR_parser_nodes__AModuledecl___n_kwredef].val; /* _n_kwredef 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, var3) /* enter_visit on */; -} else { +var2 = self->attrs[COLOR_parser_nodes__AModuledecl___n_visibility].val; /* _n_visibility on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 138); +show_backtrace(1); } -var4 = self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val; /* _n_kwmodule on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmodule", "src/parser/parser_prod.nit", 216); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; -var5 = self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val; /* _n_name on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_name", "src/parser/parser_prod.nit", 217); -exit(1); +var3 = self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val; /* _n_kwmodule on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwmodule"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 139); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on */; -var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var7 = NULL; -if (var6 == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var8){ -var9 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var9 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 219); -exit(1); +var4 = self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val; /* _n_name on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 140); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on */; -} else { +{ +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#AModuledecl#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__AModuledecl__visit_all(val* self, val* p0) { -parser_prod__AModuledecl__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AStdImport#empty_init for (self: AStdImport) */ -void parser_prod__AStdImport__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AStdImport#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AStdImport__empty_init(val* self) { -parser_prod__AStdImport__empty_init(self); +parser_prod__AModuledecl__visit_all(self, p0); /* Direct call parser_prod#AModuledecl#visit_all on */ RET_LABEL:; } /* method parser_prod#AStdImport#init_astdimport for (self: AStdImport, nullable AVisibility, nullable TKwimport, nullable AModuleName, nullable AAnnotations) */ @@ -1004,61 +1154,114 @@ val* var_n_kwimport /* var n_kwimport: nullable TKwimport */; val* var_n_name /* var n_name: nullable AModuleName */; val* var_n_annotations /* var n_annotations: nullable AAnnotations */; val* var /* : null */; -short int var1 /* : Bool */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; var_n_visibility = p0; var_n_kwimport = p1; var_n_name = p2; var_n_annotations = p3; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStdImport__empty_init]))(self) /* empty_init on */; -if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 234); -exit(1); +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 152); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val = var_n_visibility; /* _n_visibility on */ if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 235); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 153); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_visibility,self) on */ +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_kwimport == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 236); -exit(1); +var_n_visibility->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +if (unlikely(var_n_kwimport == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 154); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val = var_n_kwimport; /* _n_kwimport on */ if (var_n_kwimport == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 237); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 155); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwimport->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwimport, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwimport,self) on */ +if (unlikely(var_n_kwimport == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwimport->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -if (var_n_name == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 238); -exit(1); +} +if (unlikely(var_n_name == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 156); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AStdImport___n_name].val = var_n_name; /* _n_name on */ if (var_n_name == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 239); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 157); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_name->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_name, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_name,self) on */ +if (unlikely(var_n_name == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_name->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; +} } self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ var = NULL; if (var_n_annotations == NULL) { -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_annotations,var) on */ +var_other = var; +{ +var8 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var7 = var8; +} +var9 = !var7; +var5 = var9; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +var4 = var5; +} +if (var4){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL10:(void)0; +} } -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; } else { } RET_LABEL:; } /* method parser_prod#AStdImport#init_astdimport for (self: Object, nullable AVisibility, nullable TKwimport, nullable AModuleName, nullable AAnnotations) */ void VIRTUAL_parser_prod__AStdImport__init_astdimport(val* self, val* p0, val* p1, val* p2, val* p3) { -parser_prod__AStdImport__init_astdimport(self, p0, p1, p2, p3); +parser_prod__AStdImport__init_astdimport(self, p0, p1, p2, p3); /* Direct call parser_prod#AStdImport#init_astdimport on */ RET_LABEL:; } /* method parser_prod#AStdImport#replace_child for (self: AStdImport, ANode, nullable ANode) */ @@ -1067,171 +1270,228 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : AVisibility */; 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 /* : TKwimport */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : TKwimport */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : AModuleName */; -short int var13 /* : Bool */; -val* var14 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -val* var19 /* : nullable AAnnotations */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : AModuleName */; short int var20 /* : Bool */; -val* var21 /* : null */; -short int var22 /* : Bool */; +short int var21 /* : Bool */; short int var23 /* : Bool */; -int cltype24; -int idtype25; -val* var26 /* : null */; +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__AStdImport___n_visibility].val; /* _n_visibility on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 248); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 164); +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 AVisibility */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa AVisibility */ cltype = type_parser_nodes__AVisibility.color; idtype = type_parser_nodes__AVisibility.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 251); -exit(1); } -self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val = var_new_child; /* _n_visibility on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 254); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AVisibility", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 165); +show_backtrace(1); +} +{ +parser_prod__AStdImport__n_visibility_61d(self, var_new_child); /* Direct call parser_prod#AStdImport#n_visibility= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val; /* _n_kwimport on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwimport", "src/parser/parser_prod.nit", 258); -exit(1); +var8 = self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val; /* _n_kwimport on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwimport"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 168); +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 TKwimport */ -cltype10 = type_parser_nodes__TKwimport.color; -idtype11 = type_parser_nodes__TKwimport.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 261); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val = var_new_child; /* _n_kwimport on */ +var9 = var10; +} +if (var9){ +/* isa TKwimport */ +cltype16 = type_parser_nodes__TKwimport.color; +idtype17 = type_parser_nodes__TKwimport.id; +if(var_new_child == NULL) { +var15 = 0; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 264); -exit(1); +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwimport", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 169); +show_backtrace(1); +} +{ +parser_prod__AStdImport__n_kwimport_61d(self, var_new_child); /* Direct call parser_prod#AStdImport#n_kwimport= on */ } goto RET_LABEL; } else { } -var12 = self->attrs[COLOR_parser_nodes__AStdImport___n_name].val; /* _n_name on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_name", "src/parser/parser_prod.nit", 268); -exit(1); +var19 = self->attrs[COLOR_parser_nodes__AStdImport___n_name].val; /* _n_name on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 172); +show_backtrace(1); } -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ -} else { -var15 = 1; /* arg is null and recv is not */ +{ +{ /* Inline kernel#Object#== (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 (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AModuleName */ -cltype17 = type_parser_nodes__AModuleName.color; -idtype18 = type_parser_nodes__AModuleName.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; -} else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 271); -exit(1); +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; } -self->attrs[COLOR_parser_nodes__AStdImport___n_name].val = var_new_child; /* _n_name on */ +if (var20){ +/* isa AModuleName */ +cltype27 = type_parser_nodes__AModuleName.color; +idtype28 = type_parser_nodes__AModuleName.id; +if(var_new_child == NULL) { +var26 = 0; +} else { +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 274); -exit(1); +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`", "AModuleName", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 173); +show_backtrace(1); +} +{ +parser_prod__AStdImport__n_name_61d(self, var_new_child); /* Direct call parser_prod#AStdImport#n_name= on */ } goto RET_LABEL; } else { } -var19 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var19 == NULL) { -var20 = 0; /* cannot be null */ +var30 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var30 == NULL) { +var31 = 0; /* cannot be null */ } else { -var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, 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 (var20){ -var21 = NULL; -if (var_new_child == NULL) { -var22 = 0; /* is null */ -} else { -var22 = 1; /* arg is null and recv is not */ } -if (var22){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype24 = type_parser_nodes__AAnnotations.color; -idtype25 = type_parser_nodes__AAnnotations.id; -if(cltype24 >= var_new_child->type->table_size) { -var23 = 0; -} else { -var23 = var_new_child->type->type_table[cltype24] == idtype25; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -if (!var23) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 281); -exit(1); +var31 = var32; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +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 { -var26 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var26; /* _n_annotations 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 AAnnotations", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 177); +show_backtrace(1); +} +{ +parser_prod__AStdImport__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AStdImport#n_annotations= on */ } goto RET_LABEL; } else { @@ -1240,7 +1500,7 @@ RET_LABEL:; } /* method parser_prod#AStdImport#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AStdImport__replace_child(val* self, val* p0, val* p1) { -parser_prod__AStdImport__replace_child(self, p0, p1); +parser_prod__AStdImport__replace_child(self, p0, p1); /* Direct call parser_prod#AStdImport#replace_child on */ RET_LABEL:; } /* method parser_prod#AStdImport#n_visibility= for (self: AStdImport, AVisibility) */ @@ -1248,12 +1508,17 @@ void parser_prod__AStdImport__n_visibility_61d(val* self, val* p0) { val* var_node /* var node: AVisibility */; var_node = p0; self->attrs[COLOR_parser_nodes__AStdImport___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 */; +{ +{ /* 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#AStdImport#n_visibility= for (self: Object, AVisibility) */ void VIRTUAL_parser_prod__AStdImport__n_visibility_61d(val* self, val* p0) { -parser_prod__AStdImport__n_visibility_61d(self, p0); +parser_prod__AStdImport__n_visibility_61d(self, p0); /* Direct call parser_prod#AStdImport#n_visibility= on */ RET_LABEL:; } /* method parser_prod#AStdImport#n_kwimport= for (self: AStdImport, TKwimport) */ @@ -1261,12 +1526,17 @@ void parser_prod__AStdImport__n_kwimport_61d(val* self, val* p0) { val* var_node /* var node: TKwimport */; var_node = p0; self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val = var_node; /* _n_kwimport on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AStdImport#n_kwimport= for (self: Object, TKwimport) */ void VIRTUAL_parser_prod__AStdImport__n_kwimport_61d(val* self, val* p0) { -parser_prod__AStdImport__n_kwimport_61d(self, p0); +parser_prod__AStdImport__n_kwimport_61d(self, p0); /* Direct call parser_prod#AStdImport#n_kwimport= on */ RET_LABEL:; } /* method parser_prod#AStdImport#n_name= for (self: AStdImport, AModuleName) */ @@ -1274,12 +1544,17 @@ void parser_prod__AStdImport__n_name_61d(val* self, val* p0) { val* var_node /* var node: AModuleName */; var_node = p0; self->attrs[COLOR_parser_nodes__AStdImport___n_name].val = var_node; /* _n_name on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AStdImport#n_name= for (self: Object, AModuleName) */ void VIRTUAL_parser_prod__AStdImport__n_name_61d(val* self, val* p0) { -parser_prod__AStdImport__n_name_61d(self, p0); +parser_prod__AStdImport__n_name_61d(self, p0); /* Direct call parser_prod#AStdImport#n_name= on */ RET_LABEL:; } /* method parser_prod#AStdImport#n_annotations= for (self: AStdImport, nullable AAnnotations) */ @@ -1287,6 +1562,11 @@ void parser_prod__AStdImport__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; @@ -1295,15 +1575,34 @@ 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#AStdImport#n_annotations= for (self: Object, nullable AAnnotations) */ void VIRTUAL_parser_prod__AStdImport__n_annotations_61d(val* self, val* p0) { -parser_prod__AStdImport__n_annotations_61d(self, p0); +parser_prod__AStdImport__n_annotations_61d(self, p0); /* Direct call parser_prod#AStdImport#n_annotations= on */ RET_LABEL:; } /* method parser_prod#AStdImport#visit_all for (self: AStdImport, Visitor) */ @@ -1313,58 +1612,43 @@ val* var /* : AVisibility */; val* var1 /* : TKwimport */; val* var2 /* : AModuleName */; val* var3 /* : nullable AAnnotations */; -val* var4 /* : null */; -short int var5 /* : Bool */; -val* var6 /* : nullable AAnnotations */; var_v = p0; var = self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val; /* _n_visibility on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 316); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 206); +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, var) /* enter_visit on */; var1 = self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val; /* _n_kwimport on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwimport", "src/parser/parser_prod.nit", 317); -exit(1); +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwimport"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 207); +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__AStdImport___n_name].val; /* _n_name on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_name", "src/parser/parser_prod.nit", 318); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; -var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var4 = NULL; -if (var3 == NULL) { -var5 = 0; /* is null */ -} else { -var5 = 1; /* arg is null and recv is not */ +var2 = self->attrs[COLOR_parser_nodes__AStdImport___n_name].val; /* _n_name on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 208); +show_backtrace(1); } -if (var5){ -var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 320); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on */; -} else { +var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } /* method parser_prod#AStdImport#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__AStdImport__visit_all(val* self, val* p0) { -parser_prod__AStdImport__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#ANoImport#empty_init for (self: ANoImport) */ -void parser_prod__ANoImport__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#ANoImport#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ANoImport__empty_init(val* self) { -parser_prod__ANoImport__empty_init(self); +parser_prod__AStdImport__visit_all(self, p0); /* Direct call parser_prod#AStdImport#visit_all on */ RET_LABEL:; } /* method parser_prod#ANoImport#init_anoimport for (self: ANoImport, nullable AVisibility, nullable TKwimport, nullable TKwend) */ @@ -1375,45 +1659,74 @@ val* var_n_kwend /* var n_kwend: nullable TKwend */; var_n_visibility = p0; var_n_kwimport = p1; var_n_kwend = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANoImport__empty_init]))(self) /* empty_init on */; -if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 334); -exit(1); +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 219); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val = var_n_visibility; /* _n_visibility on */ if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 335); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 220); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_visibility,self) on */ +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_kwimport == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 336); -exit(1); +var_n_visibility->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +if (unlikely(var_n_kwimport == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 221); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val = var_n_kwimport; /* _n_kwimport on */ if (var_n_kwimport == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 337); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 222); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwimport->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwimport, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwimport,self) on */ +if (unlikely(var_n_kwimport == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwimport->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } -if (var_n_kwend == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 338); -exit(1); +} +if (unlikely(var_n_kwend == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 223); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val = var_n_kwend; /* _n_kwend on */ if (var_n_kwend == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 339); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 224); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwend->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwend, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwend,self) on */ +if (unlikely(var_n_kwend == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwend->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL3:(void)0; +} } RET_LABEL:; } /* method parser_prod#ANoImport#init_anoimport for (self: Object, nullable AVisibility, nullable TKwimport, nullable TKwend) */ void VIRTUAL_parser_prod__ANoImport__init_anoimport(val* self, val* p0, val* p1, val* p2) { -parser_prod__ANoImport__init_anoimport(self, p0, p1, p2); +parser_prod__ANoImport__init_anoimport(self, p0, p1, p2); /* Direct call parser_prod#ANoImport#init_anoimport on */ RET_LABEL:; } /* method parser_prod#ANoImport#replace_child for (self: ANoImport, ANode, nullable ANode) */ @@ -1422,128 +1735,174 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : AVisibility */; 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 /* : TKwimport */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : TKwimport */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : TKwend */; -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 /* : TKwend */; +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__ANoImport___n_visibility].val; /* _n_visibility on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 344); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 229); +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 AVisibility */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa AVisibility */ cltype = type_parser_nodes__AVisibility.color; idtype = type_parser_nodes__AVisibility.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 347); -exit(1); } -self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val = var_new_child; /* _n_visibility on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 350); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AVisibility", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 230); +show_backtrace(1); +} +{ +parser_prod__ANoImport__n_visibility_61d(self, var_new_child); /* Direct call parser_prod#ANoImport#n_visibility= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val; /* _n_kwimport on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwimport", "src/parser/parser_prod.nit", 354); -exit(1); +var8 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val; /* _n_kwimport on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwimport"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 233); +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 TKwimport */ -cltype10 = type_parser_nodes__TKwimport.color; -idtype11 = type_parser_nodes__TKwimport.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 357); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; } -self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val = var_new_child; /* _n_kwimport on */ +if (var9){ +/* isa TKwimport */ +cltype16 = type_parser_nodes__TKwimport.color; +idtype17 = type_parser_nodes__TKwimport.id; +if(var_new_child == NULL) { +var15 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 360); -exit(1); +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`", "TKwimport", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 234); +show_backtrace(1); +} +{ +parser_prod__ANoImport__n_kwimport_61d(self, var_new_child); /* Direct call parser_prod#ANoImport#n_kwimport= on */ } goto RET_LABEL; } else { } -var12 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val; /* _n_kwend on */ -if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwend", "src/parser/parser_prod.nit", 364); -exit(1); +var19 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val; /* _n_kwend on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwend"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 237); +show_backtrace(1); } -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on */; -if (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ -} else { -var15 = 1; /* arg is null and recv is not */ +{ +{ /* Inline kernel#Object#== (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 (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwend */ -cltype17 = type_parser_nodes__TKwend.color; -idtype18 = type_parser_nodes__TKwend.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; -} else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 367); -exit(1); +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val = var_new_child; /* _n_kwend on */ +var20 = var21; +} +if (var20){ +/* isa TKwend */ +cltype27 = type_parser_nodes__TKwend.color; +idtype28 = type_parser_nodes__TKwend.id; +if(var_new_child == NULL) { +var26 = 0; +} else { +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 370); -exit(1); +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`", "TKwend", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 238); +show_backtrace(1); +} +{ +parser_prod__ANoImport__n_kwend_61d(self, var_new_child); /* Direct call parser_prod#ANoImport#n_kwend= on */ } goto RET_LABEL; } else { @@ -1552,7 +1911,7 @@ RET_LABEL:; } /* method parser_prod#ANoImport#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__ANoImport__replace_child(val* self, val* p0, val* p1) { -parser_prod__ANoImport__replace_child(self, p0, p1); +parser_prod__ANoImport__replace_child(self, p0, p1); /* Direct call parser_prod#ANoImport#replace_child on */ RET_LABEL:; } /* method parser_prod#ANoImport#n_visibility= for (self: ANoImport, AVisibility) */ @@ -1560,12 +1919,17 @@ void parser_prod__ANoImport__n_visibility_61d(val* self, val* p0) { val* var_node /* var node: AVisibility */; var_node = p0; self->attrs[COLOR_parser_nodes__ANoImport___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 */; +{ +{ /* 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#ANoImport#n_visibility= for (self: Object, AVisibility) */ void VIRTUAL_parser_prod__ANoImport__n_visibility_61d(val* self, val* p0) { -parser_prod__ANoImport__n_visibility_61d(self, p0); +parser_prod__ANoImport__n_visibility_61d(self, p0); /* Direct call parser_prod#ANoImport#n_visibility= on */ RET_LABEL:; } /* method parser_prod#ANoImport#n_kwimport= for (self: ANoImport, TKwimport) */ @@ -1573,12 +1937,17 @@ void parser_prod__ANoImport__n_kwimport_61d(val* self, val* p0) { val* var_node /* var node: TKwimport */; var_node = p0; self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val = var_node; /* _n_kwimport on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#ANoImport#n_kwimport= for (self: Object, TKwimport) */ void VIRTUAL_parser_prod__ANoImport__n_kwimport_61d(val* self, val* p0) { -parser_prod__ANoImport__n_kwimport_61d(self, p0); +parser_prod__ANoImport__n_kwimport_61d(self, p0); /* Direct call parser_prod#ANoImport#n_kwimport= on */ RET_LABEL:; } /* method parser_prod#ANoImport#n_kwend= for (self: ANoImport, TKwend) */ @@ -1586,12 +1955,17 @@ void parser_prod__ANoImport__n_kwend_61d(val* self, val* p0) { val* var_node /* var node: TKwend */; var_node = p0; self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val = var_node; /* _n_kwend on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#ANoImport#n_kwend= for (self: Object, TKwend) */ void VIRTUAL_parser_prod__ANoImport__n_kwend_61d(val* self, val* p0) { -parser_prod__ANoImport__n_kwend_61d(self, p0); +parser_prod__ANoImport__n_kwend_61d(self, p0); /* Direct call parser_prod#ANoImport#n_kwend= on */ RET_LABEL:; } /* method parser_prod#ANoImport#visit_all for (self: ANoImport, Visitor) */ @@ -1602,103 +1976,249 @@ val* var1 /* : TKwimport */; val* var2 /* : TKwend */; var_v = p0; var = self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val; /* _n_visibility on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 395); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 262); +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, var) /* enter_visit on */; var1 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val; /* _n_kwimport on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwimport", "src/parser/parser_prod.nit", 396); -exit(1); +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwimport"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 263); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; var2 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val; /* _n_kwend on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwend", "src/parser/parser_prod.nit", 397); -exit(1); +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwend"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 264); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on */; RET_LABEL:; } /* method parser_prod#ANoImport#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__ANoImport__visit_all(val* self, val* p0) { -parser_prod__ANoImport__visit_all(self, p0); +parser_prod__ANoImport__visit_all(self, p0); /* Direct call parser_prod#ANoImport#visit_all on */ RET_LABEL:; } -/* method parser_prod#APublicVisibility#empty_init for (self: APublicVisibility) */ -void parser_prod__APublicVisibility__empty_init(val* self) { -RET_LABEL:; +/* method parser_prod#APublicVisibility#init_apublicvisibility for (self: APublicVisibility, nullable TKwpublic) */ +void parser_prod__APublicVisibility__init_apublicvisibility(val* self, val* p0) { +val* var_n_kwpublic /* var n_kwpublic: nullable TKwpublic */; +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_n_kwpublic = p0; +self->attrs[COLOR_parser_nodes__APublicVisibility___n_kwpublic].val = var_n_kwpublic; /* _n_kwpublic on */ +var = NULL; +if (var_n_kwpublic == NULL) { +var1 = 0; /* is null */ +} else { +var1 = 1; /* arg is null and recv is not */ } -/* method parser_prod#APublicVisibility#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__APublicVisibility__empty_init(val* self) { -parser_prod__APublicVisibility__empty_init(self); -RET_LABEL:; +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwpublic,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_kwpublic->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwpublic, 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_kwpublic,self) on */ +var_n_kwpublic->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; +} +} +} else { } -/* method parser_prod#APublicVisibility#init_apublicvisibility for (self: APublicVisibility) */ -void parser_prod__APublicVisibility__init_apublicvisibility(val* self) { -((void (*)(val*))(self->class->vft[COLOR_parser_prod__APublicVisibility__empty_init]))(self) /* empty_init on */; RET_LABEL:; } -/* method parser_prod#APublicVisibility#init_apublicvisibility for (self: Object) */ -void VIRTUAL_parser_prod__APublicVisibility__init_apublicvisibility(val* self) { -parser_prod__APublicVisibility__init_apublicvisibility(self); +/* method parser_prod#APublicVisibility#init_apublicvisibility for (self: Object, nullable TKwpublic) */ +void VIRTUAL_parser_prod__APublicVisibility__init_apublicvisibility(val* self, val* p0) { +parser_prod__APublicVisibility__init_apublicvisibility(self, p0); /* Direct call parser_prod#APublicVisibility#init_apublicvisibility on */ RET_LABEL:; } /* method parser_prod#APublicVisibility#replace_child for (self: APublicVisibility, ANode, nullable ANode) */ void parser_prod__APublicVisibility__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 TKwpublic */; +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__APublicVisibility___n_kwpublic].val; /* _n_kwpublic on */ +if (var == NULL) { +var1 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var,var_other) on */ +var6 = var == var_other; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; +} +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa nullable TKwpublic */ +cltype = type_nullable_parser_nodes__TKwpublic.color; +idtype = type_nullable_parser_nodes__TKwpublic.id; +if(var_new_child == NULL) { +var7 = 1; +} 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`", "nullable TKwpublic", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 279); +show_backtrace(1); +} +{ +parser_prod__APublicVisibility__n_kwpublic_61d(self, var_new_child); /* Direct call parser_prod#APublicVisibility#n_kwpublic= on */ +} +goto RET_LABEL; +} else { +} RET_LABEL:; } /* method parser_prod#APublicVisibility#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__APublicVisibility__replace_child(val* self, val* p0, val* p1) { -parser_prod__APublicVisibility__replace_child(self, p0, p1); +parser_prod__APublicVisibility__replace_child(self, p0, p1); /* Direct call parser_prod#APublicVisibility#replace_child on */ +RET_LABEL:; +} +/* method parser_prod#APublicVisibility#n_kwpublic= for (self: APublicVisibility, nullable TKwpublic) */ +void parser_prod__APublicVisibility__n_kwpublic_61d(val* self, val* p0) { +val* var_node /* var node: nullable TKwpublic */; +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__APublicVisibility___n_kwpublic].val = var_node; /* _n_kwpublic 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#APublicVisibility#n_kwpublic= for (self: Object, nullable TKwpublic) */ +void VIRTUAL_parser_prod__APublicVisibility__n_kwpublic_61d(val* self, val* p0) { +parser_prod__APublicVisibility__n_kwpublic_61d(self, p0); /* Direct call parser_prod#APublicVisibility#n_kwpublic= on */ RET_LABEL:; } /* method parser_prod#APublicVisibility#visit_all for (self: APublicVisibility, Visitor) */ void parser_prod__APublicVisibility__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; +val* var /* : nullable TKwpublic */; var_v = p0; +var = self->attrs[COLOR_parser_nodes__APublicVisibility___n_kwpublic].val; /* _n_kwpublic on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } /* method parser_prod#APublicVisibility#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__APublicVisibility__visit_all(val* self, val* p0) { -parser_prod__APublicVisibility__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#APrivateVisibility#empty_init for (self: APrivateVisibility) */ -void parser_prod__APrivateVisibility__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#APrivateVisibility#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__APrivateVisibility__empty_init(val* self) { -parser_prod__APrivateVisibility__empty_init(self); +parser_prod__APublicVisibility__visit_all(self, p0); /* Direct call parser_prod#APublicVisibility#visit_all on */ RET_LABEL:; } /* method parser_prod#APrivateVisibility#init_aprivatevisibility for (self: APrivateVisibility, nullable TKwprivate) */ void parser_prod__APrivateVisibility__init_aprivatevisibility(val* self, val* p0) { val* var_n_kwprivate /* var n_kwprivate: nullable TKwprivate */; var_n_kwprivate = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__APrivateVisibility__empty_init]))(self) /* empty_init on */; -if (var_n_kwprivate == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 426); -exit(1); +if (unlikely(var_n_kwprivate == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 301); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val = var_n_kwprivate; /* _n_kwprivate on */ if (var_n_kwprivate == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 427); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 302); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwprivate->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwprivate, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwprivate,self) on */ +if (unlikely(var_n_kwprivate == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwprivate->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } /* method parser_prod#APrivateVisibility#init_aprivatevisibility for (self: Object, nullable TKwprivate) */ void VIRTUAL_parser_prod__APrivateVisibility__init_aprivatevisibility(val* self, val* p0) { -parser_prod__APrivateVisibility__init_aprivatevisibility(self, p0); +parser_prod__APrivateVisibility__init_aprivatevisibility(self, p0); /* Direct call parser_prod#APrivateVisibility#init_aprivatevisibility on */ RET_LABEL:; } /* method parser_prod#APrivateVisibility#replace_child for (self: APrivateVisibility, ANode, nullable ANode) */ @@ -1707,44 +2227,60 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : TKwprivate */; 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; var_old_child = p0; var_new_child = p1; var = self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val; /* _n_kwprivate on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwprivate", "src/parser/parser_prod.nit", 432); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwprivate"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 307); +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 TKwprivate */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa TKwprivate */ cltype = type_parser_nodes__TKwprivate.color; idtype = type_parser_nodes__TKwprivate.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 435); -exit(1); } -self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val = var_new_child; /* _n_kwprivate on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 438); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwprivate", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 308); +show_backtrace(1); +} +{ +parser_prod__APrivateVisibility__n_kwprivate_61d(self, var_new_child); /* Direct call parser_prod#APrivateVisibility#n_kwprivate= on */ } goto RET_LABEL; } else { @@ -1753,7 +2289,7 @@ RET_LABEL:; } /* method parser_prod#APrivateVisibility#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__APrivateVisibility__replace_child(val* self, val* p0, val* p1) { -parser_prod__APrivateVisibility__replace_child(self, p0, p1); +parser_prod__APrivateVisibility__replace_child(self, p0, p1); /* Direct call parser_prod#APrivateVisibility#replace_child on */ RET_LABEL:; } /* method parser_prod#APrivateVisibility#n_kwprivate= for (self: APrivateVisibility, TKwprivate) */ @@ -1761,12 +2297,17 @@ void parser_prod__APrivateVisibility__n_kwprivate_61d(val* self, val* p0) { val* var_node /* var node: TKwprivate */; var_node = p0; self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val = var_node; /* _n_kwprivate on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#APrivateVisibility#n_kwprivate= for (self: Object, TKwprivate) */ void VIRTUAL_parser_prod__APrivateVisibility__n_kwprivate_61d(val* self, val* p0) { -parser_prod__APrivateVisibility__n_kwprivate_61d(self, p0); +parser_prod__APrivateVisibility__n_kwprivate_61d(self, p0); /* Direct call parser_prod#APrivateVisibility#n_kwprivate= on */ RET_LABEL:; } /* method parser_prod#APrivateVisibility#visit_all for (self: APrivateVisibility, Visitor) */ @@ -1775,48 +2316,51 @@ val* var_v /* var v: Visitor */; val* var /* : TKwprivate */; var_v = p0; var = self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val; /* _n_kwprivate on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwprivate", "src/parser/parser_prod.nit", 453); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwprivate"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 322); +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, var) /* enter_visit on */; RET_LABEL:; } /* method parser_prod#APrivateVisibility#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__APrivateVisibility__visit_all(val* self, val* p0) { -parser_prod__APrivateVisibility__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AProtectedVisibility#empty_init for (self: AProtectedVisibility) */ -void parser_prod__AProtectedVisibility__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AProtectedVisibility#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AProtectedVisibility__empty_init(val* self) { -parser_prod__AProtectedVisibility__empty_init(self); +parser_prod__APrivateVisibility__visit_all(self, p0); /* Direct call parser_prod#APrivateVisibility#visit_all on */ RET_LABEL:; } /* method parser_prod#AProtectedVisibility#init_aprotectedvisibility for (self: AProtectedVisibility, nullable TKwprotected) */ void parser_prod__AProtectedVisibility__init_aprotectedvisibility(val* self, val* p0) { val* var_n_kwprotected /* var n_kwprotected: nullable TKwprotected */; var_n_kwprotected = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AProtectedVisibility__empty_init]))(self) /* empty_init on */; -if (var_n_kwprotected == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 464); -exit(1); +if (unlikely(var_n_kwprotected == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 330); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val = var_n_kwprotected; /* _n_kwprotected on */ if (var_n_kwprotected == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 465); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 331); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwprotected->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwprotected, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwprotected,self) on */ +if (unlikely(var_n_kwprotected == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwprotected->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } /* method parser_prod#AProtectedVisibility#init_aprotectedvisibility for (self: Object, nullable TKwprotected) */ void VIRTUAL_parser_prod__AProtectedVisibility__init_aprotectedvisibility(val* self, val* p0) { -parser_prod__AProtectedVisibility__init_aprotectedvisibility(self, p0); +parser_prod__AProtectedVisibility__init_aprotectedvisibility(self, p0); /* Direct call parser_prod#AProtectedVisibility#init_aprotectedvisibility on */ RET_LABEL:; } /* method parser_prod#AProtectedVisibility#replace_child for (self: AProtectedVisibility, ANode, nullable ANode) */ @@ -1825,44 +2369,60 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : TKwprotected */; 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; var_old_child = p0; var_new_child = p1; var = self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val; /* _n_kwprotected on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwprotected", "src/parser/parser_prod.nit", 470); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwprotected"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 336); +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 TKwprotected */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa TKwprotected */ cltype = type_parser_nodes__TKwprotected.color; idtype = type_parser_nodes__TKwprotected.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 473); -exit(1); } -self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val = var_new_child; /* _n_kwprotected on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 476); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwprotected", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 337); +show_backtrace(1); +} +{ +parser_prod__AProtectedVisibility__n_kwprotected_61d(self, var_new_child); /* Direct call parser_prod#AProtectedVisibility#n_kwprotected= on */ } goto RET_LABEL; } else { @@ -1871,7 +2431,7 @@ RET_LABEL:; } /* method parser_prod#AProtectedVisibility#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AProtectedVisibility__replace_child(val* self, val* p0, val* p1) { -parser_prod__AProtectedVisibility__replace_child(self, p0, p1); +parser_prod__AProtectedVisibility__replace_child(self, p0, p1); /* Direct call parser_prod#AProtectedVisibility#replace_child on */ RET_LABEL:; } /* method parser_prod#AProtectedVisibility#n_kwprotected= for (self: AProtectedVisibility, TKwprotected) */ @@ -1879,12 +2439,17 @@ void parser_prod__AProtectedVisibility__n_kwprotected_61d(val* self, val* p0) { val* var_node /* var node: TKwprotected */; var_node = p0; self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val = var_node; /* _n_kwprotected on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AProtectedVisibility#n_kwprotected= for (self: Object, TKwprotected) */ void VIRTUAL_parser_prod__AProtectedVisibility__n_kwprotected_61d(val* self, val* p0) { -parser_prod__AProtectedVisibility__n_kwprotected_61d(self, p0); +parser_prod__AProtectedVisibility__n_kwprotected_61d(self, p0); /* Direct call parser_prod#AProtectedVisibility#n_kwprotected= on */ RET_LABEL:; } /* method parser_prod#AProtectedVisibility#visit_all for (self: AProtectedVisibility, Visitor) */ @@ -1893,48 +2458,51 @@ val* var_v /* var v: Visitor */; val* var /* : TKwprotected */; var_v = p0; var = self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val; /* _n_kwprotected on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwprotected", "src/parser/parser_prod.nit", 491); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwprotected"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 351); +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, var) /* enter_visit on */; RET_LABEL:; } /* method parser_prod#AProtectedVisibility#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__AProtectedVisibility__visit_all(val* self, val* p0) { -parser_prod__AProtectedVisibility__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AIntrudeVisibility#empty_init for (self: AIntrudeVisibility) */ -void parser_prod__AIntrudeVisibility__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AIntrudeVisibility#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AIntrudeVisibility__empty_init(val* self) { -parser_prod__AIntrudeVisibility__empty_init(self); +parser_prod__AProtectedVisibility__visit_all(self, p0); /* Direct call parser_prod#AProtectedVisibility#visit_all on */ RET_LABEL:; } /* method parser_prod#AIntrudeVisibility#init_aintrudevisibility for (self: AIntrudeVisibility, nullable TKwintrude) */ void parser_prod__AIntrudeVisibility__init_aintrudevisibility(val* self, val* p0) { val* var_n_kwintrude /* var n_kwintrude: nullable TKwintrude */; var_n_kwintrude = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIntrudeVisibility__empty_init]))(self) /* empty_init on */; -if (var_n_kwintrude == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 502); -exit(1); +if (unlikely(var_n_kwintrude == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 359); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val = var_n_kwintrude; /* _n_kwintrude on */ if (var_n_kwintrude == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 503); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 360); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwintrude->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwintrude, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwintrude,self) on */ +if (unlikely(var_n_kwintrude == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwintrude->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } /* method parser_prod#AIntrudeVisibility#init_aintrudevisibility for (self: Object, nullable TKwintrude) */ void VIRTUAL_parser_prod__AIntrudeVisibility__init_aintrudevisibility(val* self, val* p0) { -parser_prod__AIntrudeVisibility__init_aintrudevisibility(self, p0); +parser_prod__AIntrudeVisibility__init_aintrudevisibility(self, p0); /* Direct call parser_prod#AIntrudeVisibility#init_aintrudevisibility on */ RET_LABEL:; } /* method parser_prod#AIntrudeVisibility#replace_child for (self: AIntrudeVisibility, ANode, nullable ANode) */ @@ -1943,44 +2511,60 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : TKwintrude */; 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; var_old_child = p0; var_new_child = p1; var = self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val; /* _n_kwintrude on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwintrude", "src/parser/parser_prod.nit", 508); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwintrude"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 365); +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 TKwintrude */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa TKwintrude */ cltype = type_parser_nodes__TKwintrude.color; idtype = type_parser_nodes__TKwintrude.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 511); -exit(1); } -self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val = var_new_child; /* _n_kwintrude on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 514); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwintrude", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 366); +show_backtrace(1); +} +{ +parser_prod__AIntrudeVisibility__n_kwintrude_61d(self, var_new_child); /* Direct call parser_prod#AIntrudeVisibility#n_kwintrude= on */ } goto RET_LABEL; } else { @@ -1989,7 +2573,7 @@ RET_LABEL:; } /* method parser_prod#AIntrudeVisibility#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AIntrudeVisibility__replace_child(val* self, val* p0, val* p1) { -parser_prod__AIntrudeVisibility__replace_child(self, p0, p1); +parser_prod__AIntrudeVisibility__replace_child(self, p0, p1); /* Direct call parser_prod#AIntrudeVisibility#replace_child on */ RET_LABEL:; } /* method parser_prod#AIntrudeVisibility#n_kwintrude= for (self: AIntrudeVisibility, TKwintrude) */ @@ -1997,12 +2581,17 @@ void parser_prod__AIntrudeVisibility__n_kwintrude_61d(val* self, val* p0) { val* var_node /* var node: TKwintrude */; var_node = p0; self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val = var_node; /* _n_kwintrude on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AIntrudeVisibility#n_kwintrude= for (self: Object, TKwintrude) */ void VIRTUAL_parser_prod__AIntrudeVisibility__n_kwintrude_61d(val* self, val* p0) { -parser_prod__AIntrudeVisibility__n_kwintrude_61d(self, p0); +parser_prod__AIntrudeVisibility__n_kwintrude_61d(self, p0); /* Direct call parser_prod#AIntrudeVisibility#n_kwintrude= on */ RET_LABEL:; } /* method parser_prod#AIntrudeVisibility#visit_all for (self: AIntrudeVisibility, Visitor) */ @@ -2011,25 +2600,19 @@ val* var_v /* var v: Visitor */; val* var /* : TKwintrude */; var_v = p0; var = self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val; /* _n_kwintrude on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwintrude", "src/parser/parser_prod.nit", 529); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwintrude"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 380); +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, var) /* enter_visit on */; RET_LABEL:; } /* method parser_prod#AIntrudeVisibility#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__AIntrudeVisibility__visit_all(val* self, val* p0) { -parser_prod__AIntrudeVisibility__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AStdClassdef#empty_init for (self: AStdClassdef) */ -void parser_prod__AStdClassdef__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AStdClassdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AStdClassdef__empty_init(val* self) { -parser_prod__AStdClassdef__empty_init(self); +parser_prod__AIntrudeVisibility__visit_all(self, p0); /* Direct call parser_prod#AIntrudeVisibility#visit_all on */ RET_LABEL:; } /* method parser_prod#AStdClassdef#init_astdclassdef for (self: AStdClassdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AClasskind, nullable TClassid, Collection[Object], nullable AAnnotations, nullable AExternCodeBlock, Collection[Object], Collection[Object], nullable TKwend) */ @@ -2047,50 +2630,52 @@ val* var_n_propdefs /* var n_propdefs: Collection[Object] */; val* var_n_kwend /* var n_kwend: nullable TKwend */; val* var /* : null */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : null */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -val* var6 /* : Iterator[nullable Object] */; -short int var7 /* : Bool */; -val* var8 /* : nullable Object */; -val* var_n /* var n: Object */; +short int var6 /* : Bool */; +val* var8 /* : null */; short int var9 /* : Bool */; -int cltype; -int idtype; -val* var10 /* : ANodes[AFormaldef] */; -val* var11 /* : null */; +short int var10 /* : Bool */; short int var12 /* : Bool */; -val* var13 /* : null */; +short int var13 /* : Bool */; short int var14 /* : Bool */; -val* var15 /* : Iterator[nullable Object] */; -short int var16 /* : Bool */; -val* var17 /* : nullable Object */; -val* var_n18 /* var n: Object */; +val* var18 /* : null */; short int var19 /* : Bool */; -int cltype20; -int idtype21; -val* var22 /* : ANodes[ASuperclass] */; -val* var24 /* : Iterator[nullable Object] */; -short int var25 /* : Bool */; -val* var26 /* : nullable Object */; -val* var_n27 /* var n: Object */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -val* var31 /* : ANodes[APropdef] */; -var_n_doc = p0; -var_n_kwredef = p1; -var_n_visibility = p2; -var_n_classkind = p3; -var_n_id = p4; -var_n_formaldefs = p5; -var_n_annotations = p6; +short int var20 /* : Bool */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +short int var24 /* : Bool */; +val* var26 /* : ANodes[AFormaldef] */; +val* var28 /* : ANodes[AFormaldef] */; +val* var29 /* : null */; +short int var30 /* : Bool */; +short int var31 /* : Bool */; +short int var33 /* : Bool */; +short int var34 /* : Bool */; +short int var35 /* : Bool */; +val* var37 /* : null */; +short int var38 /* : Bool */; +short int var39 /* : Bool */; +short int var41 /* : Bool */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +val* var45 /* : ANodes[ASuperclass] */; +val* var47 /* : ANodes[ASuperclass] */; +val* var48 /* : ANodes[APropdef] */; +val* var50 /* : ANodes[APropdef] */; +var_n_doc = p0; +var_n_kwredef = p1; +var_n_visibility = p2; +var_n_classkind = p3; +var_n_id = p4; +var_n_formaldefs = p5; +var_n_annotations = p6; var_n_extern_code_block = p7; var_n_superclasses = p8; var_n_propdefs = p9; var_n_kwend = p10; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStdClassdef__empty_init]))(self) /* empty_init on */; self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var_n_doc; /* _n_doc on */ var = NULL; if (var_n_doc == NULL) { @@ -2098,179 +2683,262 @@ var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_n_doc,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_doc->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_doc, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +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 */; +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_doc,self) on */ +var_n_doc->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; +} +} } else { } self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ -var2 = NULL; +var8 = NULL; if (var_n_kwredef == NULL) { -var3 = 0; /* is null */ +var9 = 0; /* is null */ } else { -var3 = 1; /* arg is null and recv is not */ +var9 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwredef,var8) on */ +var_other = var8; +{ +var13 = ((short int (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwredef, var_other) /* == on */; +var12 = var13; +} +var14 = !var12; +var10 = var14; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; +} +if (var9){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwredef,self) on */ +var_n_kwredef->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL15:(void)0; +} } -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 (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 558); -exit(1); +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 402); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val = var_n_visibility; /* _n_visibility on */ if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 559); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 403); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_visibility,self) on */ +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_classkind == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 560); -exit(1); +var_n_visibility->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL16:(void)0; +} +} +if (unlikely(var_n_classkind == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 404); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val = var_n_classkind; /* _n_classkind on */ if (var_n_classkind == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 561); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 405); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_classkind->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_classkind, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_classkind,self) on */ +if (unlikely(var_n_classkind == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_classkind->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL17:(void)0; +} } self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var_n_id; /* _n_id on */ -var4 = NULL; +var18 = NULL; if (var_n_id == NULL) { -var5 = 0; /* is null */ +var19 = 0; /* is null */ } else { -var5 = 1; /* arg is null and recv is not */ +var19 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_id,var18) on */ +var_other = var18; +{ +var23 = ((short int (*)(val*, val*))(var_n_id->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_id, var_other) /* == on */; +var22 = var23; +} +var24 = !var22; +var20 = var24; +goto RET_LABEL21; +RET_LABEL21:(void)0; +} +var19 = var20; +} +if (var19){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_id,self) on */ +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL25:(void)0; } -if (var5){ -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; -} else { } -var6 = ((val* (*)(val*))(var_n_formaldefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_formaldefs) /* 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; -/* isa AFormaldef */ -cltype = type_parser_nodes__AFormaldef.color; -idtype = type_parser_nodes__AFormaldef.id; -if(cltype >= var_n->type->table_size) { -var9 = 0; } else { -var9 = var_n->type->type_table[cltype] == idtype; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 567); -exit(1); +{ +{ /* Inline parser_nodes#AStdClassdef#n_formaldefs (self) on */ +var28 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ +if (unlikely(var28 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 940); +show_backtrace(1); +} +var26 = var28; +RET_LABEL27:(void)0; } -var10 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ -if (var10 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_formaldefs", "src/parser/parser_prod.nit", 568); -exit(1); } -((void (*)(val*, val*))(var10->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var10, 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*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on */; +{ +parser_nodes__ANodes__unsafe_add_all(var26, var_n_formaldefs); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ } -BREAK_label: (void)0; self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var11 = NULL; +var29 = NULL; if (var_n_annotations == NULL) { -var12 = 0; /* is null */ +var30 = 0; /* is null */ } else { -var12 = 1; /* arg is null and recv is not */ +var30 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var29) on */ +var_other = var29; +{ +var34 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var33 = var34; +} +var35 = !var33; +var31 = var35; +goto RET_LABEL32; +RET_LABEL32:(void)0; +} +var30 = var31; +} +if (var30){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL36:(void)0; +} } -if (var12){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; } else { } self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var_n_extern_code_block; /* _n_extern_code_block on */ -var13 = NULL; +var37 = NULL; if (var_n_extern_code_block == NULL) { -var14 = 0; /* is null */ -} else { -var14 = 1; /* arg is null and recv is not */ -} -if (var14){ -((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 { -} -var15 = ((val* (*)(val*))(var_n_superclasses->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_superclasses) /* iterator on */; -for(;;) { -var16 = ((short int (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var15) /* is_ok on */; -if(!var16) break; -var17 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__item]))(var15) /* item on */; -var_n18 = var17; -/* isa ASuperclass */ -cltype20 = type_parser_nodes__ASuperclass.color; -idtype21 = type_parser_nodes__ASuperclass.id; -if(cltype20 >= var_n18->type->table_size) { -var19 = 0; -} else { -var19 = var_n18->type->type_table[cltype20] == idtype21; -} -if (!var19) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 580); -exit(1); -} -var22 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on */ -if (var22 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_superclasses", "src/parser/parser_prod.nit", 581); -exit(1); -} -((void (*)(val*, val*))(var22->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var22, var_n18) /* add on */; -((void (*)(val*, val*))(var_n18->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n18, self) /* parent= on */; -CONTINUE_label23: (void)0; -((void (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__next]))(var15) /* next on */; -} -BREAK_label23: (void)0; -var24 = ((val* (*)(val*))(var_n_propdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_propdefs) /* iterator on */; -for(;;) { -var25 = ((short int (*)(val*))(var24->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var24) /* is_ok on */; -if(!var25) break; -var26 = ((val* (*)(val*))(var24->class->vft[COLOR_abstract_collection__Iterator__item]))(var24) /* item on */; -var_n27 = var26; -/* isa APropdef */ -cltype29 = type_parser_nodes__APropdef.color; -idtype30 = type_parser_nodes__APropdef.id; -if(cltype29 >= var_n27->type->table_size) { -var28 = 0; -} else { -var28 = var_n27->type->type_table[cltype29] == idtype30; -} -if (!var28) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 585); -exit(1); -} -var31 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var31 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 586); -exit(1); -} -((void (*)(val*, val*))(var31->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var31, var_n27) /* add on */; -((void (*)(val*, val*))(var_n27->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n27, self) /* parent= on */; -CONTINUE_label32: (void)0; -((void (*)(val*))(var24->class->vft[COLOR_abstract_collection__Iterator__next]))(var24) /* next on */; -} -BREAK_label32: (void)0; -if (var_n_kwend == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 589); -exit(1); +var38 = 0; /* is null */ +} else { +var38 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_extern_code_block,var37) on */ +var_other = var37; +{ +var42 = ((short int (*)(val*, val*))(var_n_extern_code_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_extern_code_block, var_other) /* == on */; +var41 = var42; +} +var43 = !var41; +var39 = var43; +goto RET_LABEL40; +RET_LABEL40:(void)0; +} +var38 = var39; +} +if (var38){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_extern_code_block,self) on */ +var_n_extern_code_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL44:(void)0; +} +} +} else { +} +{ +{ /* Inline parser_nodes#AStdClassdef#n_superclasses (self) on */ +var47 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on */ +if (unlikely(var47 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_superclasses"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 942); +show_backtrace(1); +} +var45 = var47; +RET_LABEL46:(void)0; +} +} +{ +parser_nodes__ANodes__unsafe_add_all(var45, var_n_superclasses); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ +} +{ +{ /* Inline parser_nodes#AClassdef#n_propdefs (self) on */ +var50 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var50 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929); +show_backtrace(1); +} +var48 = var50; +RET_LABEL49:(void)0; +} +} +{ +parser_nodes__ANodes__unsafe_add_all(var48, var_n_propdefs); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ +} +if (unlikely(var_n_kwend == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 415); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val = var_n_kwend; /* _n_kwend on */ if (var_n_kwend == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 590); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 416); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwend->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwend, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwend,self) on */ +if (unlikely(var_n_kwend == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwend->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL51:(void)0; +} } RET_LABEL:; } /* method parser_prod#AStdClassdef#init_astdclassdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AClasskind, nullable TClassid, Collection[Object], nullable AAnnotations, nullable AExternCodeBlock, Collection[Object], Collection[Object], nullable TKwend) */ void VIRTUAL_parser_prod__AStdClassdef__init_astdclassdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8, val* p9, val* p10) { -parser_prod__AStdClassdef__init_astdclassdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); +parser_prod__AStdClassdef__init_astdclassdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); /* Direct call parser_prod#AStdClassdef#init_astdclassdef on */ RET_LABEL:; } /* method parser_prod#AStdClassdef#replace_child for (self: AStdClassdef, ANode, nullable ANode) */ @@ -2279,610 +2947,510 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : nullable ADoc */; 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 */; +const char* var_class_name; +val* var8 /* : nullable TKwredef */; short int var9 /* : Bool */; short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; -val* var14 /* : AVisibility */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : AClasskind */; -short int var22 /* : Bool */; -val* var23 /* : null */; -short int var24 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : AVisibility */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : nullable TClassid */; -short int var29 /* : Bool */; -val* var30 /* : null */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : AClasskind */; short int var31 /* : Bool */; short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : null */; -val* var36 /* : Range[Int] */; -long var37 /* : Int */; -val* var38 /* : ANodes[AFormaldef] */; -long var39 /* : Int */; -val* var40 /* : Discrete */; -val* var41 /* : Discrete */; -val* var42 /* : Iterator[nullable Object] */; +short int var34 /* : Bool */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +const char* var_class_name40; +val* var41 /* : nullable TClassid */; +short int var42 /* : Bool */; short int var43 /* : Bool */; -val* var44 /* : nullable Object */; -long var_i /* var i: Int */; -long var45 /* : Int */; -val* var46 /* : ANodes[AFormaldef] */; -val* var47 /* : nullable Object */; +short int var45 /* : Bool */; +short int var47 /* : Bool */; short int var48 /* : Bool */; -val* var49 /* : null */; -short int var50 /* : Bool */; -short int var51 /* : Bool */; -int cltype52; -int idtype53; +int cltype49; +int idtype50; +const char* var_class_name51; +val* var52 /* : ANodes[AFormaldef] */; val* var54 /* : ANodes[AFormaldef] */; -val* var55 /* : ANodes[AFormaldef] */; +short int var55 /* : Bool */; val* var56 /* : nullable AAnnotations */; short int var57 /* : Bool */; -val* var58 /* : null */; -short int var59 /* : Bool */; +short int var58 /* : Bool */; short int var60 /* : Bool */; -int cltype61; -int idtype62; -val* var63 /* : null */; -val* var64 /* : nullable AExternCodeBlock */; -short int var65 /* : Bool */; -val* var66 /* : null */; -short int var67 /* : Bool */; +short int var62 /* : Bool */; +short int var63 /* : Bool */; +int cltype64; +int idtype65; +const char* var_class_name66; +val* var67 /* : nullable AExternCodeBlock */; short int var68 /* : Bool */; -int cltype69; -int idtype70; -val* var71 /* : null */; -val* var72 /* : Range[Int] */; -long var73 /* : Int */; -val* var74 /* : ANodes[ASuperclass] */; -long var75 /* : Int */; -val* var76 /* : Discrete */; -val* var77 /* : Discrete */; -val* var78 /* : Iterator[nullable Object] */; -short int var79 /* : Bool */; -val* var80 /* : nullable Object */; -long var_i81 /* var i: Int */; -long var82 /* : Int */; -val* var83 /* : ANodes[ASuperclass] */; -val* var84 /* : nullable Object */; +short int var69 /* : Bool */; +short int var71 /* : Bool */; +short int var73 /* : Bool */; +short int var74 /* : Bool */; +int cltype75; +int idtype76; +const char* var_class_name77; +val* var78 /* : ANodes[ASuperclass] */; +val* var80 /* : ANodes[ASuperclass] */; +short int var81 /* : Bool */; +val* var82 /* : ANodes[APropdef] */; +val* var84 /* : ANodes[APropdef] */; short int var85 /* : Bool */; -val* var86 /* : null */; +val* var86 /* : TKwend */; short int var87 /* : Bool */; short int var88 /* : Bool */; -int cltype89; -int idtype90; -val* var91 /* : ANodes[ASuperclass] */; -val* var92 /* : ANodes[ASuperclass] */; -val* var94 /* : Range[Int] */; -long var95 /* : Int */; -val* var96 /* : ANodes[APropdef] */; -long var97 /* : Int */; -val* var98 /* : Discrete */; -val* var99 /* : Discrete */; -val* var100 /* : Iterator[nullable Object] */; -short int var101 /* : Bool */; -val* var102 /* : nullable Object */; -long var_i103 /* var i: Int */; -long var104 /* : Int */; -val* var105 /* : ANodes[APropdef] */; -val* var106 /* : nullable Object */; -short int var107 /* : Bool */; -val* var108 /* : null */; -short int var109 /* : Bool */; -short int var110 /* : Bool */; -int cltype111; -int idtype112; -val* var113 /* : ANodes[APropdef] */; -val* var114 /* : ANodes[APropdef] */; -val* var116 /* : TKwend */; -short int var117 /* : Bool */; -val* var118 /* : null */; -short int var119 /* : Bool */; -short int var120 /* : Bool */; -int cltype121; -int idtype122; +short int var90 /* : Bool */; +short int var92 /* : Bool */; +short int var93 /* : Bool */; +int cltype94; +int idtype95; +const char* var_class_name96; var_old_child = p0; var_new_child = p1; var = self->attrs[COLOR_parser_nodes__AStdClassdef___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 */; +{ /* 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 nullable ADoc */ +cltype = type_nullable_parser_nodes__ADoc.color; +idtype = type_nullable_parser_nodes__ADoc.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 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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 598); -exit(1); } -self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var_new_child; /* _n_doc on */ -} else { -var5 = NULL; -self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var5; /* _n_doc 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`", "nullable ADoc", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 422); +show_backtrace(1); +} +{ +parser_prod__AStdClassdef__n_doc_61d(self, var_new_child); /* Direct call parser_prod#AStdClassdef#n_doc= on */ } goto RET_LABEL; } else { } -var6 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef on */ -if (var6 == NULL) { -var7 = 0; /* cannot be null */ +var8 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef 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 TKwredef */ -cltype11 = type_parser_nodes__TKwredef.color; -idtype12 = type_parser_nodes__TKwredef.id; -if(cltype11 >= var_new_child->type->table_size) { -var10 = 0; +/* isa nullable TKwredef */ +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 608); -exit(1); } -self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var_new_child; /* _n_kwredef on */ -} else { -var13 = NULL; -self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var13; /* _n_kwredef on */ +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 TKwredef", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 426); +show_backtrace(1); +} +{ +parser_prod__AStdClassdef__n_kwredef_61d(self, var_new_child); /* Direct call parser_prod#AStdClassdef#n_kwredef= on */ } goto RET_LABEL; } else { } -var14 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val; /* _n_visibility on */ -if (var14 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 615); -exit(1); +var19 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val; /* _n_visibility on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 429); +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 */ -} else { -var17 = 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 (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; } -if (!var18) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 618); -exit(1); +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val = var_new_child; /* _n_visibility on */ +var20 = var21; +} +if (var20){ +/* isa AVisibility */ +cltype27 = type_parser_nodes__AVisibility.color; +idtype28 = type_parser_nodes__AVisibility.id; +if(var_new_child == NULL) { +var26 = 0; +} else { +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 621); -exit(1); +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`", "AVisibility", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 430); +show_backtrace(1); +} +{ +parser_prod__AStdClassdef__n_visibility_61d(self, var_new_child); /* Direct call parser_prod#AStdClassdef#n_visibility= on */ } goto RET_LABEL; } else { } -var21 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val; /* _n_classkind on */ -if (var21 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classkind", "src/parser/parser_prod.nit", 625); -exit(1); +var30 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val; /* _n_classkind on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classkind"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 433); +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 */ +{ +{ /* 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 (var24){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AClasskind */ -cltype26 = type_parser_nodes__AClasskind.color; -idtype27 = type_parser_nodes__AClasskind.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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 628); -exit(1); +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val = var_new_child; /* _n_classkind on */ +var31 = var32; +} +if (var31){ +/* isa AClasskind */ +cltype38 = type_parser_nodes__AClasskind.color; +idtype39 = type_parser_nodes__AClasskind.id; +if(var_new_child == NULL) { +var37 = 0; +} else { +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 631); -exit(1); +var37 = var_new_child->type->type_table[cltype38] == idtype39; +} +} +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AClasskind", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 434); +show_backtrace(1); +} +{ +parser_prod__AStdClassdef__n_classkind_61d(self, var_new_child); /* Direct call parser_prod#AStdClassdef#n_classkind= on */ } goto RET_LABEL; } else { } -var28 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on */ -if (var28 == NULL) { -var29 = 0; /* cannot be null */ +var41 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on */ +if (var41 == NULL) { +var42 = 0; /* cannot be null */ } else { -var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, 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 (var29){ -var30 = NULL; -if (var_new_child == NULL) { -var31 = 0; /* is null */ -} else { -var31 = 1; /* arg is null and recv is not */ } -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; +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; } -if (!var32) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 638); -exit(1); +var42 = var43; } -self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var_new_child; /* _n_id on */ +if (var42){ +/* isa nullable TClassid */ +cltype49 = type_nullable_parser_nodes__TClassid.color; +idtype50 = type_nullable_parser_nodes__TClassid.id; +if(var_new_child == NULL) { +var48 = 1; } else { -var35 = NULL; -self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var35; /* _n_id on */ +if(cltype49 >= var_new_child->type->table_size) { +var48 = 0; +} else { +var48 = var_new_child->type->type_table[cltype49] == idtype50; +} +} +if (unlikely(!var48)) { +var_class_name51 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TClassid", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 438); +show_backtrace(1); +} +{ +parser_prod__AStdClassdef__n_id_61d(self, var_new_child); /* Direct call parser_prod#AStdClassdef#n_id= on */ } goto RET_LABEL; } else { } -var36 = NEW_range__Range(&type_range__Rangekernel__Int); -var37 = 0; -var38 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ -if (var38 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_formaldefs", "src/parser/parser_prod.nit", 645); -exit(1); -} -var39 = ((long (*)(val*))(var38->class->vft[COLOR_abstract_collection__Collection__length]))(var38) /* length on */; -var40 = BOX_kernel__Int(var37); /* autobox from Int to Discrete */ -var41 = BOX_kernel__Int(var39); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var36->class->vft[COLOR_range__Range__without_last]))(var36, var40, var41) /* without_last on */; -CHECK_NEW_range__Range(var36); -var42 = ((val* (*)(val*))(var36->class->vft[COLOR_abstract_collection__Collection__iterator]))(var36) /* iterator on */; -for(;;) { -var43 = ((short int (*)(val*))(var42->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var42) /* is_ok on */; -if(!var43) break; -var44 = ((val* (*)(val*))(var42->class->vft[COLOR_abstract_collection__Iterator__item]))(var42) /* item on */; -var45 = ((struct instance_kernel__Int*)var44)->value; /* autounbox from nullable Object to Int */; -var_i = var45; -var46 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ -if (var46 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_formaldefs", "src/parser/parser_prod.nit", 646); -exit(1); -} -var47 = ((val* (*)(val*, long))(var46->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var46, var_i) /* [] on */; -var48 = ((short int (*)(val*, val*))(var47->class->vft[COLOR_kernel__Object___61d_61d]))(var47, var_old_child) /* == on */; -if (var48){ -var49 = NULL; -if (var_new_child == NULL) { -var50 = 0; /* is null */ -} else { -var50 = 1; /* arg is null and recv is not */ -} -if (var50){ -/* isa AFormaldef */ -cltype52 = type_parser_nodes__AFormaldef.color; -idtype53 = type_parser_nodes__AFormaldef.id; -if(cltype52 >= var_new_child->type->table_size) { -var51 = 0; -} else { -var51 = var_new_child->type->type_table[cltype52] == idtype53; -} -if (!var51) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 648); -exit(1); -} +{ +{ /* Inline parser_nodes#AStdClassdef#n_formaldefs (self) on */ var54 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ -if (var54 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_formaldefs", "src/parser/parser_prod.nit", 649); -exit(1); +if (unlikely(var54 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 940); +show_backtrace(1); } -((void (*)(val*, long, val*))(var54->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var54, 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 { -var55 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ -if (var55 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_formaldefs", "src/parser/parser_prod.nit", 652); -exit(1); +var52 = var54; +RET_LABEL53:(void)0; } -((void (*)(val*, long))(var55->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var55, var_i) /* remove_at on */; } +{ +var55 = parser_nodes__ANodes__replace_child(var52, var_old_child, var_new_child); +} +if (var55){ goto RET_LABEL; } else { } -CONTINUE_label: (void)0; -((void (*)(val*))(var42->class->vft[COLOR_abstract_collection__Iterator__next]))(var42) /* next on */; -} -BREAK_label: (void)0; var56 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ if (var56 == NULL) { var57 = 0; /* cannot be null */ } else { -var57 = ((short int (*)(val*, val*))(var56->class->vft[COLOR_kernel__Object___61d_61d]))(var56, var_old_child) /* == on */; +{ /* Inline kernel#Object#== (var56,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var56,var_other) on */ +var62 = var56 == var_other; +var60 = var62; +goto RET_LABEL61; +RET_LABEL61:(void)0; +} +} +var58 = var60; +goto RET_LABEL59; +RET_LABEL59:(void)0; +} +var57 = var58; } if (var57){ -var58 = NULL; -if (var_new_child == NULL) { -var59 = 0; /* is null */ +/* isa nullable AAnnotations */ +cltype64 = type_nullable_parser_nodes__AAnnotations.color; +idtype65 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var63 = 1; } else { -var59 = 1; /* arg is null and recv is not */ -} -if (var59){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype61 = type_parser_nodes__AAnnotations.color; -idtype62 = type_parser_nodes__AAnnotations.id; -if(cltype61 >= var_new_child->type->table_size) { -var60 = 0; +if(cltype64 >= var_new_child->type->table_size) { +var63 = 0; } else { -var60 = var_new_child->type->type_table[cltype61] == idtype62; +var63 = var_new_child->type->type_table[cltype64] == idtype65; } -if (!var60) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 660); -exit(1); } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ -} else { -var63 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var63; /* _n_annotations on */ +if (unlikely(!var63)) { +var_class_name66 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name66); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 443); +show_backtrace(1); +} +{ +parser_prod__AStdClassdef__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AStdClassdef#n_annotations= on */ } goto RET_LABEL; } else { } -var64 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on */ -if (var64 == NULL) { -var65 = 0; /* cannot be null */ +var67 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on */ +if (var67 == NULL) { +var68 = 0; /* cannot be null */ } else { -var65 = ((short int (*)(val*, val*))(var64->class->vft[COLOR_kernel__Object___61d_61d]))(var64, var_old_child) /* == on */; +{ /* Inline kernel#Object#== (var67,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var67,var_other) on */ +var73 = var67 == var_other; +var71 = var73; +goto RET_LABEL72; +RET_LABEL72:(void)0; } -if (var65){ -var66 = NULL; -if (var_new_child == NULL) { -var67 = 0; /* is null */ -} else { -var67 = 1; /* arg is null and recv is not */ } -if (var67){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExternCodeBlock */ -cltype69 = type_parser_nodes__AExternCodeBlock.color; -idtype70 = type_parser_nodes__AExternCodeBlock.id; -if(cltype69 >= var_new_child->type->table_size) { -var68 = 0; -} else { -var68 = var_new_child->type->type_table[cltype69] == idtype70; +var69 = var71; +goto RET_LABEL70; +RET_LABEL70:(void)0; } -if (!var68) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 670); -exit(1); +var68 = var69; } -self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var_new_child; /* _n_extern_code_block on */ +if (var68){ +/* isa nullable AExternCodeBlock */ +cltype75 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype76 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_new_child == NULL) { +var74 = 1; } else { -var71 = NULL; -self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var71; /* _n_extern_code_block on */ -} -goto RET_LABEL; +if(cltype75 >= var_new_child->type->table_size) { +var74 = 0; } else { +var74 = var_new_child->type->type_table[cltype75] == idtype76; } -var72 = NEW_range__Range(&type_range__Rangekernel__Int); -var73 = 0; -var74 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on */ -if (var74 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_superclasses", "src/parser/parser_prod.nit", 677); -exit(1); -} -var75 = ((long (*)(val*))(var74->class->vft[COLOR_abstract_collection__Collection__length]))(var74) /* length on */; -var76 = BOX_kernel__Int(var73); /* autobox from Int to Discrete */ -var77 = BOX_kernel__Int(var75); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var72->class->vft[COLOR_range__Range__without_last]))(var72, var76, var77) /* without_last on */; -CHECK_NEW_range__Range(var72); -var78 = ((val* (*)(val*))(var72->class->vft[COLOR_abstract_collection__Collection__iterator]))(var72) /* iterator on */; -for(;;) { -var79 = ((short int (*)(val*))(var78->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var78) /* is_ok on */; -if(!var79) break; -var80 = ((val* (*)(val*))(var78->class->vft[COLOR_abstract_collection__Iterator__item]))(var78) /* item on */; -var82 = ((struct instance_kernel__Int*)var80)->value; /* autounbox from nullable Object to Int */; -var_i81 = var82; -var83 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on */ -if (var83 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_superclasses", "src/parser/parser_prod.nit", 678); -exit(1); -} -var84 = ((val* (*)(val*, long))(var83->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var83, var_i81) /* [] on */; -var85 = ((short int (*)(val*, val*))(var84->class->vft[COLOR_kernel__Object___61d_61d]))(var84, var_old_child) /* == on */; -if (var85){ -var86 = NULL; -if (var_new_child == NULL) { -var87 = 0; /* is null */ -} else { -var87 = 1; /* arg is null and recv is not */ } -if (var87){ -/* isa ASuperclass */ -cltype89 = type_parser_nodes__ASuperclass.color; -idtype90 = type_parser_nodes__ASuperclass.id; -if(cltype89 >= var_new_child->type->table_size) { -var88 = 0; +if (unlikely(!var74)) { +var_class_name77 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExternCodeBlock", var_class_name77); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 447); +show_backtrace(1); +} +{ +parser_prod__AStdClassdef__n_extern_code_block_61d(self, var_new_child); /* Direct call parser_prod#AStdClassdef#n_extern_code_block= on */ +} +goto RET_LABEL; } else { -var88 = var_new_child->type->type_table[cltype89] == idtype90; } -if (!var88) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 680); -exit(1); +{ +{ /* Inline parser_nodes#AStdClassdef#n_superclasses (self) on */ +var80 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on */ +if (unlikely(var80 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_superclasses"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 942); +show_backtrace(1); } -var91 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on */ -if (var91 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_superclasses", "src/parser/parser_prod.nit", 681); -exit(1); +var78 = var80; +RET_LABEL79:(void)0; } -((void (*)(val*, long, val*))(var91->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var91, var_i81, 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 { -var92 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on */ -if (var92 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_superclasses", "src/parser/parser_prod.nit", 684); -exit(1); } -((void (*)(val*, long))(var92->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var92, var_i81) /* remove_at on */; +{ +var81 = parser_nodes__ANodes__replace_child(var78, var_old_child, var_new_child); } +if (var81){ goto RET_LABEL; } else { } -CONTINUE_label93: (void)0; -((void (*)(val*))(var78->class->vft[COLOR_abstract_collection__Iterator__next]))(var78) /* next on */; +{ +{ /* Inline parser_nodes#AClassdef#n_propdefs (self) on */ +var84 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var84 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929); +show_backtrace(1); +} +var82 = var84; +RET_LABEL83:(void)0; } -BREAK_label93: (void)0; -var94 = NEW_range__Range(&type_range__Rangekernel__Int); -var95 = 0; -var96 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var96 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 689); -exit(1); -} -var97 = ((long (*)(val*))(var96->class->vft[COLOR_abstract_collection__Collection__length]))(var96) /* length on */; -var98 = BOX_kernel__Int(var95); /* autobox from Int to Discrete */ -var99 = BOX_kernel__Int(var97); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var94->class->vft[COLOR_range__Range__without_last]))(var94, var98, var99) /* without_last on */; -CHECK_NEW_range__Range(var94); -var100 = ((val* (*)(val*))(var94->class->vft[COLOR_abstract_collection__Collection__iterator]))(var94) /* iterator on */; -for(;;) { -var101 = ((short int (*)(val*))(var100->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var100) /* is_ok on */; -if(!var101) break; -var102 = ((val* (*)(val*))(var100->class->vft[COLOR_abstract_collection__Iterator__item]))(var100) /* item on */; -var104 = ((struct instance_kernel__Int*)var102)->value; /* autounbox from nullable Object to Int */; -var_i103 = var104; -var105 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var105 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 690); -exit(1); -} -var106 = ((val* (*)(val*, long))(var105->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var105, var_i103) /* [] on */; -var107 = ((short int (*)(val*, val*))(var106->class->vft[COLOR_kernel__Object___61d_61d]))(var106, var_old_child) /* == on */; -if (var107){ -var108 = NULL; -if (var_new_child == NULL) { -var109 = 0; /* is null */ -} else { -var109 = 1; /* arg is null and recv is not */ -} -if (var109){ -/* isa APropdef */ -cltype111 = type_parser_nodes__APropdef.color; -idtype112 = type_parser_nodes__APropdef.id; -if(cltype111 >= var_new_child->type->table_size) { -var110 = 0; -} else { -var110 = var_new_child->type->type_table[cltype111] == idtype112; -} -if (!var110) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 692); -exit(1); -} -var113 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var113 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 693); -exit(1); -} -((void (*)(val*, long, val*))(var113->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var113, var_i103, 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 { -var114 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var114 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 696); -exit(1); -} -((void (*)(val*, long))(var114->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var114, var_i103) /* remove_at on */; } +{ +var85 = parser_nodes__ANodes__replace_child(var82, var_old_child, var_new_child); +} +if (var85){ goto RET_LABEL; } else { } -CONTINUE_label115: (void)0; -((void (*)(val*))(var100->class->vft[COLOR_abstract_collection__Iterator__next]))(var100) /* next on */; +var86 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val; /* _n_kwend on */ +if (unlikely(var86 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwend"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 452); +show_backtrace(1); } -BREAK_label115: (void)0; -var116 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val; /* _n_kwend on */ -if (var116 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwend", "src/parser/parser_prod.nit", 701); -exit(1); +{ +{ /* Inline kernel#Object#== (var86,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var86,var_other) on */ +var92 = var86 == var_other; +var90 = var92; +goto RET_LABEL91; +RET_LABEL91:(void)0; } -var117 = ((short int (*)(val*, val*))(var116->class->vft[COLOR_kernel__Object___61d_61d]))(var116, var_old_child) /* == on */; -if (var117){ -var118 = NULL; -if (var_new_child == NULL) { -var119 = 0; /* is null */ -} else { -var119 = 1; /* arg is null and recv is not */ } -if (var119){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwend */ -cltype121 = type_parser_nodes__TKwend.color; -idtype122 = type_parser_nodes__TKwend.id; -if(cltype121 >= var_new_child->type->table_size) { -var120 = 0; -} else { -var120 = var_new_child->type->type_table[cltype121] == idtype122; +var88 = var90; +goto RET_LABEL89; +RET_LABEL89:(void)0; } -if (!var120) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 704); -exit(1); +var87 = var88; } -self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val = var_new_child; /* _n_kwend on */ +if (var87){ +/* isa TKwend */ +cltype94 = type_parser_nodes__TKwend.color; +idtype95 = type_parser_nodes__TKwend.id; +if(var_new_child == NULL) { +var93 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 707); -exit(1); +if(cltype94 >= var_new_child->type->table_size) { +var93 = 0; +} else { +var93 = var_new_child->type->type_table[cltype94] == idtype95; +} +} +if (unlikely(!var93)) { +var_class_name96 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwend", var_class_name96); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 453); +show_backtrace(1); +} +{ +parser_prod__AStdClassdef__n_kwend_61d(self, var_new_child); /* Direct call parser_prod#AStdClassdef#n_kwend= on */ } goto RET_LABEL; } else { @@ -2891,7 +3459,7 @@ RET_LABEL:; } /* method parser_prod#AStdClassdef#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AStdClassdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__AStdClassdef__replace_child(self, p0, p1); +parser_prod__AStdClassdef__replace_child(self, p0, p1); /* Direct call parser_prod#AStdClassdef#replace_child on */ RET_LABEL:; } /* method parser_prod#AStdClassdef#n_doc= for (self: AStdClassdef, nullable ADoc) */ @@ -2899,6 +3467,11 @@ void parser_prod__AStdClassdef__n_doc_61d(val* self, val* p0) { val* var_node /* var node: nullable ADoc */; 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__AStdClassdef___n_doc].val = var_node; /* _n_doc on */ var = NULL; @@ -2907,15 +3480,34 @@ 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#AStdClassdef#n_doc= for (self: Object, nullable ADoc) */ void VIRTUAL_parser_prod__AStdClassdef__n_doc_61d(val* self, val* p0) { -parser_prod__AStdClassdef__n_doc_61d(self, p0); +parser_prod__AStdClassdef__n_doc_61d(self, p0); /* Direct call parser_prod#AStdClassdef#n_doc= on */ RET_LABEL:; } /* method parser_prod#AStdClassdef#n_kwredef= for (self: AStdClassdef, nullable TKwredef) */ @@ -2923,6 +3515,11 @@ void parser_prod__AStdClassdef__n_kwredef_61d(val* self, val* p0) { val* var_node /* var node: nullable TKwredef */; 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__AStdClassdef___n_kwredef].val = var_node; /* _n_kwredef on */ var = NULL; @@ -2931,15 +3528,34 @@ 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#AStdClassdef#n_kwredef= for (self: Object, nullable TKwredef) */ void VIRTUAL_parser_prod__AStdClassdef__n_kwredef_61d(val* self, val* p0) { -parser_prod__AStdClassdef__n_kwredef_61d(self, p0); +parser_prod__AStdClassdef__n_kwredef_61d(self, p0); /* Direct call parser_prod#AStdClassdef#n_kwredef= on */ RET_LABEL:; } /* method parser_prod#AStdClassdef#n_visibility= for (self: AStdClassdef, AVisibility) */ @@ -2947,12 +3563,17 @@ void parser_prod__AStdClassdef__n_visibility_61d(val* self, val* p0) { val* var_node /* var node: AVisibility */; var_node = p0; self->attrs[COLOR_parser_nodes__AStdClassdef___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 */; +{ +{ /* 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#AStdClassdef#n_visibility= for (self: Object, AVisibility) */ void VIRTUAL_parser_prod__AStdClassdef__n_visibility_61d(val* self, val* p0) { -parser_prod__AStdClassdef__n_visibility_61d(self, p0); +parser_prod__AStdClassdef__n_visibility_61d(self, p0); /* Direct call parser_prod#AStdClassdef#n_visibility= on */ RET_LABEL:; } /* method parser_prod#AStdClassdef#n_classkind= for (self: AStdClassdef, AClasskind) */ @@ -2960,12 +3581,17 @@ void parser_prod__AStdClassdef__n_classkind_61d(val* self, val* p0) { val* var_node /* var node: AClasskind */; var_node = p0; self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val = var_node; /* _n_classkind on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AStdClassdef#n_classkind= for (self: Object, AClasskind) */ void VIRTUAL_parser_prod__AStdClassdef__n_classkind_61d(val* self, val* p0) { -parser_prod__AStdClassdef__n_classkind_61d(self, p0); +parser_prod__AStdClassdef__n_classkind_61d(self, p0); /* Direct call parser_prod#AStdClassdef#n_classkind= on */ RET_LABEL:; } /* method parser_prod#AStdClassdef#n_id= for (self: AStdClassdef, nullable TClassid) */ @@ -2973,6 +3599,11 @@ void parser_prod__AStdClassdef__n_id_61d(val* self, val* p0) { val* var_node /* var node: nullable TClassid */; 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__AStdClassdef___n_id].val = var_node; /* _n_id on */ var = NULL; @@ -2981,15 +3612,34 @@ 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#AStdClassdef#n_id= for (self: Object, nullable TClassid) */ void VIRTUAL_parser_prod__AStdClassdef__n_id_61d(val* self, val* p0) { -parser_prod__AStdClassdef__n_id_61d(self, p0); +parser_prod__AStdClassdef__n_id_61d(self, p0); /* Direct call parser_prod#AStdClassdef#n_id= on */ RET_LABEL:; } /* method parser_prod#AStdClassdef#n_annotations= for (self: AStdClassdef, nullable AAnnotations) */ @@ -2997,23 +3647,47 @@ void parser_prod__AStdClassdef__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; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +var_node = p0; +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ +var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} if (var1){ -((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#AStdClassdef#n_annotations= for (self: Object, nullable AAnnotations) */ void VIRTUAL_parser_prod__AStdClassdef__n_annotations_61d(val* self, val* p0) { -parser_prod__AStdClassdef__n_annotations_61d(self, p0); +parser_prod__AStdClassdef__n_annotations_61d(self, p0); /* Direct call parser_prod#AStdClassdef#n_annotations= on */ RET_LABEL:; } /* method parser_prod#AStdClassdef#n_extern_code_block= for (self: AStdClassdef, nullable AExternCodeBlock) */ @@ -3021,6 +3695,11 @@ void parser_prod__AStdClassdef__n_extern_code_block_61d(val* self, val* p0) { val* var_node /* var node: nullable AExternCodeBlock */; 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__AStdClassdef___n_extern_code_block].val = var_node; /* _n_extern_code_block on */ var = NULL; @@ -3029,15 +3708,34 @@ 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#AStdClassdef#n_extern_code_block= for (self: Object, nullable AExternCodeBlock) */ void VIRTUAL_parser_prod__AStdClassdef__n_extern_code_block_61d(val* self, val* p0) { -parser_prod__AStdClassdef__n_extern_code_block_61d(self, p0); +parser_prod__AStdClassdef__n_extern_code_block_61d(self, p0); /* Direct call parser_prod#AStdClassdef#n_extern_code_block= on */ RET_LABEL:; } /* method parser_prod#AStdClassdef#n_kwend= for (self: AStdClassdef, TKwend) */ @@ -3045,623 +3743,348 @@ void parser_prod__AStdClassdef__n_kwend_61d(val* self, val* p0) { val* var_node /* var node: TKwend */; var_node = p0; self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val = var_node; /* _n_kwend on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AStdClassdef#n_kwend= for (self: Object, TKwend) */ void VIRTUAL_parser_prod__AStdClassdef__n_kwend_61d(val* self, val* p0) { -parser_prod__AStdClassdef__n_kwend_61d(self, p0); +parser_prod__AStdClassdef__n_kwend_61d(self, p0); /* Direct call parser_prod#AStdClassdef#n_kwend= on */ RET_LABEL:; } /* method parser_prod#AStdClassdef#visit_all for (self: AStdClassdef, Visitor) */ void parser_prod__AStdClassdef__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 /* : AVisibility */; -val* var9 /* : AClasskind */; -val* var10 /* : nullable TClassid */; -val* var11 /* : null */; -short int var12 /* : Bool */; -val* var13 /* : nullable TClassid */; -val* var14 /* : ANodes[AFormaldef] */; -val* var15 /* : Iterator[nullable Object] */; -short int var16 /* : Bool */; -val* var17 /* : nullable Object */; -val* var_n /* var n: AFormaldef */; -val* var18 /* : nullable AAnnotations */; -val* var19 /* : null */; -short int var20 /* : Bool */; -val* var21 /* : nullable AAnnotations */; -val* var22 /* : nullable AExternCodeBlock */; -val* var23 /* : null */; -short int var24 /* : Bool */; -val* var25 /* : nullable AExternCodeBlock */; -val* var26 /* : ANodes[ASuperclass] */; -val* var27 /* : Iterator[nullable Object] */; -short int var28 /* : Bool */; -val* var29 /* : nullable Object */; -val* var_n30 /* var n: ASuperclass */; -val* var32 /* : ANodes[APropdef] */; -val* var33 /* : Iterator[nullable Object] */; -short int var34 /* : Bool */; -val* var35 /* : nullable Object */; -val* var_n36 /* var n: APropdef */; -val* var38 /* : TKwend */; +val* var1 /* : nullable TKwredef */; +val* var2 /* : AVisibility */; +val* var3 /* : AClasskind */; +val* var4 /* : nullable TClassid */; +val* var5 /* : ANodes[AFormaldef] */; +val* var7 /* : ANodes[AFormaldef] */; +val* var8 /* : nullable AAnnotations */; +val* var9 /* : nullable AExternCodeBlock */; +val* var10 /* : ANodes[ASuperclass] */; +val* var12 /* : ANodes[ASuperclass] */; +val* var13 /* : ANodes[APropdef] */; +val* var15 /* : ANodes[APropdef] */; +val* var16 /* : TKwend */; var_v = p0; var = self->attrs[COLOR_parser_nodes__AStdClassdef___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 */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val; /* _n_doc on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 768); -exit(1); +var1 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef 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, var3) /* enter_visit on */; -} else { +var2 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val; /* _n_visibility on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 504); +show_backtrace(1); } -var4 = self->attrs[COLOR_parser_nodes__AStdClassdef___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 */ +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 771); -exit(1); +var3 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val; /* _n_classkind on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classkind"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 505); +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, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var8 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val; /* _n_visibility on */ -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 773); -exit(1); -} -((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__AStdClassdef___n_classkind].val; /* _n_classkind on */ -if (var9 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classkind", "src/parser/parser_prod.nit", 774); -exit(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__AStdClassdef___n_id].val; /* _n_id on */ -var11 = NULL; -if (var10 == NULL) { -var12 = 0; /* is null */ -} else { -var12 = 1; /* arg is null and recv is not */ -} -if (var12){ -var13 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on */ -if (var13 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 776); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var13) /* enter_visit on */; -} else { -} -var14 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ -if (var14 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_formaldefs", "src/parser/parser_prod.nit", 778); -exit(1); -} -var15 = ((val* (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__iterator]))(var14) /* iterator on */; -for(;;) { -var16 = ((short int (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var15) /* is_ok on */; -if(!var16) break; -var17 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__item]))(var15) /* item on */; -var_n = var17; -((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*))(var15->class->vft[COLOR_abstract_collection__Iterator__next]))(var15) /* next on */; -} -BREAK_label: (void)0; -var18 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var19 = NULL; -if (var18 == NULL) { -var20 = 0; /* is null */ -} else { -var20 = 1; /* arg is null and recv is not */ +var4 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var20){ -var21 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var21 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 782); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var21) /* enter_visit on */; -} else { -} -var22 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on */ -var23 = NULL; -if (var22 == NULL) { -var24 = 0; /* is null */ -} else { -var24 = 1; /* arg is null and recv is not */ -} -if (var24){ -var25 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on */ -if (var25 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 785); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var25) /* enter_visit on */; -} else { -} -var26 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on */ -if (var26 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_superclasses", "src/parser/parser_prod.nit", 787); -exit(1); -} -var27 = ((val* (*)(val*))(var26->class->vft[COLOR_abstract_collection__Collection__iterator]))(var26) /* iterator on */; -for(;;) { -var28 = ((short int (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var27) /* is_ok on */; -if(!var28) break; -var29 = ((val* (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__item]))(var27) /* item on */; -var_n30 = var29; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n30) /* enter_visit on */; -CONTINUE_label31: (void)0; -((void (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__next]))(var27) /* next on */; -} -BREAK_label31: (void)0; -var32 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var32 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 790); -exit(1); -} -var33 = ((val* (*)(val*))(var32->class->vft[COLOR_abstract_collection__Collection__iterator]))(var32) /* iterator on */; -for(;;) { -var34 = ((short int (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var33) /* is_ok on */; -if(!var34) break; -var35 = ((val* (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__item]))(var33) /* item on */; -var_n36 = var35; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n36) /* enter_visit on */; -CONTINUE_label37: (void)0; -((void (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__next]))(var33) /* next on */; -} -BREAK_label37: (void)0; -var38 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val; /* _n_kwend on */ -if (var38 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwend", "src/parser/parser_prod.nit", 793); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var38) /* enter_visit on */; -RET_LABEL:; +{ +{ /* Inline parser_nodes#AStdClassdef#n_formaldefs (self) on */ +var7 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on */ +if (unlikely(var7 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 940); +show_backtrace(1); } -/* method parser_prod#AStdClassdef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AStdClassdef__visit_all(val* self, val* p0) { -parser_prod__AStdClassdef__visit_all(self, p0); -RET_LABEL:; +var5 = var7; +RET_LABEL6:(void)0; +} +} +{ +parser_nodes__ANodes__visit_all(var5, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ +} +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 */ +} +var9 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var9); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +{ +{ /* Inline parser_nodes#AStdClassdef#n_superclasses (self) on */ +var12 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_superclasses"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 942); +show_backtrace(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} +} +{ +parser_nodes__ANodes__visit_all(var10, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ +} +{ +{ /* Inline parser_nodes#AClassdef#n_propdefs (self) on */ +var15 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var15 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929); +show_backtrace(1); +} +var13 = var15; +RET_LABEL14:(void)0; +} +} +{ +parser_nodes__ANodes__visit_all(var13, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ +} +var16 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val; /* _n_kwend on */ +if (unlikely(var16 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwend"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 512); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var16); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#ATopClassdef#empty_init for (self: ATopClassdef) */ -void parser_prod__ATopClassdef__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#ATopClassdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ATopClassdef__empty_init(val* self) { -parser_prod__ATopClassdef__empty_init(self); +/* method parser_prod#AStdClassdef#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AStdClassdef__visit_all(val* self, val* p0) { +parser_prod__AStdClassdef__visit_all(self, p0); /* Direct call parser_prod#AStdClassdef#visit_all on */ RET_LABEL:; } /* method parser_prod#ATopClassdef#init_atopclassdef for (self: ATopClassdef, Collection[Object]) */ void parser_prod__ATopClassdef__init_atopclassdef(val* self, val* p0) { val* var_n_propdefs /* var n_propdefs: Collection[Object] */; -val* var /* : Iterator[nullable Object] */; -short int var1 /* : Bool */; -val* var2 /* : nullable Object */; -val* var_n /* var n: Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var4 /* : ANodes[APropdef] */; +val* var /* : ANodes[APropdef] */; +val* var2 /* : ANodes[APropdef] */; var_n_propdefs = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ATopClassdef__empty_init]))(self) /* empty_init on */; -var = ((val* (*)(val*))(var_n_propdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_propdefs) /* 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 APropdef */ -cltype = type_parser_nodes__APropdef.color; -idtype = type_parser_nodes__APropdef.id; -if(cltype >= var_n->type->table_size) { -var3 = 0; -} else { -var3 = var_n->type->type_table[cltype] == idtype; -} -if (!var3) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 805); -exit(1); -} -var4 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 806); -exit(1); -} -((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on */; -((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on */; -} -BREAK_label: (void)0; +{ +{ /* Inline parser_nodes#AClassdef#n_propdefs (self) on */ +var2 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +parser_nodes__ANodes__unsafe_add_all(var, var_n_propdefs); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ +} RET_LABEL:; } /* method parser_prod#ATopClassdef#init_atopclassdef for (self: Object, Collection[Object]) */ void VIRTUAL_parser_prod__ATopClassdef__init_atopclassdef(val* self, val* p0) { -parser_prod__ATopClassdef__init_atopclassdef(self, p0); +parser_prod__ATopClassdef__init_atopclassdef(self, p0); /* Direct call parser_prod#ATopClassdef#init_atopclassdef on */ RET_LABEL:; } /* method parser_prod#ATopClassdef#replace_child for (self: ATopClassdef, ANode, nullable ANode) */ void parser_prod__ATopClassdef__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : Range[Int] */; -long var1 /* : Int */; +val* var /* : ANodes[APropdef] */; val* var2 /* : ANodes[APropdef] */; -long var3 /* : Int */; -val* var4 /* : Discrete */; -val* var5 /* : Discrete */; -val* var6 /* : Iterator[nullable Object] */; -short int var7 /* : Bool */; -val* var8 /* : nullable Object */; -long var_i /* var i: Int */; -long var9 /* : Int */; -val* var10 /* : ANodes[APropdef] */; -val* var11 /* : nullable Object */; -short int var12 /* : Bool */; -val* var13 /* : null */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -int cltype; -int idtype; -val* var16 /* : ANodes[APropdef] */; -val* var17 /* : ANodes[APropdef] */; +short int var3 /* : Bool */; var_old_child = p0; var_new_child = p1; -var = NEW_range__Range(&type_range__Rangekernel__Int); -var1 = 0; +{ +{ /* Inline parser_nodes#AClassdef#n_propdefs (self) on */ var2 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 813); -exit(1); -} -var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on */; -var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */ -var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on */; -CHECK_NEW_range__Range(var); -var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on */; -for(;;) { -var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on */; -if(!var7) break; -var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on */; -var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */; -var_i = var9; -var10 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var10 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 814); -exit(1); -} -var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on */; -var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on */; -if (var12){ -var13 = NULL; -if (var_new_child == NULL) { -var14 = 0; /* is null */ -} else { -var14 = 1; /* arg is null and recv is not */ -} -if (var14){ -/* isa APropdef */ -cltype = type_parser_nodes__APropdef.color; -idtype = type_parser_nodes__APropdef.id; -if(cltype >= var_new_child->type->table_size) { -var15 = 0; -} else { -var15 = var_new_child->type->type_table[cltype] == idtype; +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929); +show_backtrace(1); } -if (!var15) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 816); -exit(1); +var = var2; +RET_LABEL1:(void)0; } -var16 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var16 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 817); -exit(1); } -((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 */; -} else { -var17 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var17 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 820); -exit(1); -} -((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on */; +{ +var3 = parser_nodes__ANodes__replace_child(var, var_old_child, var_new_child); } +if (var3){ 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; RET_LABEL:; } /* method parser_prod#ATopClassdef#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__ATopClassdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__ATopClassdef__replace_child(self, p0, p1); +parser_prod__ATopClassdef__replace_child(self, p0, p1); /* Direct call parser_prod#ATopClassdef#replace_child on */ RET_LABEL:; } /* method parser_prod#ATopClassdef#visit_all for (self: ATopClassdef, Visitor) */ void parser_prod__ATopClassdef__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; val* var /* : ANodes[APropdef] */; -val* var1 /* : Iterator[nullable Object] */; -short int var2 /* : Bool */; -val* var3 /* : nullable Object */; -val* var_n /* var n: APropdef */; +val* var2 /* : ANodes[APropdef] */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 831); -exit(1); +{ +{ /* Inline parser_nodes#AClassdef#n_propdefs (self) on */ +var2 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929); +show_backtrace(1); } -var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on */; -for(;;) { -var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on */; -if(!var2) break; -var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on */; -var_n = var3; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on */; +var = var2; +RET_LABEL1:(void)0; } -BREAK_label: (void)0; -RET_LABEL:; } -/* method parser_prod#ATopClassdef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ATopClassdef__visit_all(val* self, val* p0) { -parser_prod__ATopClassdef__visit_all(self, p0); -RET_LABEL:; +{ +parser_nodes__ANodes__visit_all(var, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ } -/* method parser_prod#AMainClassdef#empty_init for (self: AMainClassdef) */ -void parser_prod__AMainClassdef__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AMainClassdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AMainClassdef__empty_init(val* self) { -parser_prod__AMainClassdef__empty_init(self); +/* method parser_prod#ATopClassdef#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__ATopClassdef__visit_all(val* self, val* p0) { +parser_prod__ATopClassdef__visit_all(self, p0); /* Direct call parser_prod#ATopClassdef#visit_all on */ RET_LABEL:; } /* method parser_prod#AMainClassdef#init_amainclassdef for (self: AMainClassdef, Collection[Object]) */ void parser_prod__AMainClassdef__init_amainclassdef(val* self, val* p0) { val* var_n_propdefs /* var n_propdefs: Collection[Object] */; -val* var /* : Iterator[nullable Object] */; -short int var1 /* : Bool */; -val* var2 /* : nullable Object */; -val* var_n /* var n: Object */; -short int var3 /* : Bool */; -int cltype; -int idtype; -val* var4 /* : ANodes[APropdef] */; +val* var /* : ANodes[APropdef] */; +val* var2 /* : ANodes[APropdef] */; var_n_propdefs = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMainClassdef__empty_init]))(self) /* empty_init on */; -var = ((val* (*)(val*))(var_n_propdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_propdefs) /* 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 APropdef */ -cltype = type_parser_nodes__APropdef.color; -idtype = type_parser_nodes__APropdef.id; -if(cltype >= var_n->type->table_size) { -var3 = 0; -} else { -var3 = var_n->type->type_table[cltype] == idtype; -} -if (!var3) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 845); -exit(1); -} -var4 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 846); -exit(1); -} -((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on */; -((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on */; -} -BREAK_label: (void)0; +{ +{ /* Inline parser_nodes#AClassdef#n_propdefs (self) on */ +var2 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +parser_nodes__ANodes__unsafe_add_all(var, var_n_propdefs); /* Direct call parser_nodes#ANodes#unsafe_add_all on */ +} RET_LABEL:; } /* method parser_prod#AMainClassdef#init_amainclassdef for (self: Object, Collection[Object]) */ void VIRTUAL_parser_prod__AMainClassdef__init_amainclassdef(val* self, val* p0) { -parser_prod__AMainClassdef__init_amainclassdef(self, p0); +parser_prod__AMainClassdef__init_amainclassdef(self, p0); /* Direct call parser_prod#AMainClassdef#init_amainclassdef on */ RET_LABEL:; } /* method parser_prod#AMainClassdef#replace_child for (self: AMainClassdef, ANode, nullable ANode) */ void parser_prod__AMainClassdef__replace_child(val* self, val* p0, val* p1) { val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; -val* var /* : Range[Int] */; -long var1 /* : Int */; +val* var /* : ANodes[APropdef] */; val* var2 /* : ANodes[APropdef] */; -long var3 /* : Int */; -val* var4 /* : Discrete */; -val* var5 /* : Discrete */; -val* var6 /* : Iterator[nullable Object] */; -short int var7 /* : Bool */; -val* var8 /* : nullable Object */; -long var_i /* var i: Int */; -long var9 /* : Int */; -val* var10 /* : ANodes[APropdef] */; -val* var11 /* : nullable Object */; -short int var12 /* : Bool */; -val* var13 /* : null */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -int cltype; -int idtype; -val* var16 /* : ANodes[APropdef] */; -val* var17 /* : ANodes[APropdef] */; +short int var3 /* : Bool */; var_old_child = p0; var_new_child = p1; -var = NEW_range__Range(&type_range__Rangekernel__Int); -var1 = 0; +{ +{ /* Inline parser_nodes#AClassdef#n_propdefs (self) on */ var2 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 853); -exit(1); -} -var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on */; -var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */ -var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on */; -CHECK_NEW_range__Range(var); -var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on */; -for(;;) { -var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on */; -if(!var7) break; -var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on */; -var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */; -var_i = var9; -var10 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var10 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 854); -exit(1); -} -var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on */; -var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on */; -if (var12){ -var13 = NULL; -if (var_new_child == NULL) { -var14 = 0; /* is null */ -} else { -var14 = 1; /* arg is null and recv is not */ -} -if (var14){ -/* isa APropdef */ -cltype = type_parser_nodes__APropdef.color; -idtype = type_parser_nodes__APropdef.id; -if(cltype >= var_new_child->type->table_size) { -var15 = 0; -} else { -var15 = var_new_child->type->type_table[cltype] == idtype; +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929); +show_backtrace(1); } -if (!var15) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 856); -exit(1); +var = var2; +RET_LABEL1:(void)0; } -var16 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var16 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 857); -exit(1); } -((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 */; -} else { -var17 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var17 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 860); -exit(1); -} -((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on */; +{ +var3 = parser_nodes__ANodes__replace_child(var, var_old_child, var_new_child); } +if (var3){ 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; RET_LABEL:; } /* method parser_prod#AMainClassdef#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AMainClassdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__AMainClassdef__replace_child(self, p0, p1); +parser_prod__AMainClassdef__replace_child(self, p0, p1); /* Direct call parser_prod#AMainClassdef#replace_child on */ RET_LABEL:; } /* method parser_prod#AMainClassdef#visit_all for (self: AMainClassdef, Visitor) */ void parser_prod__AMainClassdef__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; val* var /* : ANodes[APropdef] */; -val* var1 /* : Iterator[nullable Object] */; -short int var2 /* : Bool */; -val* var3 /* : nullable Object */; -val* var_n /* var n: APropdef */; +val* var2 /* : ANodes[APropdef] */; var_v = p0; -var = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 871); -exit(1); +{ +{ /* Inline parser_nodes#AClassdef#n_propdefs (self) on */ +var2 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929); +show_backtrace(1); } -var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on */; -for(;;) { -var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on */; -if(!var2) break; -var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on */; -var_n = var3; -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on */; +var = var2; +RET_LABEL1:(void)0; } -BREAK_label: (void)0; -RET_LABEL:; } -/* method parser_prod#AMainClassdef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AMainClassdef__visit_all(val* self, val* p0) { -parser_prod__AMainClassdef__visit_all(self, p0); -RET_LABEL:; +{ +parser_nodes__ANodes__visit_all(var, var_v); /* Direct call parser_nodes#ANodes#visit_all on */ } -/* method parser_prod#AConcreteClasskind#empty_init for (self: AConcreteClasskind) */ -void parser_prod__AConcreteClasskind__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AConcreteClasskind#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AConcreteClasskind__empty_init(val* self) { -parser_prod__AConcreteClasskind__empty_init(self); +/* method parser_prod#AMainClassdef#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AMainClassdef__visit_all(val* self, val* p0) { +parser_prod__AMainClassdef__visit_all(self, p0); /* Direct call parser_prod#AMainClassdef#visit_all on */ RET_LABEL:; } /* method parser_prod#AConcreteClasskind#init_aconcreteclasskind for (self: AConcreteClasskind, nullable TKwclass) */ void parser_prod__AConcreteClasskind__init_aconcreteclasskind(val* self, val* p0) { val* var_n_kwclass /* var n_kwclass: nullable TKwclass */; var_n_kwclass = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AConcreteClasskind__empty_init]))(self) /* empty_init on */; -if (var_n_kwclass == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 884); -exit(1); +if (unlikely(var_n_kwclass == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 560); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val = var_n_kwclass; /* _n_kwclass on */ if (var_n_kwclass == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 885); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 561); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwclass->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwclass, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwclass,self) on */ +if (unlikely(var_n_kwclass == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwclass->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } /* method parser_prod#AConcreteClasskind#init_aconcreteclasskind for (self: Object, nullable TKwclass) */ void VIRTUAL_parser_prod__AConcreteClasskind__init_aconcreteclasskind(val* self, val* p0) { -parser_prod__AConcreteClasskind__init_aconcreteclasskind(self, p0); +parser_prod__AConcreteClasskind__init_aconcreteclasskind(self, p0); /* Direct call parser_prod#AConcreteClasskind#init_aconcreteclasskind on */ RET_LABEL:; } /* method parser_prod#AConcreteClasskind#replace_child for (self: AConcreteClasskind, ANode, nullable ANode) */ @@ -3670,44 +4093,60 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : TKwclass */; 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; var_old_child = p0; var_new_child = p1; var = self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val; /* _n_kwclass on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwclass", "src/parser/parser_prod.nit", 890); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwclass"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 566); +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 TKwclass */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa TKwclass */ cltype = type_parser_nodes__TKwclass.color; idtype = type_parser_nodes__TKwclass.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 893); -exit(1); } -self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val = var_new_child; /* _n_kwclass on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 896); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwclass", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 567); +show_backtrace(1); +} +{ +parser_prod__AConcreteClasskind__n_kwclass_61d(self, var_new_child); /* Direct call parser_prod#AConcreteClasskind#n_kwclass= on */ } goto RET_LABEL; } else { @@ -3716,7 +4155,7 @@ RET_LABEL:; } /* method parser_prod#AConcreteClasskind#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AConcreteClasskind__replace_child(val* self, val* p0, val* p1) { -parser_prod__AConcreteClasskind__replace_child(self, p0, p1); +parser_prod__AConcreteClasskind__replace_child(self, p0, p1); /* Direct call parser_prod#AConcreteClasskind#replace_child on */ RET_LABEL:; } /* method parser_prod#AConcreteClasskind#n_kwclass= for (self: AConcreteClasskind, TKwclass) */ @@ -3724,12 +4163,17 @@ void parser_prod__AConcreteClasskind__n_kwclass_61d(val* self, val* p0) { val* var_node /* var node: TKwclass */; var_node = p0; self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val = var_node; /* _n_kwclass on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AConcreteClasskind#n_kwclass= for (self: Object, TKwclass) */ void VIRTUAL_parser_prod__AConcreteClasskind__n_kwclass_61d(val* self, val* p0) { -parser_prod__AConcreteClasskind__n_kwclass_61d(self, p0); +parser_prod__AConcreteClasskind__n_kwclass_61d(self, p0); /* Direct call parser_prod#AConcreteClasskind#n_kwclass= on */ RET_LABEL:; } /* method parser_prod#AConcreteClasskind#visit_all for (self: AConcreteClasskind, Visitor) */ @@ -3738,25 +4182,19 @@ val* var_v /* var v: Visitor */; val* var /* : TKwclass */; var_v = p0; var = self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val; /* _n_kwclass on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwclass", "src/parser/parser_prod.nit", 911); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwclass"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 581); +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, var) /* enter_visit on */; RET_LABEL:; } /* method parser_prod#AConcreteClasskind#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__AConcreteClasskind__visit_all(val* self, val* p0) { -parser_prod__AConcreteClasskind__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AAbstractClasskind#empty_init for (self: AAbstractClasskind) */ -void parser_prod__AAbstractClasskind__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AAbstractClasskind#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AAbstractClasskind__empty_init(val* self) { -parser_prod__AAbstractClasskind__empty_init(self); +parser_prod__AConcreteClasskind__visit_all(self, p0); /* Direct call parser_prod#AConcreteClasskind#visit_all on */ RET_LABEL:; } /* method parser_prod#AAbstractClasskind#init_aabstractclasskind for (self: AAbstractClasskind, nullable TKwabstract, nullable TKwclass) */ @@ -3765,34 +4203,53 @@ val* var_n_kwabstract /* var n_kwabstract: nullable TKwabstract */; val* var_n_kwclass /* var n_kwclass: nullable TKwclass */; var_n_kwabstract = p0; var_n_kwclass = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAbstractClasskind__empty_init]))(self) /* empty_init on */; -if (var_n_kwabstract == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 923); -exit(1); +if (unlikely(var_n_kwabstract == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 590); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val = var_n_kwabstract; /* _n_kwabstract on */ if (var_n_kwabstract == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 924); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 591); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwabstract->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwabstract, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwabstract,self) on */ +if (unlikely(var_n_kwabstract == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_kwclass == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 925); -exit(1); +var_n_kwabstract->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} +if (unlikely(var_n_kwclass == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 592); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val = var_n_kwclass; /* _n_kwclass on */ if (var_n_kwclass == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 926); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 593); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwclass->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwclass, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwclass,self) on */ +if (unlikely(var_n_kwclass == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwclass->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; +} } RET_LABEL:; } /* method parser_prod#AAbstractClasskind#init_aabstractclasskind for (self: Object, nullable TKwabstract, nullable TKwclass) */ void VIRTUAL_parser_prod__AAbstractClasskind__init_aabstractclasskind(val* self, val* p0, val* p1) { -parser_prod__AAbstractClasskind__init_aabstractclasskind(self, p0, p1); +parser_prod__AAbstractClasskind__init_aabstractclasskind(self, p0, p1); /* Direct call parser_prod#AAbstractClasskind#init_aabstractclasskind on */ RET_LABEL:; } /* method parser_prod#AAbstractClasskind#replace_child for (self: AAbstractClasskind, ANode, nullable ANode) */ @@ -3801,86 +4258,117 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : TKwabstract */; 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 /* : TKwclass */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : TKwclass */; 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__AAbstractClasskind___n_kwabstract].val; /* _n_kwabstract on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwabstract", "src/parser/parser_prod.nit", 931); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwabstract"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 598); +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 TKwabstract */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa TKwabstract */ cltype = type_parser_nodes__TKwabstract.color; idtype = type_parser_nodes__TKwabstract.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 934); -exit(1); } -self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val = var_new_child; /* _n_kwabstract on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 937); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwabstract", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 599); +show_backtrace(1); +} +{ +parser_prod__AAbstractClasskind__n_kwabstract_61d(self, var_new_child); /* Direct call parser_prod#AAbstractClasskind#n_kwabstract= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val; /* _n_kwclass on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwclass", "src/parser/parser_prod.nit", 941); -exit(1); +var8 = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val; /* _n_kwclass on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwclass"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 602); +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 TKwclass */ -cltype10 = type_parser_nodes__TKwclass.color; -idtype11 = type_parser_nodes__TKwclass.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 944); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; } -self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val = var_new_child; /* _n_kwclass on */ +if (var9){ +/* isa TKwclass */ +cltype16 = type_parser_nodes__TKwclass.color; +idtype17 = type_parser_nodes__TKwclass.id; +if(var_new_child == NULL) { +var15 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 947); -exit(1); +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`", "TKwclass", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 603); +show_backtrace(1); +} +{ +parser_prod__AAbstractClasskind__n_kwclass_61d(self, var_new_child); /* Direct call parser_prod#AAbstractClasskind#n_kwclass= on */ } goto RET_LABEL; } else { @@ -3889,7 +4377,7 @@ RET_LABEL:; } /* method parser_prod#AAbstractClasskind#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AAbstractClasskind__replace_child(val* self, val* p0, val* p1) { -parser_prod__AAbstractClasskind__replace_child(self, p0, p1); +parser_prod__AAbstractClasskind__replace_child(self, p0, p1); /* Direct call parser_prod#AAbstractClasskind#replace_child on */ RET_LABEL:; } /* method parser_prod#AAbstractClasskind#n_kwabstract= for (self: AAbstractClasskind, TKwabstract) */ @@ -3897,12 +4385,17 @@ void parser_prod__AAbstractClasskind__n_kwabstract_61d(val* self, val* p0) { val* var_node /* var node: TKwabstract */; var_node = p0; self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val = var_node; /* _n_kwabstract on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AAbstractClasskind#n_kwabstract= for (self: Object, TKwabstract) */ void VIRTUAL_parser_prod__AAbstractClasskind__n_kwabstract_61d(val* self, val* p0) { -parser_prod__AAbstractClasskind__n_kwabstract_61d(self, p0); +parser_prod__AAbstractClasskind__n_kwabstract_61d(self, p0); /* Direct call parser_prod#AAbstractClasskind#n_kwabstract= on */ RET_LABEL:; } /* method parser_prod#AAbstractClasskind#n_kwclass= for (self: AAbstractClasskind, TKwclass) */ @@ -3910,12 +4403,17 @@ void parser_prod__AAbstractClasskind__n_kwclass_61d(val* self, val* p0) { val* var_node /* var node: TKwclass */; var_node = p0; self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val = var_node; /* _n_kwclass on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AAbstractClasskind#n_kwclass= for (self: Object, TKwclass) */ void VIRTUAL_parser_prod__AAbstractClasskind__n_kwclass_61d(val* self, val* p0) { -parser_prod__AAbstractClasskind__n_kwclass_61d(self, p0); +parser_prod__AAbstractClasskind__n_kwclass_61d(self, p0); /* Direct call parser_prod#AAbstractClasskind#n_kwclass= on */ RET_LABEL:; } /* method parser_prod#AAbstractClasskind#visit_all for (self: AAbstractClasskind, Visitor) */ @@ -3925,54 +4423,60 @@ val* var /* : TKwabstract */; val* var1 /* : TKwclass */; var_v = p0; var = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val; /* _n_kwabstract on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwabstract", "src/parser/parser_prod.nit", 967); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwabstract"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 622); +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, var) /* enter_visit on */; var1 = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val; /* _n_kwclass on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwclass", "src/parser/parser_prod.nit", 968); -exit(1); +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwclass"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 623); +show_backtrace(1); +} +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; RET_LABEL:; } /* method parser_prod#AAbstractClasskind#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__AAbstractClasskind__visit_all(val* self, val* p0) { -parser_prod__AAbstractClasskind__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AInterfaceClasskind#empty_init for (self: AInterfaceClasskind) */ -void parser_prod__AInterfaceClasskind__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AInterfaceClasskind#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AInterfaceClasskind__empty_init(val* self) { -parser_prod__AInterfaceClasskind__empty_init(self); +parser_prod__AAbstractClasskind__visit_all(self, p0); /* Direct call parser_prod#AAbstractClasskind#visit_all on */ RET_LABEL:; } /* method parser_prod#AInterfaceClasskind#init_ainterfaceclasskind for (self: AInterfaceClasskind, nullable TKwinterface) */ void parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(val* self, val* p0) { val* var_n_kwinterface /* var n_kwinterface: nullable TKwinterface */; var_n_kwinterface = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInterfaceClasskind__empty_init]))(self) /* empty_init on */; -if (var_n_kwinterface == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 979); -exit(1); +if (unlikely(var_n_kwinterface == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 631); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val = var_n_kwinterface; /* _n_kwinterface on */ if (var_n_kwinterface == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 980); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 632); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwinterface->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwinterface, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwinterface,self) on */ +if (unlikely(var_n_kwinterface == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwinterface->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } /* method parser_prod#AInterfaceClasskind#init_ainterfaceclasskind for (self: Object, nullable TKwinterface) */ void VIRTUAL_parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(val* self, val* p0) { -parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(self, p0); +parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(self, p0); /* Direct call parser_prod#AInterfaceClasskind#init_ainterfaceclasskind on */ RET_LABEL:; } /* method parser_prod#AInterfaceClasskind#replace_child for (self: AInterfaceClasskind, ANode, nullable ANode) */ @@ -3981,44 +4485,60 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : TKwinterface */; 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; var_old_child = p0; var_new_child = p1; var = self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val; /* _n_kwinterface on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwinterface", "src/parser/parser_prod.nit", 985); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwinterface"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 637); +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 TKwinterface */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa TKwinterface */ cltype = type_parser_nodes__TKwinterface.color; idtype = type_parser_nodes__TKwinterface.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 988); -exit(1); } -self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val = var_new_child; /* _n_kwinterface on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 991); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwinterface", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 638); +show_backtrace(1); +} +{ +parser_prod__AInterfaceClasskind__n_kwinterface_61d(self, var_new_child); /* Direct call parser_prod#AInterfaceClasskind#n_kwinterface= on */ } goto RET_LABEL; } else { @@ -4027,7 +4547,7 @@ RET_LABEL:; } /* method parser_prod#AInterfaceClasskind#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AInterfaceClasskind__replace_child(val* self, val* p0, val* p1) { -parser_prod__AInterfaceClasskind__replace_child(self, p0, p1); +parser_prod__AInterfaceClasskind__replace_child(self, p0, p1); /* Direct call parser_prod#AInterfaceClasskind#replace_child on */ RET_LABEL:; } /* method parser_prod#AInterfaceClasskind#n_kwinterface= for (self: AInterfaceClasskind, TKwinterface) */ @@ -4035,12 +4555,17 @@ void parser_prod__AInterfaceClasskind__n_kwinterface_61d(val* self, val* p0) { val* var_node /* var node: TKwinterface */; var_node = p0; self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val = var_node; /* _n_kwinterface on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AInterfaceClasskind#n_kwinterface= for (self: Object, TKwinterface) */ void VIRTUAL_parser_prod__AInterfaceClasskind__n_kwinterface_61d(val* self, val* p0) { -parser_prod__AInterfaceClasskind__n_kwinterface_61d(self, p0); +parser_prod__AInterfaceClasskind__n_kwinterface_61d(self, p0); /* Direct call parser_prod#AInterfaceClasskind#n_kwinterface= on */ RET_LABEL:; } /* method parser_prod#AInterfaceClasskind#visit_all for (self: AInterfaceClasskind, Visitor) */ @@ -4049,48 +4574,51 @@ val* var_v /* var v: Visitor */; val* var /* : TKwinterface */; var_v = p0; var = self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val; /* _n_kwinterface on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwinterface", "src/parser/parser_prod.nit", 1006); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwinterface"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 652); +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, var) /* enter_visit on */; RET_LABEL:; } /* method parser_prod#AInterfaceClasskind#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__AInterfaceClasskind__visit_all(val* self, val* p0) { -parser_prod__AInterfaceClasskind__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AEnumClasskind#empty_init for (self: AEnumClasskind) */ -void parser_prod__AEnumClasskind__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AEnumClasskind#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AEnumClasskind__empty_init(val* self) { -parser_prod__AEnumClasskind__empty_init(self); +parser_prod__AInterfaceClasskind__visit_all(self, p0); /* Direct call parser_prod#AInterfaceClasskind#visit_all on */ RET_LABEL:; } /* method parser_prod#AEnumClasskind#init_aenumclasskind for (self: AEnumClasskind, nullable TKwenum) */ void parser_prod__AEnumClasskind__init_aenumclasskind(val* self, val* p0) { val* var_n_kwenum /* var n_kwenum: nullable TKwenum */; var_n_kwenum = p0; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEnumClasskind__empty_init]))(self) /* empty_init on */; -if (var_n_kwenum == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1017); -exit(1); +if (unlikely(var_n_kwenum == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 660); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val = var_n_kwenum; /* _n_kwenum on */ if (var_n_kwenum == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1018); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 661); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwenum->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwenum, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwenum,self) on */ +if (unlikely(var_n_kwenum == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwenum->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } /* method parser_prod#AEnumClasskind#init_aenumclasskind for (self: Object, nullable TKwenum) */ void VIRTUAL_parser_prod__AEnumClasskind__init_aenumclasskind(val* self, val* p0) { -parser_prod__AEnumClasskind__init_aenumclasskind(self, p0); +parser_prod__AEnumClasskind__init_aenumclasskind(self, p0); /* Direct call parser_prod#AEnumClasskind#init_aenumclasskind on */ RET_LABEL:; } /* method parser_prod#AEnumClasskind#replace_child for (self: AEnumClasskind, ANode, nullable ANode) */ @@ -4099,44 +4627,60 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : TKwenum */; 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; +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__AEnumClasskind___n_kwenum].val; /* _n_kwenum on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwenum", "src/parser/parser_prod.nit", 1023); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwenum"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 666); +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 TKwenum */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa TKwenum */ cltype = type_parser_nodes__TKwenum.color; idtype = type_parser_nodes__TKwenum.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1026); -exit(1); } -self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val = var_new_child; /* _n_kwenum on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1029); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwenum", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 667); +show_backtrace(1); +} +{ +parser_prod__AEnumClasskind__n_kwenum_61d(self, var_new_child); /* Direct call parser_prod#AEnumClasskind#n_kwenum= on */ } goto RET_LABEL; } else { @@ -4145,7 +4689,7 @@ RET_LABEL:; } /* method parser_prod#AEnumClasskind#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AEnumClasskind__replace_child(val* self, val* p0, val* p1) { -parser_prod__AEnumClasskind__replace_child(self, p0, p1); +parser_prod__AEnumClasskind__replace_child(self, p0, p1); /* Direct call parser_prod#AEnumClasskind#replace_child on */ RET_LABEL:; } /* method parser_prod#AEnumClasskind#n_kwenum= for (self: AEnumClasskind, TKwenum) */ @@ -4153,12 +4697,17 @@ void parser_prod__AEnumClasskind__n_kwenum_61d(val* self, val* p0) { val* var_node /* var node: TKwenum */; var_node = p0; self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val = var_node; /* _n_kwenum on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AEnumClasskind#n_kwenum= for (self: Object, TKwenum) */ void VIRTUAL_parser_prod__AEnumClasskind__n_kwenum_61d(val* self, val* p0) { -parser_prod__AEnumClasskind__n_kwenum_61d(self, p0); +parser_prod__AEnumClasskind__n_kwenum_61d(self, p0); /* Direct call parser_prod#AEnumClasskind#n_kwenum= on */ RET_LABEL:; } /* method parser_prod#AEnumClasskind#visit_all for (self: AEnumClasskind, Visitor) */ @@ -4167,25 +4716,19 @@ val* var_v /* var v: Visitor */; val* var /* : TKwenum */; var_v = p0; var = self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val; /* _n_kwenum on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwenum", "src/parser/parser_prod.nit", 1044); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwenum"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 681); +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, var) /* enter_visit on */; RET_LABEL:; } /* method parser_prod#AEnumClasskind#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__AEnumClasskind__visit_all(val* self, val* p0) { -parser_prod__AEnumClasskind__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AExternClasskind#empty_init for (self: AExternClasskind) */ -void parser_prod__AExternClasskind__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AExternClasskind#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AExternClasskind__empty_init(val* self) { -parser_prod__AExternClasskind__empty_init(self); +parser_prod__AEnumClasskind__visit_all(self, p0); /* Direct call parser_prod#AEnumClasskind#visit_all on */ RET_LABEL:; } /* method parser_prod#AExternClasskind#init_aexternclasskind for (self: AExternClasskind, nullable TKwextern, nullable TKwclass) */ @@ -4193,37 +4736,70 @@ void parser_prod__AExternClasskind__init_aexternclasskind(val* self, val* p0, va val* var_n_kwextern /* var n_kwextern: nullable TKwextern */; val* var_n_kwclass /* var n_kwclass: nullable TKwclass */; val* var /* : null */; -short int var1 /* : Bool */; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; var_n_kwextern = p0; var_n_kwclass = p1; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternClasskind__empty_init]))(self) /* empty_init on */; -if (var_n_kwextern == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1056); -exit(1); +if (unlikely(var_n_kwextern == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 690); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val = var_n_kwextern; /* _n_kwextern on */ if (var_n_kwextern == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1057); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 691); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwextern->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwextern, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwextern,self) on */ +if (unlikely(var_n_kwextern == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwextern->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var_n_kwclass; /* _n_kwclass on */ var = NULL; if (var_n_kwclass == NULL) { -var1 = 0; /* is null */ +var2 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ +var2 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwclass,var) on */ +var_other = var; +{ +var6 = ((short int (*)(val*, val*))(var_n_kwclass->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwclass, 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_kwclass,self) on */ +var_n_kwclass->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL8:(void)0; +} } -if (var1){ -((void (*)(val*, val*))(var_n_kwclass->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwclass, self) /* parent= on */; } else { } RET_LABEL:; } /* method parser_prod#AExternClasskind#init_aexternclasskind for (self: Object, nullable TKwextern, nullable TKwclass) */ void VIRTUAL_parser_prod__AExternClasskind__init_aexternclasskind(val* self, val* p0, val* p1) { -parser_prod__AExternClasskind__init_aexternclasskind(self, p0, p1); +parser_prod__AExternClasskind__init_aexternclasskind(self, p0, p1); /* Direct call parser_prod#AExternClasskind#init_aexternclasskind on */ RET_LABEL:; } /* method parser_prod#AExternClasskind#replace_child for (self: AExternClasskind, ANode, nullable ANode) */ @@ -4232,87 +4808,114 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : TKwextern */; 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 TKwclass */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : nullable TKwclass */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; var_old_child = p0; var_new_child = p1; var = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val; /* _n_kwextern on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwextern", "src/parser/parser_prod.nit", 1066); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwextern"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 698); +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 TKwextern */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa TKwextern */ cltype = type_parser_nodes__TKwextern.color; idtype = type_parser_nodes__TKwextern.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1069); -exit(1); } -self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val = var_new_child; /* _n_kwextern on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1072); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwextern", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 699); +show_backtrace(1); +} +{ +parser_prod__AExternClasskind__n_kwextern_61d(self, var_new_child); /* Direct call parser_prod#AExternClasskind#n_kwextern= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ +var8 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; +{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwclass */ -cltype10 = type_parser_nodes__TKwclass.color; -idtype11 = type_parser_nodes__TKwclass.id; -if(cltype10 >= var_new_child->type->table_size) { -var9 = 0; -} else { -var9 = var_new_child->type->type_table[cltype10] == idtype11; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1079); -exit(1); +var9 = var10; } -self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var_new_child; /* _n_kwclass on */ +if (var9){ +/* isa nullable TKwclass */ +cltype16 = type_nullable_parser_nodes__TKwclass.color; +idtype17 = type_nullable_parser_nodes__TKwclass.id; +if(var_new_child == NULL) { +var15 = 1; +} else { +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var12 = NULL; -self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var12; /* _n_kwclass on */ +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwclass", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 703); +show_backtrace(1); +} +{ +parser_prod__AExternClasskind__n_kwclass_61d(self, var_new_child); /* Direct call parser_prod#AExternClasskind#n_kwclass= on */ } goto RET_LABEL; } else { @@ -4321,7 +4924,7 @@ RET_LABEL:; } /* method parser_prod#AExternClasskind#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AExternClasskind__replace_child(val* self, val* p0, val* p1) { -parser_prod__AExternClasskind__replace_child(self, p0, p1); +parser_prod__AExternClasskind__replace_child(self, p0, p1); /* Direct call parser_prod#AExternClasskind#replace_child on */ RET_LABEL:; } /* method parser_prod#AExternClasskind#n_kwextern= for (self: AExternClasskind, TKwextern) */ @@ -4329,12 +4932,17 @@ void parser_prod__AExternClasskind__n_kwextern_61d(val* self, val* p0) { val* var_node /* var node: TKwextern */; var_node = p0; self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val = var_node; /* _n_kwextern on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#AExternClasskind#n_kwextern= for (self: Object, TKwextern) */ void VIRTUAL_parser_prod__AExternClasskind__n_kwextern_61d(val* self, val* p0) { -parser_prod__AExternClasskind__n_kwextern_61d(self, p0); +parser_prod__AExternClasskind__n_kwextern_61d(self, p0); /* Direct call parser_prod#AExternClasskind#n_kwextern= on */ RET_LABEL:; } /* method parser_prod#AExternClasskind#n_kwclass= for (self: AExternClasskind, nullable TKwclass) */ @@ -4342,6 +4950,11 @@ void parser_prod__AExternClasskind__n_kwclass_61d(val* self, val* p0) { val* var_node /* var node: nullable TKwclass */; 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__AExternClasskind___n_kwclass].val = var_node; /* _n_kwclass on */ var = NULL; @@ -4350,15 +4963,34 @@ 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#AExternClasskind#n_kwclass= for (self: Object, nullable TKwclass) */ void VIRTUAL_parser_prod__AExternClasskind__n_kwclass_61d(val* self, val* p0) { -parser_prod__AExternClasskind__n_kwclass_61d(self, p0); +parser_prod__AExternClasskind__n_kwclass_61d(self, p0); /* Direct call parser_prod#AExternClasskind#n_kwclass= on */ RET_LABEL:; } /* method parser_prod#AExternClasskind#visit_all for (self: AExternClasskind, Visitor) */ @@ -4366,46 +4998,25 @@ void parser_prod__AExternClasskind__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; val* var /* : TKwextern */; val* var1 /* : nullable TKwclass */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : nullable TKwclass */; var_v = p0; var = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val; /* _n_kwextern on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwextern", "src/parser/parser_prod.nit", 1104); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on */; -var1 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwextern"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 722); +show_backtrace(1); } -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1106); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; -} else { +var1 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } /* method parser_prod#AExternClasskind#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__AExternClasskind__visit_all(val* self, val* p0) { -parser_prod__AExternClasskind__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AFormaldef#empty_init for (self: AFormaldef) */ -void parser_prod__AFormaldef__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AFormaldef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AFormaldef__empty_init(val* self) { -parser_prod__AFormaldef__empty_init(self); +parser_prod__AExternClasskind__visit_all(self, p0); /* Direct call parser_prod#AExternClasskind#visit_all on */ RET_LABEL:; } /* method parser_prod#AFormaldef#init_aformaldef for (self: AFormaldef, nullable TClassid, nullable AType, nullable AAnnotations) */ @@ -4414,51 +5025,107 @@ 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 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_id = p0; var_n_type = p1; var_n_annotations = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFormaldef__empty_init]))(self) /* empty_init on */; -if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1120); -exit(1); +if (unlikely(var_n_id == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 733); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val = var_n_id; /* _n_id on */ if (var_n_id == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1121); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 734); +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_id,self) on */ +if (unlikely(var_n_id == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var_n_type; /* _n_type on */ var = NULL; if (var_n_type == NULL) { -var1 = 0; /* is null */ +var2 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ +var2 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_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 (var1){ -((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on */; } else { } self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var2 = NULL; +var9 = NULL; if (var_n_annotations == NULL) { -var3 = 0; /* is 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_annotations,var9) on */ +var_other = var9; +{ +var14 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, 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_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL16:(void)0; +} } -if (var3){ -((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#AFormaldef#init_aformaldef for (self: Object, nullable TClassid, nullable AType, nullable AAnnotations) */ void VIRTUAL_parser_prod__AFormaldef__init_aformaldef(val* self, val* p0, val* p1, val* p2) { -parser_prod__AFormaldef__init_aformaldef(self, p0, p1, p2); +parser_prod__AFormaldef__init_aformaldef(self, p0, p1, p2); /* Direct call parser_prod#AFormaldef#init_aformaldef on */ RET_LABEL:; } /* method parser_prod#AFormaldef#replace_child for (self: AFormaldef, ANode, nullable ANode) */ @@ -4467,130 +5134,168 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : TClassid */; 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 AType */; -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; -val* var12 /* : null */; -val* var13 /* : nullable AAnnotations */; +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 AAnnotations */; +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__AFormaldef___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 1134); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 743); +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 TClassid */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa TClassid */ cltype = type_parser_nodes__TClassid.color; idtype = type_parser_nodes__TClassid.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1137); -exit(1); } -self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val = var_new_child; /* _n_id on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1140); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TClassid", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 744); +show_backtrace(1); +} +{ +parser_prod__AFormaldef__n_id_61d(self, var_new_child); /* Direct call parser_prod#AFormaldef#n_id= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on */ -if (var5 == NULL) { -var6 = 0; /* cannot be null */ +var8 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on */; +{ /* Inline kernel#Object#== (var8,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var8,var_other) on */ +var14 = var8 == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -if (var6){ -var7 = NULL; -if (var_new_child == NULL) { -var8 = 0; /* is null */ -} else { -var8 = 1; /* arg is null and recv is not */ } -if (var8){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa 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; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1147); -exit(1); +var9 = var10; } -self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var_new_child; /* _n_type on */ +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 { -var12 = NULL; -self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var12; /* _n_type on */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AType", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 748); +show_backtrace(1); +} +{ +parser_prod__AFormaldef__n_type_61d(self, var_new_child); /* Direct call parser_prod#AFormaldef#n_type= on */ } goto RET_LABEL; } else { } -var13 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var13 == NULL) { -var14 = 0; /* cannot be null */ +var19 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var19 == NULL) { +var20 = 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#== (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 (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 AAnnotations */ -cltype18 = type_parser_nodes__AAnnotations.color; -idtype19 = type_parser_nodes__AAnnotations.id; -if(cltype18 >= var_new_child->type->table_size) { -var17 = 0; -} else { -var17 = var_new_child->type->type_table[cltype18] == idtype19; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -if (!var17) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1157); -exit(1); +var20 = var21; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +if (var20){ +/* isa nullable AAnnotations */ +cltype27 = type_nullable_parser_nodes__AAnnotations.color; +idtype28 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var26 = 1; } else { -var20 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var20; /* _n_annotations on */ +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; +} else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; +} +} +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 752); +show_backtrace(1); +} +{ +parser_prod__AFormaldef__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AFormaldef#n_annotations= on */ } goto RET_LABEL; } else { @@ -4599,7 +5304,7 @@ RET_LABEL:; } /* method parser_prod#AFormaldef#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AFormaldef__replace_child(val* self, val* p0, val* p1) { -parser_prod__AFormaldef__replace_child(self, p0, p1); +parser_prod__AFormaldef__replace_child(self, p0, p1); /* Direct call parser_prod#AFormaldef#replace_child on */ RET_LABEL:; } /* method parser_prod#AFormaldef#n_id= for (self: AFormaldef, TClassid) */ @@ -4607,12 +5312,17 @@ void parser_prod__AFormaldef__n_id_61d(val* self, val* p0) { val* var_node /* var node: TClassid */; var_node = p0; self->attrs[COLOR_parser_nodes__AFormaldef___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 */; +{ +{ /* 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#AFormaldef#n_id= for (self: Object, TClassid) */ void VIRTUAL_parser_prod__AFormaldef__n_id_61d(val* self, val* p0) { -parser_prod__AFormaldef__n_id_61d(self, p0); +parser_prod__AFormaldef__n_id_61d(self, p0); /* Direct call parser_prod#AFormaldef#n_id= on */ RET_LABEL:; } /* method parser_prod#AFormaldef#n_type= for (self: AFormaldef, nullable AType) */ @@ -4620,6 +5330,11 @@ void parser_prod__AFormaldef__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__AFormaldef___n_type].val = var_node; /* _n_type on */ var = NULL; @@ -4628,15 +5343,34 @@ 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#AFormaldef#n_type= for (self: Object, nullable AType) */ void VIRTUAL_parser_prod__AFormaldef__n_type_61d(val* self, val* p0) { -parser_prod__AFormaldef__n_type_61d(self, p0); +parser_prod__AFormaldef__n_type_61d(self, p0); /* Direct call parser_prod#AFormaldef#n_type= on */ RET_LABEL:; } /* method parser_prod#AFormaldef#n_annotations= for (self: AFormaldef, nullable AAnnotations) */ @@ -4644,6 +5378,11 @@ void parser_prod__AFormaldef__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; @@ -4652,15 +5391,34 @@ 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#AFormaldef#n_annotations= for (self: Object, nullable AAnnotations) */ void VIRTUAL_parser_prod__AFormaldef__n_annotations_61d(val* self, val* p0) { -parser_prod__AFormaldef__n_annotations_61d(self, p0); +parser_prod__AFormaldef__n_annotations_61d(self, p0); /* Direct call parser_prod#AFormaldef#n_annotations= on */ RET_LABEL:; } /* method parser_prod#AFormaldef#visit_all for (self: AFormaldef, Visitor) */ @@ -4668,66 +5426,30 @@ void parser_prod__AFormaldef__visit_all(val* self, val* p0) { val* var_v /* var v: Visitor */; val* var /* : TClassid */; val* var1 /* : nullable AType */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : nullable AType */; -val* var5 /* : nullable AAnnotations */; -val* var6 /* : null */; -short int var7 /* : Bool */; -val* var8 /* : nullable AAnnotations */; +val* var2 /* : nullable AAnnotations */; var_v = p0; var = self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val; /* _n_id on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 1189); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 776); +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__AFormaldef___n_type].val; /* _n_type on */ -var2 = NULL; -if (var1 == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -if (var3){ -var4 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on */ -if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1191); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var6 = NULL; -if (var5 == NULL) { -var7 = 0; /* is null */ -} else { -var7 = 1; /* arg is null and recv is not */ -} -if (var7){ -var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1194); -exit(1); +var1 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type 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, var8) /* enter_visit on */; -} else { +var2 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } /* method parser_prod#AFormaldef#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__AFormaldef__visit_all(val* self, val* p0) { -parser_prod__AFormaldef__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#ASuperclass#empty_init for (self: ASuperclass) */ -void parser_prod__ASuperclass__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#ASuperclass#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ASuperclass__empty_init(val* self) { -parser_prod__ASuperclass__empty_init(self); +parser_prod__AFormaldef__visit_all(self, p0); /* Direct call parser_prod#AFormaldef#visit_all on */ RET_LABEL:; } /* method parser_prod#ASuperclass#init_asuperclass for (self: ASuperclass, nullable TKwsuper, nullable AType, nullable AAnnotations) */ @@ -4736,49 +5458,92 @@ val* var_n_kwsuper /* var n_kwsuper: nullable TKwsuper */; 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 */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; var_n_kwsuper = p0; var_n_type = p1; var_n_annotations = p2; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperclass__empty_init]))(self) /* empty_init on */; -if (var_n_kwsuper == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1208); -exit(1); +if (unlikely(var_n_kwsuper == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 788); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val = var_n_kwsuper; /* _n_kwsuper on */ if (var_n_kwsuper == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1209); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 789); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_kwsuper->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwsuper, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwsuper,self) on */ +if (unlikely(var_n_kwsuper == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_kwsuper->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (var_n_type == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1210); -exit(1); +} +if (unlikely(var_n_type == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 790); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val = var_n_type; /* _n_type on */ if (var_n_type == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1211); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 791); +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_type,self) on */ +if (unlikely(var_n_type == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_type->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; +} } self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ var = NULL; if (var_n_annotations == NULL) { -var1 = 0; /* is null */ +var3 = 0; /* is null */ } else { -var1 = 1; /* arg is null and recv is not */ +var3 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var) on */ +var_other = var; +{ +var7 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, 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_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL9:(void)0; +} } -if (var1){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; } else { } RET_LABEL:; } /* method parser_prod#ASuperclass#init_asuperclass for (self: Object, nullable TKwsuper, nullable AType, nullable AAnnotations) */ void VIRTUAL_parser_prod__ASuperclass__init_asuperclass(val* self, val* p0, val* p1, val* p2) { -parser_prod__ASuperclass__init_asuperclass(self, p0, p1, p2); +parser_prod__ASuperclass__init_asuperclass(self, p0, p1, p2); /* Direct call parser_prod#ASuperclass#init_asuperclass on */ RET_LABEL:; } /* method parser_prod#ASuperclass#replace_child for (self: ASuperclass, ANode, nullable ANode) */ @@ -4787,129 +5552,171 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : TKwsuper */; 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 /* : AType */; -short int var6 /* : Bool */; -val* var7 /* : null */; -short int var8 /* : Bool */; +const char* var_class_name; +val* var8 /* : AType */; short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : nullable AAnnotations */; -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 */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : nullable AAnnotations */; +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__ASuperclass___n_kwsuper].val; /* _n_kwsuper on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwsuper", "src/parser/parser_prod.nit", 1220); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwsuper"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 798); +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 TKwsuper */ +} +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} +if (var1){ +/* isa TKwsuper */ cltype = type_parser_nodes__TKwsuper.color; idtype = type_parser_nodes__TKwsuper.id; +if(var_new_child == NULL) { +var7 = 0; +} else { if(cltype >= var_new_child->type->table_size) { -var4 = 0; +var7 = 0; } else { -var4 = var_new_child->type->type_table[cltype] == idtype; +var7 = var_new_child->type->type_table[cltype] == idtype; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1223); -exit(1); } -self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val = var_new_child; /* _n_kwsuper on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1226); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwsuper", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 799); +show_backtrace(1); +} +{ +parser_prod__ASuperclass__n_kwsuper_61d(self, var_new_child); /* Direct call parser_prod#ASuperclass#n_kwsuper= on */ } goto RET_LABEL; } else { } -var5 = self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val; /* _n_type on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 1230); -exit(1); +var8 = self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val; /* _n_type on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 802); +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 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; } -if (!var9) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1233); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; } -self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val = var_new_child; /* _n_type on */ +if (var9){ +/* isa AType */ +cltype16 = type_parser_nodes__AType.color; +idtype17 = type_parser_nodes__AType.id; +if(var_new_child == NULL) { +var15 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1236); -exit(1); +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; +} else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; +} +} +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AType", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 803); +show_backtrace(1); +} +{ +parser_prod__ASuperclass__n_type_61d(self, var_new_child); /* Direct call parser_prod#ASuperclass#n_type= on */ } goto RET_LABEL; } else { } -var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var12 == NULL) { -var13 = 0; /* cannot be null */ +var19 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var19 == NULL) { +var20 = 0; /* cannot be null */ } else { -var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, 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 (var13){ -var14 = NULL; -if (var_new_child == NULL) { -var15 = 0; /* is null */ -} else { -var15 = 1; /* arg is null and recv is not */ } -if (var15){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype17 = type_parser_nodes__AAnnotations.color; -idtype18 = type_parser_nodes__AAnnotations.id; -if(cltype17 >= var_new_child->type->table_size) { -var16 = 0; -} else { -var16 = var_new_child->type->type_table[cltype17] == idtype18; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1243); -exit(1); +var20 = var21; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +if (var20){ +/* isa nullable AAnnotations */ +cltype27 = type_nullable_parser_nodes__AAnnotations.color; +idtype28 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var26 = 1; } else { -var19 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var19; /* _n_annotations on */ +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; +} else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; +} +} +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 807); +show_backtrace(1); +} +{ +parser_prod__ASuperclass__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#ASuperclass#n_annotations= on */ } goto RET_LABEL; } else { @@ -4918,7 +5725,7 @@ RET_LABEL:; } /* method parser_prod#ASuperclass#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__ASuperclass__replace_child(val* self, val* p0, val* p1) { -parser_prod__ASuperclass__replace_child(self, p0, p1); +parser_prod__ASuperclass__replace_child(self, p0, p1); /* Direct call parser_prod#ASuperclass#replace_child on */ RET_LABEL:; } /* method parser_prod#ASuperclass#n_kwsuper= for (self: ASuperclass, TKwsuper) */ @@ -4926,12 +5733,17 @@ void parser_prod__ASuperclass__n_kwsuper_61d(val* self, val* p0) { val* var_node /* var node: TKwsuper */; var_node = p0; self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val = var_node; /* _n_kwsuper on */ -((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_LABEL1:(void)0; +} +} RET_LABEL:; } /* method parser_prod#ASuperclass#n_kwsuper= for (self: Object, TKwsuper) */ void VIRTUAL_parser_prod__ASuperclass__n_kwsuper_61d(val* self, val* p0) { -parser_prod__ASuperclass__n_kwsuper_61d(self, p0); +parser_prod__ASuperclass__n_kwsuper_61d(self, p0); /* Direct call parser_prod#ASuperclass#n_kwsuper= on */ RET_LABEL:; } /* method parser_prod#ASuperclass#n_type= for (self: ASuperclass, AType) */ @@ -4939,12 +5751,17 @@ void parser_prod__ASuperclass__n_type_61d(val* self, val* p0) { val* var_node /* var node: AType */; var_node = p0; self->attrs[COLOR_parser_nodes__ASuperclass___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 */; +{ +{ /* 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#ASuperclass#n_type= for (self: Object, AType) */ void VIRTUAL_parser_prod__ASuperclass__n_type_61d(val* self, val* p0) { -parser_prod__ASuperclass__n_type_61d(self, p0); +parser_prod__ASuperclass__n_type_61d(self, p0); /* Direct call parser_prod#ASuperclass#n_type= on */ RET_LABEL:; } /* method parser_prod#ASuperclass#n_annotations= for (self: ASuperclass, nullable AAnnotations) */ @@ -4952,6 +5769,11 @@ void parser_prod__ASuperclass__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; @@ -4960,15 +5782,34 @@ 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#ASuperclass#n_annotations= for (self: Object, nullable AAnnotations) */ void VIRTUAL_parser_prod__ASuperclass__n_annotations_61d(val* self, val* p0) { -parser_prod__ASuperclass__n_annotations_61d(self, p0); +parser_prod__ASuperclass__n_annotations_61d(self, p0); /* Direct call parser_prod#ASuperclass#n_annotations= on */ RET_LABEL:; } /* method parser_prod#ASuperclass#visit_all for (self: ASuperclass, Visitor) */ @@ -4977,97 +5818,93 @@ val* var_v /* var v: Visitor */; val* var /* : TKwsuper */; val* var1 /* : AType */; val* var2 /* : nullable AAnnotations */; -val* var3 /* : null */; -short int var4 /* : Bool */; -val* var5 /* : nullable AAnnotations */; var_v = p0; var = self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val; /* _n_kwsuper on */ -if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwsuper", "src/parser/parser_prod.nit", 1273); -exit(1); +if (unlikely(var == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwsuper"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 831); +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__ASuperclass___n_type].val; /* _n_type on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 1274); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on */; -var2 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var3 = NULL; -if (var2 == NULL) { -var4 = 0; /* is null */ -} else { -var4 = 1; /* arg is null and recv is not */ +var1 = self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val; /* _n_type on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 832); +show_backtrace(1); } -if (var4){ -var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1276); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on */; -} else { +var2 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var2); /* Direct call parser_nodes#Visitor#enter_visit on */ } RET_LABEL:; } /* method parser_prod#ASuperclass#visit_all for (self: Object, Visitor) */ void VIRTUAL_parser_prod__ASuperclass__visit_all(val* self, val* p0) { -parser_prod__ASuperclass__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AAttrPropdef#empty_init for (self: AAttrPropdef) */ -void parser_prod__AAttrPropdef__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AAttrPropdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AAttrPropdef__empty_init(val* self) { -parser_prod__AAttrPropdef__empty_init(self); +parser_prod__ASuperclass__visit_all(self, p0); /* Direct call parser_prod#ASuperclass#visit_all on */ RET_LABEL:; } -/* method parser_prod#AAttrPropdef#init_aattrpropdef for (self: AAttrPropdef, nullable ADoc, nullable AAble, nullable AAble, nullable TKwredef, nullable AVisibility, nullable TKwvar, nullable TAttrid, nullable TId, nullable AType, nullable AAnnotations, nullable AExpr) */ -void parser_prod__AAttrPropdef__init_aattrpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8, val* p9, val* p10) { +/* method parser_prod#AAttrPropdef#init_aattrpropdef for (self: AAttrPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwvar, nullable TId, nullable AType, nullable AExpr, nullable AAnnotations, nullable AExpr) */ +void parser_prod__AAttrPropdef__init_aattrpropdef(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_readable /* var n_readable: nullable AAble */; -val* var_n_writable /* var n_writable: nullable AAble */; val* var_n_kwredef /* var n_kwredef: nullable TKwredef */; val* var_n_visibility /* var n_visibility: nullable AVisibility */; val* var_n_kwvar /* var n_kwvar: nullable TKwvar */; -val* var_n_id /* var n_id: nullable TAttrid */; val* var_n_id2 /* var n_id2: nullable TId */; val* var_n_type /* var n_type: nullable AType */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; val* var_n_expr /* var n_expr: nullable AExpr */; +val* var_n_annotations /* var n_annotations: nullable AAnnotations */; +val* var_n_block /* var n_block: nullable AExpr */; val* var /* : null */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : null */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -val* var6 /* : null */; -short int var7 /* : Bool */; +short int var6 /* : Bool */; val* var8 /* : null */; short int var9 /* : Bool */; -val* var10 /* : null */; -short int var11 /* : Bool */; -val* var12 /* : null */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; short int var13 /* : Bool */; -val* var14 /* : null */; -short int var15 /* : Bool */; -val* var16 /* : null */; -short int var17 /* : Bool */; +short int var14 /* : Bool */; +val* var19 /* : null */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var24 /* : Bool */; +short int var25 /* : Bool */; +val* var27 /* : null */; +short int var28 /* : Bool */; +short int var29 /* : Bool */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var33 /* : Bool */; +val* var35 /* : null */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; +short int var39 /* : Bool */; +short int var40 /* : Bool */; +short int var41 /* : Bool */; +val* var43 /* : null */; +short int var44 /* : Bool */; +short int var45 /* : Bool */; +short int var47 /* : Bool */; +short int var48 /* : Bool */; +short int var49 /* : Bool */; var_n_doc = p0; -var_n_readable = p1; -var_n_writable = p2; -var_n_kwredef = p3; -var_n_visibility = p4; -var_n_kwvar = p5; -var_n_id = p6; -var_n_id2 = p7; -var_n_type = p8; -var_n_annotations = p9; -var_n_expr = p10; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrPropdef__empty_init]))(self) /* empty_init on */; +var_n_kwredef = p1; +var_n_visibility = p2; +var_n_kwvar = p3; +var_n_id2 = p4; +var_n_type = p5; +var_n_expr = p6; +var_n_annotations = p7; +var_n_block = p8; self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on */ var = NULL; if (var_n_doc == NULL) { @@ -5075,125 +5912,247 @@ var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } -if (var1){ -((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on */; -} else { +if (0) { +{ /* Inline kernel#Object#!= (var_n_doc,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_doc->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_doc, var_other) /* == on */; +var4 = var5; } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var_n_readable; /* _n_readable on */ -var2 = NULL; -if (var_n_readable == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -if (var3){ -((void (*)(val*, val*))(var_n_readable->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_readable, self) /* parent= on */; -} else { +var1 = var2; +} +if (var1){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_doc,self) on */ +var_n_doc->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var_n_writable; /* _n_writable on */ -var4 = NULL; -if (var_n_writable == NULL) { -var5 = 0; /* is null */ -} else { -var5 = 1; /* arg is null and recv is not */ } -if (var5){ -((void (*)(val*, val*))(var_n_writable->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_writable, self) /* parent= on */; } else { } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ -var6 = NULL; +self->attrs[COLOR_parser_nodes__APropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ +var8 = NULL; if (var_n_kwredef == NULL) { -var7 = 0; /* is null */ +var9 = 0; /* is null */ } else { -var7 = 1; /* arg is null and recv is not */ +var9 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwredef,var8) on */ +var_other = var8; +{ +var13 = ((short int (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwredef, var_other) /* == on */; +var12 = var13; +} +var14 = !var12; +var10 = var14; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; +} +if (var9){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwredef,self) on */ +var_n_kwredef->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL15:(void)0; +} } -if (var7){ -((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 (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1314); -exit(1); +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 853); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on */ +self->attrs[COLOR_parser_nodes__APropdef___n_visibility].val = var_n_visibility; /* _n_visibility on */ if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1315); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 854); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_visibility,self) on */ +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_kwvar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1316); -exit(1); +var_n_visibility->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL16:(void)0; +} +} +if (unlikely(var_n_kwvar == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 855); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val = var_n_kwvar; /* _n_kwvar on */ if (var_n_kwvar == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1317); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 856); +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 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); } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var_n_id; /* _n_id on */ -var8 = NULL; -if (var_n_id == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 1; /* arg is null and recv is not */ +var_n_kwvar->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL17:(void)0; } -if (var9){ -((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on */; -} else { +} +if (unlikely(var_n_id2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 857); +show_backtrace(1); } self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var_n_id2; /* _n_id2 on */ -var10 = NULL; if (var_n_id2 == NULL) { -var11 = 0; /* is null */ +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 858); +show_backtrace(1); } else { -var11 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_n_id2,self) on */ +if (unlikely(var_n_id2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_id2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL18:(void)0; } -if (var11){ -((void (*)(val*, val*))(var_n_id2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id2, self) /* parent= on */; -} else { } self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var_n_type; /* _n_type on */ -var12 = NULL; +var19 = NULL; if (var_n_type == NULL) { -var13 = 0; /* is null */ +var20 = 0; /* is null */ +} else { +var20 = 1; /* arg is null and recv is not */ +} +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; +} +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; +} +} +} else { +} +self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var_n_expr; /* _n_expr on */ +var27 = NULL; +if (var_n_expr == NULL) { +var28 = 0; /* is null */ } else { -var13 = 1; /* arg is null and recv is not */ +var28 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_expr,var27) on */ +var_other = var27; +{ +var32 = ((short int (*)(val*, val*))(var_n_expr->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_expr, var_other) /* == on */; +var31 = var32; +} +var33 = !var31; +var29 = var33; +goto RET_LABEL30; +RET_LABEL30:(void)0; +} +var28 = var29; +} +if (var28){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_expr,self) on */ +var_n_expr->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL34:(void)0; +} } -if (var13){ -((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on */; } else { } self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var14 = NULL; +var35 = NULL; if (var_n_annotations == NULL) { -var15 = 0; /* is null */ +var36 = 0; /* is null */ } else { -var15 = 1; /* arg is null and recv is not */ +var36 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var35) on */ +var_other = var35; +{ +var40 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var39 = var40; +} +var41 = !var39; +var37 = var41; +goto RET_LABEL38; +RET_LABEL38:(void)0; +} +var36 = var37; +} +if (var36){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL42:(void)0; +} } -if (var15){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; } else { } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var_n_expr; /* _n_expr on */ -var16 = NULL; -if (var_n_expr == NULL) { -var17 = 0; /* is null */ +self->attrs[COLOR_parser_nodes__AAttrPropdef___n_block].val = var_n_block; /* _n_block on */ +var43 = NULL; +if (var_n_block == NULL) { +var44 = 0; /* is null */ } else { -var17 = 1; /* arg is null and recv is not */ +var44 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_block,var43) on */ +var_other = var43; +{ +var48 = ((short int (*)(val*, val*))(var_n_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_block, var_other) /* == on */; +var47 = var48; +} +var49 = !var47; +var45 = var49; +goto RET_LABEL46; +RET_LABEL46:(void)0; +} +var44 = var45; +} +if (var44){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on */ +var_n_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL50:(void)0; +} } -if (var17){ -((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#AAttrPropdef#init_aattrpropdef for (self: Object, nullable ADoc, nullable AAble, nullable AAble, nullable TKwredef, nullable AVisibility, nullable TKwvar, nullable TAttrid, nullable TId, nullable AType, nullable AAnnotations, nullable AExpr) */ -void VIRTUAL_parser_prod__AAttrPropdef__init_aattrpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8, val* p9, val* p10) { -parser_prod__AAttrPropdef__init_aattrpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); +/* method parser_prod#AAttrPropdef#init_aattrpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwvar, nullable TId, nullable AType, nullable AExpr, nullable AAnnotations, nullable AExpr) */ +void VIRTUAL_parser_prod__AAttrPropdef__init_aattrpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8) { +parser_prod__AAttrPropdef__init_aattrpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8); /* Direct call parser_prod#AAttrPropdef#init_aattrpropdef on */ RET_LABEL:; } /* method parser_prod#AAttrPropdef#replace_child for (self: AAttrPropdef, ANode, nullable ANode) */ @@ -5202,473 +6161,495 @@ val* var_old_child /* var old_child: ANode */; val* var_new_child /* var new_child: nullable ANode */; val* var /* : nullable ADoc */; 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 AAble */; -short int var7 /* : Bool */; -val* var8 /* : null */; +const char* var_class_name; +val* var8 /* : nullable TKwredef */; short int var9 /* : Bool */; short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; -val* var14 /* : nullable AAble */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : null */; -val* var22 /* : nullable TKwredef */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : nullable AVisibility */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; short int var23 /* : Bool */; -val* var24 /* : null */; short int var25 /* : Bool */; short int var26 /* : Bool */; int cltype27; int idtype28; -val* var29 /* : null */; -val* var30 /* : AVisibility */; +const char* var_class_name29; +val* var30 /* : TKwvar */; short int var31 /* : Bool */; -val* var32 /* : null */; -short int var33 /* : Bool */; +short int var32 /* : Bool */; short int var34 /* : Bool */; -int cltype35; -int idtype36; -val* var37 /* : TKwvar */; -short int var38 /* : Bool */; -val* var39 /* : null */; -short int var40 /* : Bool */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -val* var44 /* : nullable TAttrid */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +const char* var_class_name40; +val* var41 /* : TId */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; short int var45 /* : Bool */; -val* var46 /* : null */; short int var47 /* : Bool */; short int var48 /* : Bool */; int cltype49; int idtype50; -val* var51 /* : null */; -val* var52 /* : nullable TId */; +const char* var_class_name51; +val* var52 /* : nullable AType */; short int var53 /* : Bool */; -val* var54 /* : null */; -short int var55 /* : Bool */; +short int var54 /* : Bool */; short int var56 /* : Bool */; -int cltype57; -int idtype58; -val* var59 /* : null */; -val* var60 /* : nullable AType */; -short int var61 /* : Bool */; -val* var62 /* : null */; -short int var63 /* : Bool */; +short int var58 /* : Bool */; +short int var59 /* : Bool */; +int cltype60; +int idtype61; +const char* var_class_name62; +val* var63 /* : nullable AExpr */; short int var64 /* : Bool */; -int cltype65; -int idtype66; -val* var67 /* : null */; -val* var68 /* : nullable AAnnotations */; +short int var65 /* : Bool */; +short int var67 /* : Bool */; short int var69 /* : Bool */; -val* var70 /* : null */; -short int var71 /* : Bool */; -short int var72 /* : Bool */; -int cltype73; -int idtype74; -val* var75 /* : null */; -val* var76 /* : nullable AExpr */; -short int var77 /* : Bool */; -val* var78 /* : null */; -short int var79 /* : Bool */; +short int var70 /* : Bool */; +int cltype71; +int idtype72; +const char* var_class_name73; +val* var74 /* : nullable AAnnotations */; +short int var75 /* : Bool */; +short int var76 /* : Bool */; +short int var78 /* : Bool */; short int var80 /* : Bool */; -int cltype81; -int idtype82; -val* var83 /* : null */; +short int var81 /* : Bool */; +int cltype82; +int idtype83; +const char* var_class_name84; +val* var85 /* : nullable AExpr */; +short int var86 /* : Bool */; +short int var87 /* : Bool */; +short int var89 /* : Bool */; +short int var91 /* : Bool */; +short int var92 /* : Bool */; +int cltype93; +int idtype94; +const char* var_class_name95; 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 */; +{ /* 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 nullable ADoc */ +cltype = type_nullable_parser_nodes__ADoc.color; +idtype = type_nullable_parser_nodes__ADoc.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 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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1345); -exit(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 */ +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 ADoc", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 872); +show_backtrace(1); +} +{ +parser_prod__AAttrPropdef__n_doc_61d(self, var_new_child); /* Direct call parser_prod#AAttrPropdef#n_doc= on */ } goto RET_LABEL; } else { } -var6 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on */ -if (var6 == NULL) { -var7 = 0; /* cannot be null */ +var8 = self->attrs[COLOR_parser_nodes__APropdef___n_kwredef].val; /* _n_kwredef 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 */ } -if (var9){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAble */ -cltype11 = type_parser_nodes__AAble.color; -idtype12 = type_parser_nodes__AAble.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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1355); -exit(1); -} -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var_new_child; /* _n_readable on */ -} else { -var13 = NULL; -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var13; /* _n_readable on */ +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -goto RET_LABEL; -} else { +var9 = var10; } -var14 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on */ -if (var14 == NULL) { -var15 = 0; /* cannot be null */ +if (var9){ +/* isa nullable TKwredef */ +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; +if(var_new_child == NULL) { +var15 = 1; } else { -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(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var17 = 1; /* arg is null and recv is not */ +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -if (var17){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAble */ -cltype19 = type_parser_nodes__AAble.color; -idtype20 = type_parser_nodes__AAble.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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1365); -exit(1); +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwredef", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 876); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var_new_child; /* _n_writable on */ -} else { -var21 = NULL; -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var21; /* _n_writable on */ +{ +parser_prod__AAttrPropdef__n_kwredef_61d(self, var_new_child); /* Direct call parser_prod#AAttrPropdef#n_kwredef= on */ } goto RET_LABEL; } else { } -var22 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var22 == NULL) { -var23 = 0; /* cannot be null */ +var19 = self->attrs[COLOR_parser_nodes__APropdef___n_visibility].val; /* _n_visibility on */ +if (var19 == NULL) { +var20 = 0; /* cannot be null */ } else { -var23 = ((short int (*)(val*, val*))(var22->class->vft[COLOR_kernel__Object___61d_61d]))(var22, 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 (var23){ -var24 = NULL; -if (var_new_child == NULL) { -var25 = 0; /* is null */ -} else { -var25 = 1; /* arg is null and recv is not */ } -if (var25){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwredef */ -cltype27 = type_parser_nodes__TKwredef.color; -idtype28 = type_parser_nodes__TKwredef.id; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +var20 = var21; +} +if (var20){ +/* isa AVisibility */ +cltype27 = type_parser_nodes__AVisibility.color; +idtype28 = type_parser_nodes__AVisibility.id; +if(var_new_child == NULL) { +var26 = 0; +} else { if(cltype27 >= var_new_child->type->table_size) { var26 = 0; } else { var26 = var_new_child->type->type_table[cltype27] == idtype28; } -if (!var26) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1375); -exit(1); } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on */ -} else { -var29 = NULL; -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var29; /* _n_kwredef on */ +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AVisibility", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 880); +show_backtrace(1); +} +{ +parser_prod__AAttrPropdef__n_visibility_61d(self, var_new_child); /* Direct call parser_prod#AAttrPropdef#n_visibility= on */ } goto RET_LABEL; } else { } -var30 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val; /* _n_visibility on */ -if (var30 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 1382); -exit(1); +var30 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val; /* _n_kwvar on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwvar"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 883); +show_backtrace(1); } -var31 = ((short int (*)(val*, val*))(var30->class->vft[COLOR_kernel__Object___61d_61d]))(var30, var_old_child) /* == on */; -if (var31){ -var32 = NULL; -if (var_new_child == NULL) { -var33 = 0; /* is null */ -} else { -var33 = 1; /* arg is null and recv is not */ +{ +{ /* 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 (var33){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AVisibility */ -cltype35 = type_parser_nodes__AVisibility.color; -idtype36 = type_parser_nodes__AVisibility.id; -if(cltype35 >= var_new_child->type->table_size) { -var34 = 0; -} else { -var34 = var_new_child->type->type_table[cltype35] == idtype36; } -if (!var34) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1385); -exit(1); +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val = var_new_child; /* _n_visibility on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1388); -exit(1); +var31 = var32; } -goto RET_LABEL; +if (var31){ +/* isa TKwvar */ +cltype38 = type_parser_nodes__TKwvar.color; +idtype39 = type_parser_nodes__TKwvar.id; +if(var_new_child == NULL) { +var37 = 0; } else { -} -var37 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val; /* _n_kwvar on */ -if (var37 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwvar", "src/parser/parser_prod.nit", 1392); -exit(1); -} -var38 = ((short int (*)(val*, val*))(var37->class->vft[COLOR_kernel__Object___61d_61d]))(var37, var_old_child) /* == on */; -if (var38){ -var39 = NULL; -if (var_new_child == NULL) { -var40 = 0; /* is null */ +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -var40 = 1; /* arg is null and recv is not */ +var37 = var_new_child->type->type_table[cltype38] == idtype39; } -if (var40){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwvar */ -cltype42 = type_parser_nodes__TKwvar.color; -idtype43 = type_parser_nodes__TKwvar.id; -if(cltype42 >= var_new_child->type->table_size) { -var41 = 0; -} else { -var41 = var_new_child->type->type_table[cltype42] == idtype43; } -if (!var41) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1395); -exit(1); +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwvar", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 884); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val = var_new_child; /* _n_kwvar on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1398); -exit(1); +{ +parser_prod__AAttrPropdef__n_kwvar_61d(self, var_new_child); /* Direct call parser_prod#AAttrPropdef#n_kwvar= on */ } goto RET_LABEL; } else { } -var44 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on */ -if (var44 == NULL) { -var45 = 0; /* cannot be null */ -} else { -var45 = ((short int (*)(val*, val*))(var44->class->vft[COLOR_kernel__Object___61d_61d]))(var44, var_old_child) /* == on */; +var41 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on */ +if (unlikely(var41 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 887); +show_backtrace(1); } -if (var45){ -var46 = NULL; -if (var_new_child == NULL) { -var47 = 0; /* is null */ -} else { -var47 = 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 (var47){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TAttrid */ -cltype49 = type_parser_nodes__TAttrid.color; -idtype50 = type_parser_nodes__TAttrid.id; +} +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; +} +var42 = var43; +} +if (var42){ +/* isa TId */ +cltype49 = type_parser_nodes__TId.color; +idtype50 = type_parser_nodes__TId.id; +if(var_new_child == NULL) { +var48 = 0; +} else { if(cltype49 >= var_new_child->type->table_size) { var48 = 0; } else { var48 = var_new_child->type->type_table[cltype49] == idtype50; } -if (!var48) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1405); -exit(1); } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var_new_child; /* _n_id on */ -} else { -var51 = NULL; -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var51; /* _n_id on */ +if (unlikely(!var48)) { +var_class_name51 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TId", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 888); +show_backtrace(1); +} +{ +parser_prod__AAttrPropdef__n_id2_61d(self, var_new_child); /* Direct call parser_prod#AAttrPropdef#n_id2= on */ } goto RET_LABEL; } else { } -var52 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on */ +var52 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on */ if (var52 == NULL) { var53 = 0; /* cannot be null */ } else { -var53 = ((short int (*)(val*, val*))(var52->class->vft[COLOR_kernel__Object___61d_61d]))(var52, var_old_child) /* == on */; +{ /* 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 (var53){ -var54 = NULL; -if (var_new_child == NULL) { -var55 = 0; /* is null */ +/* isa nullable AType */ +cltype60 = type_nullable_parser_nodes__AType.color; +idtype61 = type_nullable_parser_nodes__AType.id; +if(var_new_child == NULL) { +var59 = 1; } else { -var55 = 1; /* arg is null and recv is not */ -} -if (var55){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TId */ -cltype57 = type_parser_nodes__TId.color; -idtype58 = type_parser_nodes__TId.id; -if(cltype57 >= var_new_child->type->table_size) { -var56 = 0; +if(cltype60 >= var_new_child->type->table_size) { +var59 = 0; } else { -var56 = var_new_child->type->type_table[cltype57] == idtype58; +var59 = var_new_child->type->type_table[cltype60] == idtype61; } -if (!var56) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1415); -exit(1); } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var_new_child; /* _n_id2 on */ -} else { -var59 = NULL; -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var59; /* _n_id2 on */ +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 AType", var_class_name62); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 892); +show_backtrace(1); +} +{ +parser_prod__AAttrPropdef__n_type_61d(self, var_new_child); /* Direct call parser_prod#AAttrPropdef#n_type= on */ } goto RET_LABEL; } else { } -var60 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on */ -if (var60 == NULL) { -var61 = 0; /* cannot be null */ +var63 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on */ +if (var63 == NULL) { +var64 = 0; /* cannot be null */ } else { -var61 = ((short int (*)(val*, val*))(var60->class->vft[COLOR_kernel__Object___61d_61d]))(var60, var_old_child) /* == on */; +{ /* Inline kernel#Object#== (var63,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var63,var_other) on */ +var69 = var63 == var_other; +var67 = var69; +goto RET_LABEL68; +RET_LABEL68:(void)0; } -if (var61){ -var62 = NULL; -if (var_new_child == NULL) { -var63 = 0; /* is null */ -} else { -var63 = 1; /* arg is null and recv is not */ } -if (var63){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AType */ -cltype65 = type_parser_nodes__AType.color; -idtype66 = type_parser_nodes__AType.id; -if(cltype65 >= var_new_child->type->table_size) { -var64 = 0; -} else { -var64 = var_new_child->type->type_table[cltype65] == idtype66; +var65 = var67; +goto RET_LABEL66; +RET_LABEL66:(void)0; } -if (!var64) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1425); -exit(1); +var64 = var65; } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var_new_child; /* _n_type on */ +if (var64){ +/* isa nullable AExpr */ +cltype71 = type_nullable_parser_nodes__AExpr.color; +idtype72 = type_nullable_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var70 = 1; } else { -var67 = NULL; -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var67; /* _n_type on */ +if(cltype71 >= var_new_child->type->table_size) { +var70 = 0; +} else { +var70 = var_new_child->type->type_table[cltype71] == idtype72; +} +} +if (unlikely(!var70)) { +var_class_name73 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name73); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 896); +show_backtrace(1); +} +{ +parser_prod__AAttrPropdef__n_expr_61d(self, var_new_child); /* Direct call parser_prod#AAttrPropdef#n_expr= on */ } goto RET_LABEL; } else { } -var68 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var68 == NULL) { -var69 = 0; /* cannot be null */ +var74 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var74 == NULL) { +var75 = 0; /* cannot be null */ } else { -var69 = ((short int (*)(val*, val*))(var68->class->vft[COLOR_kernel__Object___61d_61d]))(var68, var_old_child) /* == on */; +{ /* Inline kernel#Object#== (var74,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var74,var_other) on */ +var80 = var74 == var_other; +var78 = var80; +goto RET_LABEL79; +RET_LABEL79:(void)0; } -if (var69){ -var70 = NULL; -if (var_new_child == NULL) { -var71 = 0; /* is null */ -} else { -var71 = 1; /* arg is null and recv is not */ } -if (var71){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AAnnotations */ -cltype73 = type_parser_nodes__AAnnotations.color; -idtype74 = type_parser_nodes__AAnnotations.id; -if(cltype73 >= var_new_child->type->table_size) { -var72 = 0; -} else { -var72 = var_new_child->type->type_table[cltype73] == idtype74; +var76 = var78; +goto RET_LABEL77; +RET_LABEL77:(void)0; } -if (!var72) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1435); -exit(1); +var75 = var76; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +if (var75){ +/* isa nullable AAnnotations */ +cltype82 = type_nullable_parser_nodes__AAnnotations.color; +idtype83 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var81 = 1; +} else { +if(cltype82 >= var_new_child->type->table_size) { +var81 = 0; } else { -var75 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var75; /* _n_annotations on */ +var81 = var_new_child->type->type_table[cltype82] == idtype83; +} +} +if (unlikely(!var81)) { +var_class_name84 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name84); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 900); +show_backtrace(1); +} +{ +parser_prod__AAttrPropdef__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AAttrPropdef#n_annotations= on */ } goto RET_LABEL; } else { } -var76 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on */ -if (var76 == NULL) { -var77 = 0; /* cannot be null */ +var85 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_block].val; /* _n_block on */ +if (var85 == NULL) { +var86 = 0; /* cannot be null */ } else { -var77 = ((short int (*)(val*, val*))(var76->class->vft[COLOR_kernel__Object___61d_61d]))(var76, var_old_child) /* == on */; +{ /* Inline kernel#Object#== (var85,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var85,var_other) on */ +var91 = var85 == var_other; +var89 = var91; +goto RET_LABEL90; +RET_LABEL90:(void)0; } -if (var77){ -var78 = NULL; -if (var_new_child == NULL) { -var79 = 0; /* is null */ -} else { -var79 = 1; /* arg is null and recv is not */ } -if (var79){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype81 = type_parser_nodes__AExpr.color; -idtype82 = type_parser_nodes__AExpr.id; -if(cltype81 >= var_new_child->type->table_size) { -var80 = 0; -} else { -var80 = var_new_child->type->type_table[cltype81] == idtype82; +var87 = var89; +goto RET_LABEL88; +RET_LABEL88:(void)0; } -if (!var80) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1445); -exit(1); +var86 = var87; } -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var_new_child; /* _n_expr on */ +if (var86){ +/* isa nullable AExpr */ +cltype93 = type_nullable_parser_nodes__AExpr.color; +idtype94 = type_nullable_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var92 = 1; +} else { +if(cltype93 >= var_new_child->type->table_size) { +var92 = 0; } else { -var83 = NULL; -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var83; /* _n_expr on */ +var92 = var_new_child->type->type_table[cltype93] == idtype94; +} +} +if (unlikely(!var92)) { +var_class_name95 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name95); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 904); +show_backtrace(1); +} +{ +parser_prod__AAttrPropdef__n_block_61d(self, var_new_child); /* Direct call parser_prod#AAttrPropdef#n_block= on */ } goto RET_LABEL; } else { @@ -5677,7 +6658,7 @@ RET_LABEL:; } /* method parser_prod#AAttrPropdef#replace_child for (self: Object, ANode, nullable ANode) */ void VIRTUAL_parser_prod__AAttrPropdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__AAttrPropdef__replace_child(self, p0, p1); +parser_prod__AAttrPropdef__replace_child(self, p0, p1); /* Direct call parser_prod#AAttrPropdef#replace_child on */ RET_LABEL:; } /* method parser_prod#AAttrPropdef#n_doc= for (self: AAttrPropdef, nullable ADoc) */ @@ -5685,6 +6666,11 @@ void parser_prod__AAttrPropdef__n_doc_61d(val* self, val* p0) { val* var_node /* var node: nullable ADoc */; 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__APropdef___n_doc].val = var_node; /* _n_doc on */ var = NULL; @@ -5693,63 +6679,34 @@ 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#AAttrPropdef#n_doc= for (self: Object, nullable ADoc) */ -void VIRTUAL_parser_prod__AAttrPropdef__n_doc_61d(val* self, val* p0) { -parser_prod__AAttrPropdef__n_doc_61d(self, p0); -RET_LABEL:; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#AAttrPropdef#n_readable= for (self: AAttrPropdef, nullable AAble) */ -void parser_prod__AAttrPropdef__n_readable_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAble */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var_node; /* _n_readable 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 */; -} else { -} -RET_LABEL:; -} -/* method parser_prod#AAttrPropdef#n_readable= for (self: Object, nullable AAble) */ -void VIRTUAL_parser_prod__AAttrPropdef__n_readable_61d(val* self, val* p0) { -parser_prod__AAttrPropdef__n_readable_61d(self, p0); -RET_LABEL:; +{ +{ /* 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#AAttrPropdef#n_writable= for (self: AAttrPropdef, nullable AAble) */ -void parser_prod__AAttrPropdef__n_writable_61d(val* self, val* p0) { -val* var_node /* var node: nullable AAble */; -val* var /* : null */; -short int var1 /* : Bool */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var_node; /* _n_writable 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#AAttrPropdef#n_writable= for (self: Object, nullable AAble) */ -void VIRTUAL_parser_prod__AAttrPropdef__n_writable_61d(val* self, val* p0) { -parser_prod__AAttrPropdef__n_writable_61d(self, p0); +/* method parser_prod#AAttrPropdef#n_doc= for (self: Object, nullable ADoc) */ +void VIRTUAL_parser_prod__AAttrPropdef__n_doc_61d(val* self, val* p0) { +parser_prod__AAttrPropdef__n_doc_61d(self, p0); /* Direct call parser_prod#AAttrPropdef#n_doc= on */ RET_LABEL:; } /* method parser_prod#AAttrPropdef#n_kwredef= for (self: AAttrPropdef, nullable TKwredef) */ @@ -5757,36 +6714,74 @@ void parser_prod__AAttrPropdef__n_kwredef_61d(val* self, val* p0) { val* var_node /* var node: nullable TKwredef */; 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__AAttrPropdef___n_kwredef].val = var_node; /* _n_kwredef on */ +self->attrs[COLOR_parser_nodes__APropdef___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 */ } +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#AAttrPropdef#n_kwredef= for (self: Object, nullable TKwredef) */ void VIRTUAL_parser_prod__AAttrPropdef__n_kwredef_61d(val* self, val* p0) { -parser_prod__AAttrPropdef__n_kwredef_61d(self, p0); +parser_prod__AAttrPropdef__n_kwredef_61d(self, p0); /* Direct call parser_prod#AAttrPropdef#n_kwredef= on */ RET_LABEL:; } -/* method parser_prod#AAttrPropdef#n_visibility= for (self: AAttrPropdef, AVisibility) */ +/* method parser_prod#AAttrPropdef#n_visibility= for (self: AAttrPropdef, nullable AVisibility) */ void parser_prod__AAttrPropdef__n_visibility_61d(val* self, val* p0) { -val* var_node /* var node: AVisibility */; +val* var_node /* var node: nullable AVisibility */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAttrPropdef___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 */; +self->attrs[COLOR_parser_nodes__APropdef___n_visibility].val = var_node; /* _n_visibility on */ +if (var_node == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 922); +show_backtrace(1); +} else { +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +if (unlikely(var_node == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } -/* method parser_prod#AAttrPropdef#n_visibility= for (self: Object, AVisibility) */ +/* method parser_prod#AAttrPropdef#n_visibility= for (self: Object, nullable AVisibility) */ void VIRTUAL_parser_prod__AAttrPropdef__n_visibility_61d(val* self, val* p0) { -parser_prod__AAttrPropdef__n_visibility_61d(self, p0); +parser_prod__AAttrPropdef__n_visibility_61d(self, p0); /* Direct call parser_prod#AAttrPropdef#n_visibility= on */ RET_LABEL:; } /* method parser_prod#AAttrPropdef#n_kwvar= for (self: AAttrPropdef, TKwvar) */ @@ -5794,84 +6789,131 @@ void parser_prod__AAttrPropdef__n_kwvar_61d(val* self, val* p0) { val* var_node /* var node: TKwvar */; var_node = p0; self->attrs[COLOR_parser_nodes__AAttrPropdef___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 */; +{ +{ /* 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#AAttrPropdef#n_kwvar= for (self: Object, TKwvar) */ void VIRTUAL_parser_prod__AAttrPropdef__n_kwvar_61d(val* self, val* p0) { -parser_prod__AAttrPropdef__n_kwvar_61d(self, p0); +parser_prod__AAttrPropdef__n_kwvar_61d(self, p0); /* Direct call parser_prod#AAttrPropdef#n_kwvar= on */ RET_LABEL:; } -/* method parser_prod#AAttrPropdef#n_id= for (self: AAttrPropdef, nullable TAttrid) */ -void parser_prod__AAttrPropdef__n_id_61d(val* self, val* p0) { -val* var_node /* var node: nullable TAttrid */; -val* var /* : null */; -short int var1 /* : Bool */; +/* method parser_prod#AAttrPropdef#n_id2= for (self: AAttrPropdef, TId) */ +void parser_prod__AAttrPropdef__n_id2_61d(val* self, val* p0) { +val* var_node /* var node: TId */; var_node = p0; -self->attrs[COLOR_parser_nodes__AAttrPropdef___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 */ +self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var_node; /* _n_id2 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#AAttrPropdef#n_id= for (self: Object, nullable TAttrid) */ -void VIRTUAL_parser_prod__AAttrPropdef__n_id_61d(val* self, val* p0) { -parser_prod__AAttrPropdef__n_id_61d(self, p0); +/* method parser_prod#AAttrPropdef#n_id2= for (self: Object, TId) */ +void VIRTUAL_parser_prod__AAttrPropdef__n_id2_61d(val* self, val* p0) { +parser_prod__AAttrPropdef__n_id2_61d(self, p0); /* Direct call parser_prod#AAttrPropdef#n_id2= on */ RET_LABEL:; } -/* method parser_prod#AAttrPropdef#n_id2= for (self: AAttrPropdef, nullable TId) */ -void parser_prod__AAttrPropdef__n_id2_61d(val* self, val* p0) { -val* var_node /* var node: nullable TId */; +/* method parser_prod#AAttrPropdef#n_type= for (self: AAttrPropdef, nullable AType) */ +void parser_prod__AAttrPropdef__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__AAttrPropdef___n_id2].val = var_node; /* _n_id2 on */ +self->attrs[COLOR_parser_nodes__AAttrPropdef___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#AAttrPropdef#n_id2= for (self: Object, nullable TId) */ -void VIRTUAL_parser_prod__AAttrPropdef__n_id2_61d(val* self, val* p0) { -parser_prod__AAttrPropdef__n_id2_61d(self, p0); +/* method parser_prod#AAttrPropdef#n_type= for (self: Object, nullable AType) */ +void VIRTUAL_parser_prod__AAttrPropdef__n_type_61d(val* self, val* p0) { +parser_prod__AAttrPropdef__n_type_61d(self, p0); /* Direct call parser_prod#AAttrPropdef#n_type= on */ RET_LABEL:; } -/* method parser_prod#AAttrPropdef#n_type= for (self: AAttrPropdef, nullable AType) */ -void parser_prod__AAttrPropdef__n_type_61d(val* self, val* p0) { -val* var_node /* var node: nullable AType */; +/* method parser_prod#AAttrPropdef#n_expr= for (self: AAttrPropdef, nullable AExpr) */ +void parser_prod__AAttrPropdef__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__AAttrPropdef___n_type].val = var_node; /* _n_type on */ +self->attrs[COLOR_parser_nodes__AAttrPropdef___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){ -((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#AAttrPropdef#n_type= for (self: Object, nullable AType) */ -void VIRTUAL_parser_prod__AAttrPropdef__n_type_61d(val* self, val* p0) { -parser_prod__AAttrPropdef__n_type_61d(self, p0); +/* method parser_prod#AAttrPropdef#n_expr= for (self: Object, nullable AExpr) */ +void VIRTUAL_parser_prod__AAttrPropdef__n_expr_61d(val* self, val* p0) { +parser_prod__AAttrPropdef__n_expr_61d(self, p0); /* Direct call parser_prod#AAttrPropdef#n_expr= on */ RET_LABEL:; } /* method parser_prod#AAttrPropdef#n_annotations= for (self: AAttrPropdef, nullable AAnnotations) */ @@ -5879,6 +6921,11 @@ void parser_prod__AAttrPropdef__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; @@ -5887,4097 +6934,3007 @@ 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#AAttrPropdef#n_annotations= for (self: Object, nullable AAnnotations) */ void VIRTUAL_parser_prod__AAttrPropdef__n_annotations_61d(val* self, val* p0) { -parser_prod__AAttrPropdef__n_annotations_61d(self, p0); +parser_prod__AAttrPropdef__n_annotations_61d(self, p0); /* Direct call parser_prod#AAttrPropdef#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#AAttrPropdef#n_expr= for (self: AAttrPropdef, nullable AExpr) */ -void parser_prod__AAttrPropdef__n_expr_61d(val* self, val* p0) { +/* method parser_prod#AAttrPropdef#n_block= for (self: AAttrPropdef, nullable AExpr) */ +void parser_prod__AAttrPropdef__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__AAttrPropdef___n_expr].val = var_node; /* _n_expr on */ +self->attrs[COLOR_parser_nodes__AAttrPropdef___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#AAttrPropdef#n_expr= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AAttrPropdef__n_expr_61d(val* self, val* p0) { -parser_prod__AAttrPropdef__n_expr_61d(self, p0); +/* method parser_prod#AAttrPropdef#n_block= for (self: Object, nullable AExpr) */ +void VIRTUAL_parser_prod__AAttrPropdef__n_block_61d(val* self, val* p0) { +parser_prod__AAttrPropdef__n_block_61d(self, p0); /* Direct call parser_prod#AAttrPropdef#n_block= on */ RET_LABEL:; } /* method parser_prod#AAttrPropdef#visit_all for (self: AAttrPropdef, Visitor) */ void parser_prod__AAttrPropdef__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 AAble */; -val* var5 /* : null */; -short int var6 /* : Bool */; -val* var7 /* : nullable AAble */; -val* var8 /* : nullable AAble */; -val* var9 /* : null */; -short int var10 /* : Bool */; -val* var11 /* : nullable AAble */; -val* var12 /* : nullable TKwredef */; -val* var13 /* : null */; -short int var14 /* : Bool */; -val* var15 /* : nullable TKwredef */; -val* var16 /* : AVisibility */; -val* var17 /* : TKwvar */; -val* var18 /* : nullable TAttrid */; -val* var19 /* : null */; -short int var20 /* : Bool */; -val* var21 /* : nullable TAttrid */; -val* var22 /* : nullable TId */; -val* var23 /* : null */; -short int var24 /* : Bool */; -val* var25 /* : nullable TId */; -val* var26 /* : nullable AType */; -val* var27 /* : null */; -short int var28 /* : Bool */; -val* var29 /* : nullable AType */; -val* var30 /* : nullable AAnnotations */; -val* var31 /* : null */; -short int var32 /* : Bool */; -val* var33 /* : nullable AAnnotations */; -val* var34 /* : nullable AExpr */; -val* var35 /* : null */; -short int var36 /* : Bool */; -val* var37 /* : nullable AExpr */; +val* var1 /* : nullable TKwredef */; +val* var2 /* : nullable AVisibility */; +val* var3 /* : TKwvar */; +val* var4 /* : TId */; +val* var5 /* : nullable AType */; +val* var6 /* : nullable AExpr */; +val* var7 /* : nullable AAnnotations */; +val* var8 /* : 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 */ -} else { -var2 = 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 (var2){ -var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1532); -exit(1); +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 */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -} else { +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 */ } -var4 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on */ -var5 = NULL; -if (var4 == NULL) { -var6 = 0; /* is null */ -} else { -var6 = 1; /* arg is null and recv is not */ +var3 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val; /* _n_kwvar on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwvar"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 961); +show_backtrace(1); } -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1535); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; -} else { +var4 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 962); +show_backtrace(1); } -var8 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on */ -var9 = NULL; -if (var8 == NULL) { -var10 = 0; /* is null */ -} else { -var10 = 1; /* arg is null and recv is not */ +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var10){ -var11 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on */ -if (var11 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1538); -exit(1); +var5 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on */; -} else { +var6 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var6); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var12 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val; /* _n_kwredef on */ -var13 = NULL; -if (var12 == NULL) { -var14 = 0; /* is null */ -} else { -var14 = 1; /* arg is null and recv is not */ +var7 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var7); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var8 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_block].val; /* _n_block on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var8); /* Direct call parser_nodes#Visitor#enter_visit on */ } -if (var14){ -var15 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var15 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1541); -exit(1); +RET_LABEL:; +} +/* method parser_prod#AAttrPropdef#visit_all for (self: Object, Visitor) */ +void VIRTUAL_parser_prod__AAttrPropdef__visit_all(val* self, val* p0) { +parser_prod__AAttrPropdef__visit_all(self, p0); /* Direct call parser_prod#AAttrPropdef#visit_all on */ +RET_LABEL:; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on */; +/* 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 */; +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_kwredef = p0; +var_n_block = p1; +self->attrs[COLOR_parser_nodes__APropdef___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 */ } -var16 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val; /* _n_visibility on */ -if (var16 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 1543); -exit(1); +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwredef,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwredef, var_other) /* == on */; +var4 = var5; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var16) /* enter_visit on */; -var17 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val; /* _n_kwvar on */ -if (var17 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwvar", "src/parser/parser_prod.nit", 1544); -exit(1); +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var17) /* enter_visit on */; -var18 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on */ -var19 = NULL; -if (var18 == NULL) { -var20 = 0; /* is null */ -} else { -var20 = 1; /* arg is null and recv is not */ -} -if (var20){ -var21 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on */ -if (var21 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1546); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var21) /* enter_visit on */; -} else { -} -var22 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on */ -var23 = NULL; -if (var22 == NULL) { -var24 = 0; /* is null */ -} else { -var24 = 1; /* arg is null and recv is not */ -} -if (var24){ -var25 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on */ -if (var25 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1549); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var25) /* enter_visit on */; -} else { -} -var26 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on */ -var27 = NULL; -if (var26 == NULL) { -var28 = 0; /* is null */ -} else { -var28 = 1; /* arg is null and recv is not */ -} -if (var28){ -var29 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on */ -if (var29 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1552); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var29) /* enter_visit on */; -} else { -} -var30 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -var31 = NULL; -if (var30 == NULL) { -var32 = 0; /* is null */ -} else { -var32 = 1; /* arg is null and recv is not */ -} -if (var32){ -var33 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var33 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1555); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var33) /* enter_visit on */; -} else { -} -var34 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on */ -var35 = NULL; -if (var34 == NULL) { -var36 = 0; /* is null */ -} else { -var36 = 1; /* arg is null and recv is not */ -} -if (var36){ -var37 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on */ -if (var37 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1558); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var37) /* enter_visit on */; -} else { -} -RET_LABEL:; -} -/* method parser_prod#AAttrPropdef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AAttrPropdef__visit_all(val* self, val* p0) { -parser_prod__AAttrPropdef__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#empty_init for (self: AMethPropdef) */ -void parser_prod__AMethPropdef__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AMethPropdef__empty_init(val* self) { -parser_prod__AMethPropdef__empty_init(self); -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#init_amethpropdef for (self: AMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AMethid, nullable ASignature) */ -void parser_prod__AMethPropdef__init_amethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { -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_methid /* var n_methid: nullable AMethid */; -val* var_n_signature /* var n_signature: nullable ASignature */; -val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -var_n_doc = p0; -var_n_kwredef = p1; -var_n_visibility = p2; -var_n_methid = p3; -var_n_signature = p4; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMethPropdef__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 */ -} -if (var1){ -((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on */; -} 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 */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -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 (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1582); -exit(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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1583); -exit(1); -} else { -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; -} -if (var_n_methid == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1584); -exit(1); -} -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on */ -if (var_n_methid == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1585); -exit(1); -} else { -((void (*)(val*, val*))(var_n_methid->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_methid, self) /* parent= on */; -} -if (var_n_signature == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1586); -exit(1); -} -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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1587); -exit(1); -} else { -((void (*)(val*, val*))(var_n_signature->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_signature, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#init_amethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AMethid, nullable ASignature) */ -void VIRTUAL_parser_prod__AMethPropdef__init_amethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { -parser_prod__AMethPropdef__init_amethpropdef(self, p0, p1, p2, p3, p4); -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#replace_child for (self: AMethPropdef, ANode, nullable ANode) */ -void parser_prod__AMethPropdef__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 */; -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 /* : nullable AMethid */; -short int var22 /* : Bool */; -val* var23 /* : null */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : nullable ASignature */; -short int var29 /* : Bool */; -val* var30 /* : null */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -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 */ -} -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; -} -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1595); -exit(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 */ -} -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 */; -} -if (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 1; /* arg is null and recv is not */ -} -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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1605); -exit(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 */ -} -goto RET_LABEL; -} else { -} -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 */; -} -if (var15){ -var16 = NULL; -if (var_new_child == NULL) { -var17 = 0; /* is null */ -} else { -var17 = 1; /* arg is null and recv is not */ -} -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; -} -if (!var18) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1615); -exit(1); -} -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1618); -exit(1); -} -goto RET_LABEL; -} else { -} -var21 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ -if (var21 == NULL) { -var22 = 0; /* cannot be null */ -} 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 */ -} else { -var24 = 1; /* arg is null and recv is not */ -} -if (var24){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AMethid */ -cltype26 = type_parser_nodes__AMethid.color; -idtype27 = type_parser_nodes__AMethid.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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1625); -exit(1); -} -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1628); -exit(1); -} -goto RET_LABEL; -} else { -} -var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature 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 */; -} -if (var29){ -var30 = NULL; -if (var_new_child == NULL) { -var31 = 0; /* is null */ -} else { -var31 = 1; /* arg is null and recv is not */ -} -if (var31){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa ASignature */ -cltype33 = type_parser_nodes__ASignature.color; -idtype34 = type_parser_nodes__ASignature.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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1635); -exit(1); -} -self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1638); -exit(1); -} -goto RET_LABEL; -} else { -} -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AMethPropdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__AMethPropdef__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#n_doc= for (self: AMethPropdef, nullable ADoc) */ -void parser_prod__AMethPropdef__n_doc_61d(val* self, val* p0) { -val* var_node /* var node: nullable ADoc */; -val* var /* : null */; -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 */ -} -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#AMethPropdef#n_doc= for (self: Object, nullable ADoc) */ -void VIRTUAL_parser_prod__AMethPropdef__n_doc_61d(val* self, val* p0) { -parser_prod__AMethPropdef__n_doc_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#n_kwredef= for (self: AMethPropdef, nullable TKwredef) */ -void parser_prod__AMethPropdef__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 */ -} -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#AMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */ -void VIRTUAL_parser_prod__AMethPropdef__n_kwredef_61d(val* self, val* p0) { -parser_prod__AMethPropdef__n_kwredef_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#n_visibility= for (self: AMethPropdef, nullable AVisibility) */ -void parser_prod__AMethPropdef__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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1661); -exit(1); -} else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */ -void VIRTUAL_parser_prod__AMethPropdef__n_visibility_61d(val* self, val* p0) { -parser_prod__AMethPropdef__n_visibility_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#n_methid= for (self: AMethPropdef, nullable AMethid) */ -void parser_prod__AMethPropdef__n_methid_61d(val* self, val* p0) { -val* var_node /* var node: nullable AMethid */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on */ -if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1666); -exit(1); -} else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#n_methid= for (self: Object, nullable AMethid) */ -void VIRTUAL_parser_prod__AMethPropdef__n_methid_61d(val* self, val* p0) { -parser_prod__AMethPropdef__n_methid_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#n_signature= for (self: AMethPropdef, nullable ASignature) */ -void parser_prod__AMethPropdef__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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1671); -exit(1); -} else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#AMethPropdef#n_signature= for (self: Object, nullable ASignature) */ -void VIRTUAL_parser_prod__AMethPropdef__n_signature_61d(val* self, val* p0) { -parser_prod__AMethPropdef__n_signature_61d(self, p0); -RET_LABEL:; -} -/* 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 */; -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 /* : nullable AMethid */; -val* var10 /* : nullable ASignature */; -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 (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1678); -exit(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 */ -} -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1681); -exit(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__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__AMethPropdef___n_methid].val; /* _n_methid on */ -((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_signature].val; /* _n_signature on */ -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on */; -RET_LABEL:; -} -/* 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); -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#empty_init for (self: ADeferredMethPropdef) */ -void parser_prod__ADeferredMethPropdef__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__ADeferredMethPropdef__empty_init(val* self) { -parser_prod__ADeferredMethPropdef__empty_init(self); -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#init_adeferredmethpropdef for (self: ADeferredMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable AAnnotations) */ -void parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(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_kwmeth /* var n_kwmeth: nullable TKwmeth */; -val* var_n_methid /* var n_methid: nullable AMethid */; -val* var_n_signature /* var n_signature: nullable ASignature */; -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_kwmeth = p3; -var_n_methid = p4; -var_n_signature = p5; -var_n_annotations = p6; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__ADeferredMethPropdef__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 */ -} -if (var1){ -((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on */; -} 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 */ -} else { -var3 = 1; /* arg is null and recv is not */ -} -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 (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1710); -exit(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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1711); -exit(1); -} else { -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; -} -if (var_n_kwmeth == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1712); -exit(1); -} -self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on */ -if (var_n_kwmeth == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1713); -exit(1); -} else { -((void (*)(val*, val*))(var_n_kwmeth->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwmeth, self) /* parent= on */; -} -if (var_n_methid == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1714); -exit(1); -} -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on */ -if (var_n_methid == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1715); -exit(1); -} else { -((void (*)(val*, val*))(var_n_methid->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_methid, self) /* parent= on */; -} -if (var_n_signature == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1716); -exit(1); -} -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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1717); -exit(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__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#ADeferredMethPropdef#init_adeferredmethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6) { -parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(self, p0, p1, p2, p3, p4, p5, p6); -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#replace_child for (self: ADeferredMethPropdef, ANode, nullable ANode) */ -void parser_prod__ADeferredMethPropdef__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 */; -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 /* : TKwmeth */; -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 /* : nullable ASignature */; -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 */; -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 */ -} -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; -} -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1729); -exit(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 */ -} -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 */; -} -if (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 1; /* arg is null and recv is not */ -} -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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1739); -exit(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 */ -} -goto RET_LABEL; -} else { -} -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 */; -} -if (var15){ -var16 = NULL; -if (var_new_child == NULL) { -var17 = 0; /* is null */ -} else { -var17 = 1; /* arg is null and recv is not */ -} -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; -} -if (!var18) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1749); -exit(1); -} -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1752); -exit(1); -} -goto RET_LABEL; -} else { -} -var21 = self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val; /* _n_kwmeth on */ -if (var21 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmeth", "src/parser/parser_prod.nit", 1756); -exit(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 */ -} -if (var24){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwmeth */ -cltype26 = type_parser_nodes__TKwmeth.color; -idtype27 = type_parser_nodes__TKwmeth.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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1759); -exit(1); -} -self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1762); -exit(1); -} -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 */; -} -if (var29){ -var30 = NULL; -if (var_new_child == NULL) { -var31 = 0; /* is null */ -} else { -var31 = 1; /* arg is null and recv is not */ -} -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; -} else { -var32 = var_new_child->type->type_table[cltype33] == idtype34; -} -if (!var32) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1769); -exit(1); -} -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1772); -exit(1); -} -goto RET_LABEL; -} else { -} -var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -if (var35 == NULL) { -var36 = 0; /* cannot be null */ -} else { -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 ASignature */ -cltype40 = type_parser_nodes__ASignature.color; -idtype41 = type_parser_nodes__ASignature.id; -if(cltype40 >= var_new_child->type->table_size) { -var39 = 0; -} else { -var39 = var_new_child->type->type_table[cltype40] == idtype41; -} -if (!var39) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1779); -exit(1); -} -self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1782); -exit(1); -} -goto RET_LABEL; -} else { -} -var42 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var42 == NULL) { -var43 = 0; /* cannot be null */ -} 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 */ -} else { -var45 = 1; /* arg is null and recv is not */ -} -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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1789); -exit(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 */ -} -goto RET_LABEL; -} else { -} -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__ADeferredMethPropdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__ADeferredMethPropdef__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#n_doc= for (self: ADeferredMethPropdef, nullable ADoc) */ -void parser_prod__ADeferredMethPropdef__n_doc_61d(val* self, val* p0) { -val* var_node /* var node: nullable ADoc */; -val* var /* : null */; -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 */ -} -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#ADeferredMethPropdef#n_doc= for (self: Object, nullable ADoc) */ -void VIRTUAL_parser_prod__ADeferredMethPropdef__n_doc_61d(val* self, val* p0) { -parser_prod__ADeferredMethPropdef__n_doc_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#n_kwredef= for (self: ADeferredMethPropdef, nullable TKwredef) */ -void parser_prod__ADeferredMethPropdef__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 */ -} -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#ADeferredMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */ -void VIRTUAL_parser_prod__ADeferredMethPropdef__n_kwredef_61d(val* self, val* p0) { -parser_prod__ADeferredMethPropdef__n_kwredef_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#n_visibility= for (self: ADeferredMethPropdef, nullable AVisibility) */ -void parser_prod__ADeferredMethPropdef__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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1815); -exit(1); -} else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */ -void VIRTUAL_parser_prod__ADeferredMethPropdef__n_visibility_61d(val* self, val* p0) { -parser_prod__ADeferredMethPropdef__n_visibility_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#n_kwmeth= for (self: ADeferredMethPropdef, TKwmeth) */ -void parser_prod__ADeferredMethPropdef__n_kwmeth_61d(val* self, val* p0) { -val* var_node /* var node: TKwmeth */; -var_node = p0; -self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#n_kwmeth= for (self: Object, TKwmeth) */ -void VIRTUAL_parser_prod__ADeferredMethPropdef__n_kwmeth_61d(val* self, val* p0) { -parser_prod__ADeferredMethPropdef__n_kwmeth_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#n_methid= for (self: ADeferredMethPropdef, nullable AMethid) */ -void parser_prod__ADeferredMethPropdef__n_methid_61d(val* self, val* p0) { -val* var_node /* var node: nullable AMethid */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on */ -if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1825); -exit(1); -} else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#n_methid= for (self: Object, nullable AMethid) */ -void VIRTUAL_parser_prod__ADeferredMethPropdef__n_methid_61d(val* self, val* p0) { -parser_prod__ADeferredMethPropdef__n_methid_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#n_signature= for (self: ADeferredMethPropdef, nullable ASignature) */ -void parser_prod__ADeferredMethPropdef__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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1830); -exit(1); -} else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#n_signature= for (self: Object, nullable ASignature) */ -void VIRTUAL_parser_prod__ADeferredMethPropdef__n_signature_61d(val* self, val* p0) { -parser_prod__ADeferredMethPropdef__n_signature_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#n_annotations= for (self: ADeferredMethPropdef, nullable AAnnotations) */ -void parser_prod__ADeferredMethPropdef__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 */ -} -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#ADeferredMethPropdef#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__ADeferredMethPropdef__n_annotations_61d(val* self, val* p0) { -parser_prod__ADeferredMethPropdef__n_annotations_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#ADeferredMethPropdef#visit_all for (self: ADeferredMethPropdef, Visitor) */ -void parser_prod__ADeferredMethPropdef__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 /* : TKwmeth */; -val* var10 /* : nullable AMethid */; -val* var11 /* : nullable ASignature */; -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 (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1844); -exit(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 */ -} -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1847); -exit(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__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__ADeferredMethPropdef___n_kwmeth].val; /* _n_kwmeth on */ -if (var9 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmeth", "src/parser/parser_prod.nit", 1850); -exit(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__AMethPropdef___n_methid].val; /* _n_methid on */ -((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__AMethPropdef___n_signature].val; /* _n_signature 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 */ -} 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 (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1854); -exit(1); -} -((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#ADeferredMethPropdef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__ADeferredMethPropdef__visit_all(val* self, val* p0) { -parser_prod__ADeferredMethPropdef__visit_all(self, p0); -RET_LABEL:; -} -/* method parser_prod#AInternMethPropdef#empty_init for (self: AInternMethPropdef) */ -void parser_prod__AInternMethPropdef__empty_init(val* self) { -RET_LABEL:; -} -/* method parser_prod#AInternMethPropdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AInternMethPropdef__empty_init(val* self) { -parser_prod__AInternMethPropdef__empty_init(self); -RET_LABEL:; -} -/* method parser_prod#AInternMethPropdef#init_ainternmethpropdef for (self: AInternMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature) */ -void parser_prod__AInternMethPropdef__init_ainternmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -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_kwmeth /* var n_kwmeth: nullable TKwmeth */; -val* var_n_methid /* var n_methid: nullable AMethid */; -val* var_n_signature /* var n_signature: nullable ASignature */; -val* var /* : null */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -var_n_doc = p0; -var_n_kwredef = p1; -var_n_visibility = p2; -var_n_kwmeth = p3; -var_n_methid = p4; -var_n_signature = p5; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInternMethPropdef__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 */ +var1 = var2; } if (var1){ -((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on */; -} else { +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwredef,self) on */ +var_n_kwredef->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; } -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 */ -} else { -var3 = 1; /* arg is null and recv is not */ } -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 (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1879); -exit(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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1880); -exit(1); +self->attrs[COLOR_parser_nodes__AMethPropdef___n_block].val = var_n_block; /* _n_block on */ +var8 = NULL; +if (var_n_block == NULL) { +var9 = 0; /* is null */ } else { -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; +var9 = 1; /* arg is null and recv is not */ } -if (var_n_kwmeth == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1881); -exit(1); +if (0) { +{ /* Inline kernel#Object#!= (var_n_block,var8) on */ +var_other = var8; +{ +var13 = ((short int (*)(val*, val*))(var_n_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_block, var_other) /* == on */; +var12 = var13; } -self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on */ -if (var_n_kwmeth == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1882); -exit(1); -} else { -((void (*)(val*, val*))(var_n_kwmeth->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwmeth, self) /* parent= on */; +var14 = !var12; +var10 = var14; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -if (var_n_methid == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1883); -exit(1); +var9 = var10; } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on */ -if (var_n_methid == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1884); -exit(1); -} else { -((void (*)(val*, val*))(var_n_methid->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_methid, self) /* parent= on */; +if (var9){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on */ +var_n_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL15:(void)0; } -if (var_n_signature == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1885); -exit(1); } -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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1886); -exit(1); } else { -((void (*)(val*, val*))(var_n_signature->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_signature, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AInternMethPropdef#init_ainternmethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature) */ -void VIRTUAL_parser_prod__AInternMethPropdef__init_ainternmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) { -parser_prod__AInternMethPropdef__init_ainternmethpropdef(self, p0, p1, p2, p3, p4, p5); +/* 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); /* Direct call parser_prod#AMainMethPropdef#init_amainmethpropdef on */ RET_LABEL:; } -/* method parser_prod#AInternMethPropdef#replace_child for (self: AInternMethPropdef, ANode, nullable ANode) */ -void parser_prod__AInternMethPropdef__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AMainMethPropdef#replace_child for (self: AMainMethPropdef, ANode, nullable ANode) */ +void parser_prod__AMainMethPropdef__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 /* : nullable TKwredef */; 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 */; +const char* var_class_name; +val* var8 /* : nullable AExpr */; short int var9 /* : Bool */; short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; -val* var14 /* : nullable AVisibility */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : TKwmeth */; -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 /* : nullable ASignature */; -short int var36 /* : Bool */; -val* var37 /* : null */; -short int var38 /* : Bool */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; +int cltype16; +int idtype17; +const char* var_class_name18; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ +var = self->attrs[COLOR_parser_nodes__APropdef___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 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; -} -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1894); -exit(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 */ -} -goto RET_LABEL; -} 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; } -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 */; -} -if (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 1; /* arg is null and recv is not */ -} -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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1904); -exit(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 */ -} -goto RET_LABEL; -} else { -} -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 */; -} -if (var15){ -var16 = NULL; -if (var_new_child == NULL) { -var17 = 0; /* is null */ -} else { -var17 = 1; /* arg is null and recv is not */ } -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; -} -if (!var18) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1914); -exit(1); +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1917); -exit(1); +var1 = var2; } -goto RET_LABEL; +if (var1){ +/* isa nullable TKwredef */ +cltype = type_nullable_parser_nodes__TKwredef.color; +idtype = type_nullable_parser_nodes__TKwredef.id; +if(var_new_child == NULL) { +var7 = 1; } else { -} -var21 = self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val; /* _n_kwmeth on */ -if (var21 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmeth", "src/parser/parser_prod.nit", 1921); -exit(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 */ +if(cltype >= var_new_child->type->table_size) { +var7 = 0; } else { -var24 = 1; /* arg is null and recv is not */ +var7 = 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 TKwmeth */ -cltype26 = type_parser_nodes__TKwmeth.color; -idtype27 = type_parser_nodes__TKwmeth.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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1924); -exit(1); +if (unlikely(!var7)) { +var_class_name = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwredef", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 984); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1927); -exit(1); +{ +parser_prod__AMainMethPropdef__n_kwredef_61d(self, var_new_child); /* Direct call parser_prod#AMainMethPropdef#n_kwredef= on */ } 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 */; -} -if (var29){ -var30 = NULL; -if (var_new_child == NULL) { -var31 = 0; /* is null */ -} else { -var31 = 1; /* arg is null and recv is not */ -} -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; +var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_block].val; /* _n_block on */ +if (var8 == NULL) { +var9 = 0; /* cannot be null */ } else { -var32 = var_new_child->type->type_table[cltype33] == idtype34; +{ /* 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 (!var32) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1934); -exit(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1937); -exit(1); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -goto RET_LABEL; -} else { +var9 = var10; } -var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -if (var35 == NULL) { -var36 = 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 { -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 */ +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { -var38 = 1; /* arg is null and recv is not */ +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -if (var38){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa ASignature */ -cltype40 = type_parser_nodes__ASignature.color; -idtype41 = type_parser_nodes__ASignature.id; -if(cltype40 >= var_new_child->type->table_size) { -var39 = 0; -} else { -var39 = var_new_child->type->type_table[cltype40] == idtype41; } -if (!var39) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1944); -exit(1); +if (unlikely(!var15)) { +var_class_name18 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 988); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1947); -exit(1); +{ +parser_prod__AMainMethPropdef__n_block_61d(self, var_new_child); /* Direct call parser_prod#AMainMethPropdef#n_block= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AInternMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AInternMethPropdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__AInternMethPropdef__replace_child(self, p0, p1); -RET_LABEL:; -} -/* method parser_prod#AInternMethPropdef#n_doc= for (self: AInternMethPropdef, nullable ADoc) */ -void parser_prod__AInternMethPropdef__n_doc_61d(val* self, val* p0) { -val* var_node /* var node: nullable ADoc */; -val* var /* : null */; -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 */ -} -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#AInternMethPropdef#n_doc= for (self: Object, nullable ADoc) */ -void VIRTUAL_parser_prod__AInternMethPropdef__n_doc_61d(val* self, val* p0) { -parser_prod__AInternMethPropdef__n_doc_61d(self, p0); +/* 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); /* Direct call parser_prod#AMainMethPropdef#replace_child on */ RET_LABEL:; } -/* method parser_prod#AInternMethPropdef#n_kwredef= for (self: AInternMethPropdef, nullable TKwredef) */ -void parser_prod__AInternMethPropdef__n_kwredef_61d(val* self, val* p0) { +/* 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 */; +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__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on */ +self->attrs[COLOR_parser_nodes__APropdef___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 */ } -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#AInternMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */ -void VIRTUAL_parser_prod__AInternMethPropdef__n_kwredef_61d(val* self, val* p0) { -parser_prod__AInternMethPropdef__n_kwredef_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AInternMethPropdef#n_visibility= for (self: AInternMethPropdef, nullable AVisibility) */ -void parser_prod__AInternMethPropdef__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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1970); -exit(1); -} else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} -RET_LABEL:; -} -/* method parser_prod#AInternMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */ -void VIRTUAL_parser_prod__AInternMethPropdef__n_visibility_61d(val* self, val* p0) { -parser_prod__AInternMethPropdef__n_visibility_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AInternMethPropdef#n_kwmeth= for (self: AInternMethPropdef, TKwmeth) */ -void parser_prod__AInternMethPropdef__n_kwmeth_61d(val* self, val* p0) { -val* var_node /* var node: TKwmeth */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -RET_LABEL:; -} -/* method parser_prod#AInternMethPropdef#n_kwmeth= for (self: Object, TKwmeth) */ -void VIRTUAL_parser_prod__AInternMethPropdef__n_kwmeth_61d(val* self, val* p0) { -parser_prod__AInternMethPropdef__n_kwmeth_61d(self, p0); -RET_LABEL:; -} -/* method parser_prod#AInternMethPropdef#n_methid= for (self: AInternMethPropdef, nullable AMethid) */ -void parser_prod__AInternMethPropdef__n_methid_61d(val* self, val* p0) { -val* var_node /* var node: nullable AMethid */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on */ -if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1980); -exit(1); -} else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; } -RET_LABEL:; +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; } -/* method parser_prod#AInternMethPropdef#n_methid= for (self: Object, nullable AMethid) */ -void VIRTUAL_parser_prod__AInternMethPropdef__n_methid_61d(val* self, val* p0) { -parser_prod__AInternMethPropdef__n_methid_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AInternMethPropdef#n_signature= for (self: AInternMethPropdef, nullable ASignature) */ -void parser_prod__AInternMethPropdef__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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1985); -exit(1); } else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; } RET_LABEL:; } -/* method parser_prod#AInternMethPropdef#n_signature= for (self: Object, nullable ASignature) */ -void VIRTUAL_parser_prod__AInternMethPropdef__n_signature_61d(val* self, val* p0) { -parser_prod__AInternMethPropdef__n_signature_61d(self, p0); +/* 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); /* Direct call parser_prod#AMainMethPropdef#n_kwredef= on */ RET_LABEL:; } -/* method parser_prod#AInternMethPropdef#visit_all for (self: AInternMethPropdef, Visitor) */ -void parser_prod__AInternMethPropdef__visit_all(val* self, val* p0) { -val* var_v /* var v: Visitor */; -val* var /* : nullable ADoc */; -val* var1 /* : null */; +/* 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 */; 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 var5 /* : Bool */; short int var6 /* : Bool */; -val* var7 /* : nullable TKwredef */; -val* var8 /* : nullable AVisibility */; -val* var9 /* : TKwmeth */; -val* var10 /* : nullable AMethid */; -val* var11 /* : nullable ASignature */; -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 */ +var_node = p0; +self->attrs[COLOR_parser_nodes__AMethPropdef___n_block].val = var_node; /* _n_block on */ +var = NULL; +if (var_node == 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__APropdef___n_doc].val; /* _n_doc on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1992); -exit(1); +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; -} else { +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -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 */ +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 (var6){ -var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1995); -exit(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__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__AInternMethPropdef___n_kwmeth].val; /* _n_kwmeth on */ -if (var9 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmeth", "src/parser/parser_prod.nit", 1998); -exit(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__AMethPropdef___n_methid].val; /* _n_methid on */ -((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__AMethPropdef___n_signature].val; /* _n_signature on */ -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on */; RET_LABEL:; } -/* method parser_prod#AInternMethPropdef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AInternMethPropdef__visit_all(val* self, val* p0) { -parser_prod__AInternMethPropdef__visit_all(self, p0); +/* 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); /* Direct call parser_prod#AMainMethPropdef#n_block= on */ RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#empty_init for (self: AExternMethPropdef) */ -void parser_prod__AExternMethPropdef__empty_init(val* self) { +/* 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 /* : nullable AExpr */; +var_v = p0; +var = self->attrs[COLOR_parser_nodes__APropdef___n_kwredef].val; /* _n_kwredef on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ +} +var1 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_block].val; /* _n_block on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var1); /* Direct call parser_nodes#Visitor#enter_visit on */ +} RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AExternMethPropdef__empty_init(val* self) { -parser_prod__AExternMethPropdef__empty_init(self); +/* 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); /* Direct call parser_prod#AMainMethPropdef#visit_all on */ RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#init_aexternmethpropdef for (self: AExternMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable TString, nullable AExternCalls, nullable AExternCodeBlock) */ -void parser_prod__AExternMethPropdef__init_aexternmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8) { +/* 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_kwmeth /* var n_kwmeth: nullable TKwmeth */; -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_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 var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -val* var6 /* : null */; -short int var7 /* : 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 */; +val* var20 /* : null */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; +short int var24 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; var_n_doc = p0; var_n_kwredef = p1; var_n_visibility = p2; -var_n_kwmeth = 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__AExternMethPropdef__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on */ +var_n_kwtype = p3; +var_n_id = p4; +var_n_type = p5; +var_n_annotations = p6; +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 */ } +if (0) { +{ /* Inline kernel#Object#!= (var_n_doc,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_doc->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_doc, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +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 */; +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_doc,self) on */ +var_n_doc->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; +} +} } else { } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ -var2 = NULL; +self->attrs[COLOR_parser_nodes__APropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ +var8 = NULL; if (var_n_kwredef == NULL) { -var3 = 0; /* is null */ +var9 = 0; /* is null */ } else { -var3 = 1; /* arg is null and recv is not */ +var9 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwredef,var8) on */ +var_other = var8; +{ +var13 = ((short int (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwredef, var_other) /* == on */; +var12 = var13; +} +var14 = !var12; +var10 = var14; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; +} +if (var9){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwredef,self) on */ +var_n_kwredef->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL15:(void)0; +} } -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 (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2027); -exit(1); +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1026); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on */ +self->attrs[COLOR_parser_nodes__APropdef___n_visibility].val = var_n_visibility; /* _n_visibility on */ if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2028); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1027); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_visibility,self) on */ +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_kwmeth == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2029); -exit(1); +var_n_visibility->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL16:(void)0; } -self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on */ -if (var_n_kwmeth == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2030); -exit(1); -} else { -((void (*)(val*, val*))(var_n_kwmeth->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwmeth, self) /* parent= on */; } -if (var_n_methid == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2031); -exit(1); +if (unlikely(var_n_kwtype == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1028); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on */ -if (var_n_methid == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2032); -exit(1); +self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwtype].val = var_n_kwtype; /* _n_kwtype on */ +if (var_n_kwtype == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1029); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_methid->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_methid, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_kwtype,self) on */ +if (unlikely(var_n_kwtype == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_signature == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2033); -exit(1); +var_n_kwtype->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL17:(void)0; } -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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2034); -exit(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 */ -var4 = NULL; -if (var_n_extern == NULL) { -var5 = 0; /* is null */ -} else { -var5 = 1; /* arg is null and recv is not */ +if (unlikely(var_n_id == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1030); +show_backtrace(1); } -if (var5){ -((void (*)(val*, val*))(var_n_extern->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_extern, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ATypePropdef___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", 1031); +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); } -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_n_extern_calls; /* _n_extern_calls on */ -var6 = NULL; -if (var_n_extern_calls == NULL) { -var7 = 0; /* is null */ -} else { -var7 = 1; /* arg is null and recv is not */ +var_n_id->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL18:(void)0; +} +} +if (unlikely(var_n_type == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1032); +show_backtrace(1); } -if (var7){ -((void (*)(val*, val*))(var_n_extern_calls->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_extern_calls, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ATypePropdef___n_type].val = var_n_type; /* _n_type on */ +if (var_n_type == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1033); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_n_type,self) on */ +if (unlikely(var_n_type == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_n_extern_code_block; /* _n_extern_code_block on */ -var8 = NULL; -if (var_n_extern_code_block == NULL) { -var9 = 0; /* is null */ +var_n_type->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL19:(void)0; +} +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var20 = NULL; +if (var_n_annotations == NULL) { +var21 = 0; /* is null */ } else { -var9 = 1; /* arg is null and recv is not */ +var21 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var20) on */ +var_other = var20; +{ +var25 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var24 = var25; +} +var26 = !var24; +var22 = var26; +goto RET_LABEL23; +RET_LABEL23:(void)0; +} +var21 = var22; +} +if (var21){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL27:(void)0; +} } -if (var9){ -((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#AExternMethPropdef#init_aexternmethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable TString, nullable AExternCalls, nullable AExternCodeBlock) */ -void VIRTUAL_parser_prod__AExternMethPropdef__init_aexternmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8) { -parser_prod__AExternMethPropdef__init_aexternmethpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8); +/* 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); /* Direct call parser_prod#ATypePropdef#init_atypepropdef on */ RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#replace_child for (self: AExternMethPropdef, ANode, nullable ANode) */ -void parser_prod__AExternMethPropdef__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#ATypePropdef#replace_child for (self: ATypePropdef, ANode, nullable ANode) */ +void parser_prod__ATypePropdef__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 */; 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 */; +const char* var_class_name; +val* var8 /* : nullable TKwredef */; short int var9 /* : Bool */; short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; -val* var14 /* : nullable AVisibility */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : TKwmeth */; -short int var22 /* : Bool */; -val* var23 /* : null */; -short int var24 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : nullable AVisibility */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : nullable AMethid */; -short int var29 /* : Bool */; -val* var30 /* : null */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : TKwtype */; short int var31 /* : Bool */; short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : nullable ASignature */; +short int var34 /* : Bool */; short int var36 /* : Bool */; -val* var37 /* : null */; -short int var38 /* : Bool */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -val* var42 /* : nullable TString */; +short int var37 /* : Bool */; +int cltype38; +int idtype39; +const char* var_class_name40; +val* var41 /* : TClassid */; +short int var42 /* : Bool */; short int var43 /* : Bool */; -val* var44 /* : null */; short int var45 /* : Bool */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -val* var49 /* : null */; -val* var50 /* : nullable AExternCalls */; -short int var51 /* : Bool */; -val* var52 /* : null */; +short int var47 /* : Bool */; +short int var48 /* : Bool */; +int cltype49; +int idtype50; +const char* var_class_name51; +val* var52 /* : AType */; short int var53 /* : Bool */; short int var54 /* : Bool */; -int cltype55; -int idtype56; -val* var57 /* : null */; -val* var58 /* : nullable AExternCodeBlock */; +short int var56 /* : Bool */; +short int var58 /* : Bool */; short int var59 /* : Bool */; -val* var60 /* : null */; -short int var61 /* : Bool */; -short int var62 /* : Bool */; -int cltype63; -int idtype64; -val* var65 /* : null */; +int cltype60; +int idtype61; +const char* var_class_name62; +val* var63 /* : nullable AAnnotations */; +short int var64 /* : Bool */; +short int var65 /* : Bool */; +short int var67 /* : Bool */; +short int var69 /* : Bool */; +short int var70 /* : Bool */; +int cltype71; +int idtype72; +const char* var_class_name73; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ +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 */; +{ /* 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 nullable ADoc */ +cltype = type_nullable_parser_nodes__ADoc.color; +idtype = type_nullable_parser_nodes__ADoc.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 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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2054); -exit(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 */ +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 ADoc", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1041); +show_backtrace(1); +} +{ +parser_prod__ATypePropdef__n_doc_61d(self, var_new_child); /* Direct call parser_prod#ATypePropdef#n_doc= 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 */ +var8 = self->attrs[COLOR_parser_nodes__APropdef___n_kwredef].val; /* _n_kwredef 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 TKwredef */ -cltype11 = type_parser_nodes__TKwredef.color; -idtype12 = type_parser_nodes__TKwredef.id; -if(cltype11 >= var_new_child->type->table_size) { -var10 = 0; +/* isa nullable TKwredef */ +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2064); -exit(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 */ +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 TKwredef", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1045); +show_backtrace(1); +} +{ +parser_prod__ATypePropdef__n_kwredef_61d(self, var_new_child); /* Direct call parser_prod#ATypePropdef#n_kwredef= on */ } goto RET_LABEL; } else { } -var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on */ -if (var14 == NULL) { -var15 = 0; /* cannot be null */ +var19 = self->attrs[COLOR_parser_nodes__APropdef___n_visibility].val; /* _n_visibility on */ +if (var19 == NULL) { +var20 = 0; /* cannot be null */ } else { -var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, 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 (var15){ -var16 = NULL; -if (var_new_child == NULL) { -var17 = 0; /* is null */ -} else { -var17 = 1; /* arg is null and recv is not */ } -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; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -if (!var18) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2074); -exit(1); +var20 = var21; } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on */ +if (var20){ +/* isa AVisibility */ +cltype27 = type_parser_nodes__AVisibility.color; +idtype28 = type_parser_nodes__AVisibility.id; +if(var_new_child == NULL) { +var26 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2077); -exit(1); -} -goto RET_LABEL; +if(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -var21 = self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val; /* _n_kwmeth on */ -if (var21 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmeth", "src/parser/parser_prod.nit", 2081); -exit(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 */ +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`", "AVisibility", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1049); +show_backtrace(1); } -if (var24){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwmeth */ -cltype26 = type_parser_nodes__TKwmeth.color; -idtype27 = type_parser_nodes__TKwmeth.id; -if(cltype26 >= var_new_child->type->table_size) { -var25 = 0; +{ +parser_prod__ATypePropdef__n_visibility_61d(self, var_new_child); /* Direct call parser_prod#ATypePropdef#n_visibility= on */ +} +goto RET_LABEL; } else { -var25 = var_new_child->type->type_table[cltype26] == idtype27; } -if (!var25) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2084); -exit(1); +var30 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwtype].val; /* _n_kwtype on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwtype"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1052); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2087); -exit(1); +{ +{ /* Inline kernel#Object#== (var30,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var30,var_other) on */ +var36 = var30 == var_other; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; } -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 */; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(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 */ +var31 = var32; } 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; +/* isa TKwtype */ +cltype38 = type_parser_nodes__TKwtype.color; +idtype39 = type_parser_nodes__TKwtype.id; +if(var_new_child == NULL) { +var37 = 0; +} else { +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -var32 = var_new_child->type->type_table[cltype33] == idtype34; +var37 = var_new_child->type->type_table[cltype38] == idtype39; } -if (!var32) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2094); -exit(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2097); -exit(1); +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TKwtype", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1053); +show_backtrace(1); } -goto RET_LABEL; -} else { +{ +parser_prod__ATypePropdef__n_kwtype_61d(self, var_new_child); /* Direct call parser_prod#ATypePropdef#n_kwtype= on */ } -var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -if (var35 == NULL) { -var36 = 0; /* cannot be null */ +goto RET_LABEL; } else { -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 */ +var41 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_id].val; /* _n_id on */ +if (unlikely(var41 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1056); +show_backtrace(1); } -if (var38){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa ASignature */ -cltype40 = type_parser_nodes__ASignature.color; -idtype41 = type_parser_nodes__ASignature.id; -if(cltype40 >= var_new_child->type->table_size) { -var39 = 0; -} else { -var39 = var_new_child->type->type_table[cltype40] == idtype41; +{ +{ /* 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 (!var39) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2104); -exit(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2107); -exit(1); +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; } -goto RET_LABEL; -} else { +var42 = var43; } -var42 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on */ -if (var42 == NULL) { -var43 = 0; /* cannot be null */ +if (var42){ +/* isa TClassid */ +cltype49 = type_parser_nodes__TClassid.color; +idtype50 = type_parser_nodes__TClassid.id; +if(var_new_child == NULL) { +var48 = 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(cltype49 >= var_new_child->type->table_size) { +var48 = 0; } else { -var45 = 1; /* arg is null and recv is not */ +var48 = var_new_child->type->type_table[cltype49] == idtype50; } -if (var45){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TString */ -cltype47 = type_parser_nodes__TString.color; -idtype48 = type_parser_nodes__TString.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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2114); -exit(1); +if (unlikely(!var48)) { +var_class_name51 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "TClassid", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1057); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_new_child; /* _n_extern on */ -} else { -var49 = NULL; -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var49; /* _n_extern on */ +{ +parser_prod__ATypePropdef__n_id_61d(self, var_new_child); /* Direct call parser_prod#ATypePropdef#n_id= on */ } goto RET_LABEL; } else { } -var50 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on */ -if (var50 == NULL) { -var51 = 0; /* cannot be null */ -} else { -var51 = ((short int (*)(val*, val*))(var50->class->vft[COLOR_kernel__Object___61d_61d]))(var50, var_old_child) /* == on */; +var52 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_type].val; /* _n_type on */ +if (unlikely(var52 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1060); +show_backtrace(1); } -if (var51){ -var52 = NULL; -if (var_new_child == NULL) { -var53 = 0; /* is null */ -} else { -var53 = 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 (var53){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExternCalls */ -cltype55 = type_parser_nodes__AExternCalls.color; -idtype56 = type_parser_nodes__AExternCalls.id; -if(cltype55 >= var_new_child->type->table_size) { -var54 = 0; +/* isa AType */ +cltype60 = type_parser_nodes__AType.color; +idtype61 = type_parser_nodes__AType.id; +if(var_new_child == NULL) { +var59 = 0; +} else { +if(cltype60 >= var_new_child->type->table_size) { +var59 = 0; } else { -var54 = var_new_child->type->type_table[cltype55] == idtype56; +var59 = var_new_child->type->type_table[cltype60] == idtype61; } -if (!var54) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2124); -exit(1); } -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_new_child; /* _n_extern_calls on */ -} else { -var57 = NULL; -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var57; /* _n_extern_calls on */ +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`", "AType", var_class_name62); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1061); +show_backtrace(1); +} +{ +parser_prod__ATypePropdef__n_type_61d(self, var_new_child); /* Direct call parser_prod#ATypePropdef#n_type= on */ } goto RET_LABEL; } else { } -var58 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on */ -if (var58 == NULL) { -var59 = 0; /* cannot be null */ +var63 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var63 == NULL) { +var64 = 0; /* cannot be null */ } else { -var59 = ((short int (*)(val*, val*))(var58->class->vft[COLOR_kernel__Object___61d_61d]))(var58, var_old_child) /* == on */; +{ /* Inline kernel#Object#== (var63,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var63,var_other) on */ +var69 = var63 == var_other; +var67 = var69; +goto RET_LABEL68; +RET_LABEL68:(void)0; } -if (var59){ -var60 = NULL; -if (var_new_child == NULL) { -var61 = 0; /* is null */ -} else { -var61 = 1; /* arg is null and recv is not */ } -if (var61){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExternCodeBlock */ -cltype63 = type_parser_nodes__AExternCodeBlock.color; -idtype64 = type_parser_nodes__AExternCodeBlock.id; -if(cltype63 >= var_new_child->type->table_size) { -var62 = 0; -} else { -var62 = var_new_child->type->type_table[cltype63] == idtype64; +var65 = var67; +goto RET_LABEL66; +RET_LABEL66:(void)0; } -if (!var62) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2134); -exit(1); +var64 = var65; } -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_new_child; /* _n_extern_code_block on */ +if (var64){ +/* isa nullable AAnnotations */ +cltype71 = type_nullable_parser_nodes__AAnnotations.color; +idtype72 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var70 = 1; +} else { +if(cltype71 >= var_new_child->type->table_size) { +var70 = 0; } else { -var65 = NULL; -self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var65; /* _n_extern_code_block on */ +var70 = var_new_child->type->type_table[cltype71] == idtype72; +} +} +if (unlikely(!var70)) { +var_class_name73 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name73); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1065); +show_backtrace(1); +} +{ +parser_prod__ATypePropdef__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#ATypePropdef#n_annotations= on */ } goto RET_LABEL; } else { } RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AExternMethPropdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__AExternMethPropdef__replace_child(self, p0, p1); +/* 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); /* Direct call parser_prod#ATypePropdef#replace_child on */ RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_doc= for (self: AExternMethPropdef, nullable ADoc) */ -void parser_prod__AExternMethPropdef__n_doc_61d(val* self, val* p0) { +/* 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 */; +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__APropdef___n_doc].val = var_node; /* _n_doc on */ +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 */ } +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#AExternMethPropdef#n_doc= for (self: Object, nullable ADoc) */ -void VIRTUAL_parser_prod__AExternMethPropdef__n_doc_61d(val* self, val* p0) { -parser_prod__AExternMethPropdef__n_doc_61d(self, p0); +/* 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); /* Direct call parser_prod#ATypePropdef#n_doc= on */ RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_kwredef= for (self: AExternMethPropdef, nullable TKwredef) */ -void parser_prod__AExternMethPropdef__n_kwredef_61d(val* self, val* p0) { +/* 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 */; +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__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on */ +self->attrs[COLOR_parser_nodes__APropdef___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 */ } -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; } -RET_LABEL:; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -/* method parser_prod#AExternMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */ -void VIRTUAL_parser_prod__AExternMethPropdef__n_kwredef_61d(val* self, val* p0) { -parser_prod__AExternMethPropdef__n_kwredef_61d(self, p0); -RET_LABEL:; +var1 = var2; } -/* method parser_prod#AExternMethPropdef#n_visibility= for (self: AExternMethPropdef, nullable AVisibility) */ -void parser_prod__AExternMethPropdef__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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2160); -exit(1); -} else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +if (var1){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; } -RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */ -void VIRTUAL_parser_prod__AExternMethPropdef__n_visibility_61d(val* self, val* p0) { -parser_prod__AExternMethPropdef__n_visibility_61d(self, p0); -RET_LABEL:; +} else { } -/* method parser_prod#AExternMethPropdef#n_kwmeth= for (self: AExternMethPropdef, TKwmeth) */ -void parser_prod__AExternMethPropdef__n_kwmeth_61d(val* self, val* p0) { -val* var_node /* var node: TKwmeth */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on */ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_kwmeth= for (self: Object, TKwmeth) */ -void VIRTUAL_parser_prod__AExternMethPropdef__n_kwmeth_61d(val* self, val* p0) { -parser_prod__AExternMethPropdef__n_kwmeth_61d(self, p0); +/* 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); /* Direct call parser_prod#ATypePropdef#n_kwredef= on */ RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_methid= for (self: AExternMethPropdef, nullable AMethid) */ -void parser_prod__AExternMethPropdef__n_methid_61d(val* self, val* p0) { -val* var_node /* var node: nullable AMethid */; +/* method parser_prod#ATypePropdef#n_visibility= for (self: ATypePropdef, nullable AVisibility) */ +void parser_prod__ATypePropdef__n_visibility_61d(val* self, val* p0) { +val* var_node /* var node: nullable AVisibility */; var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on */ +self->attrs[COLOR_parser_nodes__APropdef___n_visibility].val = var_node; /* _n_visibility on */ if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2170); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1083); +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_node,self) on */ +if (unlikely(var_node == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} } RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_methid= for (self: Object, nullable AMethid) */ -void VIRTUAL_parser_prod__AExternMethPropdef__n_methid_61d(val* self, val* p0) { -parser_prod__AExternMethPropdef__n_methid_61d(self, p0); +/* method parser_prod#ATypePropdef#n_visibility= for (self: Object, nullable AVisibility) */ +void VIRTUAL_parser_prod__ATypePropdef__n_visibility_61d(val* self, val* p0) { +parser_prod__ATypePropdef__n_visibility_61d(self, p0); /* Direct call parser_prod#ATypePropdef#n_visibility= on */ RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_signature= for (self: AExternMethPropdef, nullable ASignature) */ -void parser_prod__AExternMethPropdef__n_signature_61d(val* self, val* p0) { -val* var_node /* var node: nullable ASignature */; +/* 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__AMethPropdef___n_signature].val = var_node; /* _n_signature on */ -if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2175); -exit(1); -} else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwtype].val = var_node; /* _n_kwtype 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#AExternMethPropdef#n_signature= for (self: Object, nullable ASignature) */ -void VIRTUAL_parser_prod__AExternMethPropdef__n_signature_61d(val* self, val* p0) { -parser_prod__AExternMethPropdef__n_signature_61d(self, p0); +/* 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); /* Direct call parser_prod#ATypePropdef#n_kwtype= on */ RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_extern= for (self: AExternMethPropdef, nullable TString) */ -void parser_prod__AExternMethPropdef__n_extern_61d(val* self, val* p0) { -val* var_node /* var node: nullable TString */; -val* var /* : null */; -short int var1 /* : Bool */; +/* 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 */; 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__ATypePropdef___n_id].val = var_node; /* _n_id on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { } RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_extern= for (self: Object, nullable TString) */ -void VIRTUAL_parser_prod__AExternMethPropdef__n_extern_61d(val* self, val* p0) { -parser_prod__AExternMethPropdef__n_extern_61d(self, p0); +/* 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); /* Direct call parser_prod#ATypePropdef#n_id= on */ RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_extern_calls= for (self: AExternMethPropdef, nullable AExternCalls) */ -void parser_prod__AExternMethPropdef__n_extern_calls_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExternCalls */; -val* var /* : null */; -short int var1 /* : Bool */; +/* 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__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 */ +self->attrs[COLOR_parser_nodes__ATypePropdef___n_type].val = var_node; /* _n_type on */ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; -} else { } RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_extern_calls= for (self: Object, nullable AExternCalls) */ -void VIRTUAL_parser_prod__AExternMethPropdef__n_extern_calls_61d(val* self, val* p0) { -parser_prod__AExternMethPropdef__n_extern_calls_61d(self, p0); +/* 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); /* Direct call parser_prod#ATypePropdef#n_type= on */ RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_extern_code_block= for (self: AExternMethPropdef, nullable AExternCodeBlock) */ -void parser_prod__AExternMethPropdef__n_extern_code_block_61d(val* self, val* p0) { -val* var_node /* var node: nullable AExternCodeBlock */; +/* 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 */; +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__AExternPropdef___n_extern_code_block].val = var_node; /* _n_extern_code_block on */ +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on */ var = NULL; if (var_node == NULL) { var1 = 0; /* is null */ } else { var1 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +var1 = var2; +} if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; +} +} } else { } RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#n_extern_code_block= for (self: Object, nullable AExternCodeBlock) */ -void VIRTUAL_parser_prod__AExternMethPropdef__n_extern_code_block_61d(val* self, val* p0) { -parser_prod__AExternMethPropdef__n_extern_code_block_61d(self, p0); +/* 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); /* Direct call parser_prod#ATypePropdef#n_annotations= on */ RET_LABEL:; } -/* method parser_prod#AExternMethPropdef#visit_all for (self: AExternMethPropdef, Visitor) */ -void parser_prod__AExternMethPropdef__visit_all(val* self, val* p0) { +/* 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 */; -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 /* : TKwmeth */; -val* var10 /* : nullable AMethid */; -val* var11 /* : nullable ASignature */; -val* var12 /* : nullable TString */; -val* var13 /* : null */; -short int var14 /* : Bool */; -val* var15 /* : nullable TString */; -val* var16 /* : nullable AExternCalls */; -val* var17 /* : null */; -short int var18 /* : Bool */; -val* var19 /* : nullable AExternCalls */; -val* var20 /* : nullable AExternCodeBlock */; -val* var21 /* : null */; -short int var22 /* : Bool */; -val* var23 /* : nullable AExternCodeBlock */; +val* var1 /* : nullable TKwredef */; +val* var2 /* : nullable AVisibility */; +val* var3 /* : TKwtype */; +val* var4 /* : TClassid */; +val* var5 /* : AType */; +val* var6 /* : 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 (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2203); -exit(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 */ -} -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2206); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; -} else { +var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var); /* Direct call parser_nodes#Visitor#enter_visit on */ } -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__AExternMethPropdef___n_kwmeth].val; /* _n_kwmeth on */ -if (var9 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmeth", "src/parser/parser_prod.nit", 2209); -exit(1); +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 */ } -((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 */ -((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__AMethPropdef___n_signature].val; /* _n_signature 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__AExternPropdef___n_extern].val; /* _n_extern 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__AExternPropdef___n_extern].val; /* _n_extern on */ -if (var15 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2213); -exit(1); -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on */; -} else { -} -var16 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on */ -var17 = NULL; -if (var16 == NULL) { -var18 = 0; /* is null */ -} else { -var18 = 1; /* arg is null and recv is not */ +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 */ } -if (var18){ -var19 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on */ -if (var19 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2216); -exit(1); +var3 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_kwtype].val; /* _n_kwtype on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwtype"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1112); +show_backtrace(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var19) /* enter_visit on */; -} else { +{ +parser_nodes__Visitor__enter_visit(var_v, var3); /* Direct call parser_nodes#Visitor#enter_visit on */ } -var20 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on */ -var21 = NULL; -if (var20 == NULL) { -var22 = 0; /* is null */ -} else { -var22 = 1; /* arg is null and recv is not */ +var4 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_id].val; /* _n_id on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1113); +show_backtrace(1); } -if (var22){ -var23 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on */ -if (var23 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2219); -exit(1); +{ +parser_nodes__Visitor__enter_visit(var_v, var4); /* Direct call parser_nodes#Visitor#enter_visit on */ } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var23) /* enter_visit on */; -} else { +var5 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_type].val; /* _n_type on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1114); +show_backtrace(1); } -RET_LABEL:; +{ +parser_nodes__Visitor__enter_visit(var_v, var5); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AExternMethPropdef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AExternMethPropdef__visit_all(val* self, val* p0) { -parser_prod__AExternMethPropdef__visit_all(self, p0); -RET_LABEL:; +var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +{ +parser_nodes__Visitor__enter_visit(var_v, var6); /* Direct call parser_nodes#Visitor#enter_visit on */ } -/* method parser_prod#AConcreteMethPropdef#empty_init for (self: AConcreteMethPropdef) */ -void parser_prod__AConcreteMethPropdef__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AConcreteMethPropdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AConcreteMethPropdef__empty_init(val* self) { -parser_prod__AConcreteMethPropdef__empty_init(self); +/* 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); /* Direct call parser_prod#ATypePropdef#visit_all on */ RET_LABEL:; } -/* method parser_prod#AConcreteMethPropdef#init_aconcretemethpropdef for (self: AConcreteMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable AAnnotations, nullable AExpr) */ -void parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) { +/* method parser_prod#AMethPropdef#init_amethpropdef for (self: AMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable TKwinit, nullable TKwnew, nullable AMethid, nullable ASignature, nullable AAnnotations, nullable AExternCalls, nullable AExternCodeBlock, nullable AExpr) */ +void parser_prod__AMethPropdef__init_amethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8, val* p9, val* p10, val* p11) { 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_kwmeth /* var n_kwmeth: nullable TKwmeth */; +val* var_n_kwinit /* var n_kwinit: nullable TKwinit */; +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_annotations /* var n_annotations: nullable AAnnotations */; +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_n_block /* var n_block: nullable AExpr */; val* var /* : null */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : null */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -val* var6 /* : null */; -short int var7 /* : 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 */; +val* var17 /* : null */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +val* var25 /* : null */; +short int var26 /* : Bool */; +short int var27 /* : Bool */; +short int var29 /* : Bool */; +short int var30 /* : Bool */; +short int var31 /* : Bool */; +val* var33 /* : null */; +short int var34 /* : Bool */; +short int var35 /* : Bool */; +short int var37 /* : Bool */; +short int var38 /* : Bool */; +short int var39 /* : Bool */; +val* var41 /* : null */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; +short int var46 /* : Bool */; +short int var47 /* : Bool */; +val* var50 /* : null */; +short int var51 /* : Bool */; +short int var52 /* : Bool */; +short int var54 /* : Bool */; +short int var55 /* : Bool */; +short int var56 /* : Bool */; +val* var58 /* : null */; +short int var59 /* : Bool */; +short int var60 /* : Bool */; +short int var62 /* : Bool */; +short int var63 /* : Bool */; +short int var64 /* : Bool */; +val* var66 /* : null */; +short int var67 /* : Bool */; +short int var68 /* : Bool */; +short int var70 /* : Bool */; +short int var71 /* : Bool */; +short int var72 /* : Bool */; +val* var74 /* : null */; +short int var75 /* : Bool */; +short int var76 /* : Bool */; +short int var78 /* : Bool */; +short int var79 /* : Bool */; +short int var80 /* : Bool */; var_n_doc = p0; var_n_kwredef = p1; var_n_visibility = p2; var_n_kwmeth = p3; -var_n_methid = p4; -var_n_signature = p5; -var_n_annotations = p6; -var_n_block = p7; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AConcreteMethPropdef__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on */ +var_n_kwinit = p4; +var_n_kwnew = p5; +var_n_methid = p6; +var_n_signature = p7; +var_n_annotations = p8; +var_n_extern_calls = p9; +var_n_extern_code_block = p10; +var_n_block = p11; +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 */ } +if (0) { +{ /* Inline kernel#Object#!= (var_n_doc,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_n_doc->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_doc, var_other) /* == on */; +var4 = var5; +} +var6 = !var4; +var2 = var6; +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 */; +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_doc,self) on */ +var_n_doc->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; +} +} } else { } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ -var2 = NULL; +self->attrs[COLOR_parser_nodes__APropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ +var8 = NULL; if (var_n_kwredef == NULL) { -var3 = 0; /* is null */ +var9 = 0; /* is null */ } else { -var3 = 1; /* arg is null and recv is not */ +var9 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwredef,var8) on */ +var_other = var8; +{ +var13 = ((short int (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwredef, var_other) /* == on */; +var12 = var13; +} +var14 = !var12; +var10 = var14; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; +} +if (var9){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwredef,self) on */ +var_n_kwredef->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL15:(void)0; +} } -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 (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2246); -exit(1); +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1138); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on */ +self->attrs[COLOR_parser_nodes__APropdef___n_visibility].val = var_n_visibility; /* _n_visibility on */ if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2247); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1139); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_visibility,self) on */ +if (unlikely(var_n_visibility == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -if (var_n_kwmeth == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2248); -exit(1); +var_n_visibility->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL16:(void)0; } -self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on */ +} +self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on */ +var17 = NULL; if (var_n_kwmeth == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2249); -exit(1); +var18 = 0; /* is null */ } else { -((void (*)(val*, val*))(var_n_kwmeth->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwmeth, self) /* parent= on */; +var18 = 1; /* arg is null and recv is not */ } -if (var_n_methid == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2250); -exit(1); +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwmeth,var17) on */ +var_other = var17; +{ +var22 = ((short int (*)(val*, val*))(var_n_kwmeth->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwmeth, var_other) /* == on */; +var21 = var22; +} +var23 = !var21; +var19 = var23; +goto RET_LABEL20; +RET_LABEL20:(void)0; +} +var18 = var19; +} +if (var18){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwmeth,self) on */ +var_n_kwmeth->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL24:(void)0; +} +} +} else { +} +self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwinit].val = var_n_kwinit; /* _n_kwinit on */ +var25 = NULL; +if (var_n_kwinit == NULL) { +var26 = 0; /* is null */ +} else { +var26 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwinit,var25) on */ +var_other = var25; +{ +var30 = ((short int (*)(val*, val*))(var_n_kwinit->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwinit, var_other) /* == on */; +var29 = var30; } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on */ +var31 = !var29; +var27 = var31; +goto RET_LABEL28; +RET_LABEL28:(void)0; +} +var26 = var27; +} +if (var26){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwinit,self) on */ +var_n_kwinit->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL32:(void)0; +} +} +} else { +} +self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwnew].val = var_n_kwnew; /* _n_kwnew on */ +var33 = NULL; +if (var_n_kwnew == NULL) { +var34 = 0; /* is null */ +} else { +var34 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_kwnew,var33) on */ +var_other = var33; +{ +var38 = ((short int (*)(val*, val*))(var_n_kwnew->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_kwnew, var_other) /* == on */; +var37 = var38; +} +var39 = !var37; +var35 = var39; +goto RET_LABEL36; +RET_LABEL36:(void)0; +} +var34 = var35; +} +if (var34){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_kwnew,self) on */ +var_n_kwnew->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL40:(void)0; +} +} +} else { +} +self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on */ +var41 = NULL; if (var_n_methid == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2251); -exit(1); +var42 = 0; /* is null */ } else { -((void (*)(val*, val*))(var_n_methid->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_methid, self) /* parent= on */; +var42 = 1; /* arg is null and recv is not */ } -if (var_n_signature == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2252); -exit(1); +if (0) { +{ /* Inline kernel#Object#!= (var_n_methid,var41) on */ +var_other = var41; +{ +var46 = ((short int (*)(val*, val*))(var_n_methid->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_methid, var_other) /* == on */; +var45 = var46; +} +var47 = !var45; +var43 = var47; +goto RET_LABEL44; +RET_LABEL44:(void)0; +} +var42 = var43; +} +if (var42){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_methid,self) on */ +var_n_methid->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL48:(void)0; +} +} +} else { +} +if (unlikely(var_n_signature == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1148); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on */ +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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2253); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1149); +show_backtrace(1); } else { -((void (*)(val*, val*))(var_n_signature->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_signature, self) /* parent= on */; +{ /* Inline parser_nodes#ANode#parent= (var_n_signature,self) on */ +if (unlikely(var_n_signature == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); +} +var_n_signature->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL49:(void)0; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ -var4 = NULL; +} +self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on */ +var50 = NULL; if (var_n_annotations == NULL) { -var5 = 0; /* is null */ +var51 = 0; /* is null */ +} else { +var51 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_annotations,var50) on */ +var_other = var50; +{ +var55 = ((short int (*)(val*, val*))(var_n_annotations->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_annotations, var_other) /* == on */; +var54 = var55; +} +var56 = !var54; +var52 = var56; +goto RET_LABEL53; +RET_LABEL53:(void)0; +} +var51 = var52; +} +if (var51){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_annotations,self) on */ +var_n_annotations->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL57:(void)0; +} +} +} else { +} +self->attrs[COLOR_parser_nodes__AMethPropdef___n_extern_calls].val = var_n_extern_calls; /* _n_extern_calls on */ +var58 = NULL; +if (var_n_extern_calls == NULL) { +var59 = 0; /* is null */ +} else { +var59 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_extern_calls,var58) on */ +var_other = var58; +{ +var63 = ((short int (*)(val*, val*))(var_n_extern_calls->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_extern_calls, var_other) /* == on */; +var62 = var63; +} +var64 = !var62; +var60 = var64; +goto RET_LABEL61; +RET_LABEL61:(void)0; +} +var59 = var60; +} +if (var59){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_extern_calls,self) on */ +var_n_extern_calls->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL65:(void)0; +} +} +} else { +} +self->attrs[COLOR_parser_nodes__AMethPropdef___n_extern_code_block].val = var_n_extern_code_block; /* _n_extern_code_block on */ +var66 = NULL; +if (var_n_extern_code_block == NULL) { +var67 = 0; /* is null */ } else { -var5 = 1; /* arg is null and recv is not */ +var67 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_extern_code_block,var66) on */ +var_other = var66; +{ +var71 = ((short int (*)(val*, val*))(var_n_extern_code_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_extern_code_block, var_other) /* == on */; +var70 = var71; +} +var72 = !var70; +var68 = var72; +goto RET_LABEL69; +RET_LABEL69:(void)0; +} +var67 = var68; +} +if (var67){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_extern_code_block,self) on */ +var_n_extern_code_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL73:(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 { } -self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_n_block; /* _n_block on */ -var6 = NULL; +self->attrs[COLOR_parser_nodes__AMethPropdef___n_block].val = var_n_block; /* _n_block on */ +var74 = NULL; if (var_n_block == NULL) { -var7 = 0; /* is null */ +var75 = 0; /* is null */ } else { -var7 = 1; /* arg is null and recv is not */ +var75 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_n_block,var74) on */ +var_other = var74; +{ +var79 = ((short int (*)(val*, val*))(var_n_block->class->vft[COLOR_kernel__Object___61d_61d]))(var_n_block, var_other) /* == on */; +var78 = var79; +} +var80 = !var78; +var76 = var80; +goto RET_LABEL77; +RET_LABEL77:(void)0; +} +var75 = var76; +} +if (var75){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_n_block,self) on */ +var_n_block->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL81:(void)0; +} } -if (var7){ -((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#AConcreteMethPropdef#init_aconcretemethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable AAnnotations, nullable AExpr) */ -void VIRTUAL_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) { -parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7); +/* method parser_prod#AMethPropdef#init_amethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable TKwinit, nullable TKwnew, nullable AMethid, nullable ASignature, nullable AAnnotations, nullable AExternCalls, nullable AExternCodeBlock, nullable AExpr) */ +void VIRTUAL_parser_prod__AMethPropdef__init_amethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8, val* p9, val* p10, val* p11) { +parser_prod__AMethPropdef__init_amethpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); /* Direct call parser_prod#AMethPropdef#init_amethpropdef on */ RET_LABEL:; } -/* method parser_prod#AConcreteMethPropdef#replace_child for (self: AConcreteMethPropdef, ANode, nullable ANode) */ -void parser_prod__AConcreteMethPropdef__replace_child(val* self, val* p0, val* p1) { +/* method parser_prod#AMethPropdef#replace_child for (self: AMethPropdef, ANode, nullable ANode) */ +void parser_prod__AMethPropdef__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 */; 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 */; +const char* var_class_name; +val* var8 /* : nullable TKwredef */; short int var9 /* : Bool */; short int var10 /* : Bool */; -int cltype11; -int idtype12; -val* var13 /* : null */; -val* var14 /* : nullable AVisibility */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -val* var16 /* : null */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -val* var21 /* : nullable TKwmeth */; -short int var22 /* : Bool */; -val* var23 /* : null */; -short int var24 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +val* var19 /* : nullable AVisibility */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; short int var25 /* : Bool */; -int cltype26; -int idtype27; -val* var28 /* : nullable AMethid */; -short int var29 /* : Bool */; -val* var30 /* : null */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +val* var30 /* : nullable TKwmeth */; short int var31 /* : Bool */; short int var32 /* : Bool */; -int cltype33; -int idtype34; -val* var35 /* : nullable ASignature */; +short int var34 /* : Bool */; 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 var37 /* : Bool */; +int cltype38; +int idtype39; +const char* var_class_name40; +val* var41 /* : nullable TKwinit */; +short int var42 /* : Bool */; short int var43 /* : Bool */; -val* var44 /* : null */; short int var45 /* : Bool */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -val* var49 /* : null */; -val* var50 /* : nullable AExpr */; -short int var51 /* : Bool */; -val* var52 /* : null */; +short int var47 /* : Bool */; +short int var48 /* : Bool */; +int cltype49; +int idtype50; +const char* var_class_name51; +val* var52 /* : nullable TKwnew */; short int var53 /* : Bool */; short int var54 /* : Bool */; -int cltype55; -int idtype56; -val* var57 /* : null */; +short int var56 /* : Bool */; +short int var58 /* : Bool */; +short int var59 /* : Bool */; +int cltype60; +int idtype61; +const char* var_class_name62; +val* var63 /* : nullable AMethid */; +short int var64 /* : Bool */; +short int var65 /* : Bool */; +short int var67 /* : Bool */; +short int var69 /* : Bool */; +short int var70 /* : Bool */; +int cltype71; +int idtype72; +const char* var_class_name73; +val* var74 /* : nullable ASignature */; +short int var75 /* : Bool */; +short int var76 /* : Bool */; +short int var78 /* : Bool */; +short int var80 /* : Bool */; +short int var81 /* : Bool */; +int cltype82; +int idtype83; +const char* var_class_name84; +val* var85 /* : nullable AAnnotations */; +short int var86 /* : Bool */; +short int var87 /* : Bool */; +short int var89 /* : Bool */; +short int var91 /* : Bool */; +short int var92 /* : Bool */; +int cltype93; +int idtype94; +const char* var_class_name95; +val* var96 /* : nullable AExternCalls */; +short int var97 /* : Bool */; +short int var98 /* : Bool */; +short int var100 /* : Bool */; +short int var102 /* : Bool */; +short int var103 /* : Bool */; +int cltype104; +int idtype105; +const char* var_class_name106; +val* var107 /* : nullable AExternCodeBlock */; +short int var108 /* : Bool */; +short int var109 /* : Bool */; +short int var111 /* : Bool */; +short int var113 /* : Bool */; +short int var114 /* : Bool */; +int cltype115; +int idtype116; +const char* var_class_name117; +val* var118 /* : nullable AExpr */; +short int var119 /* : Bool */; +short int var120 /* : Bool */; +short int var122 /* : Bool */; +short int var124 /* : Bool */; +short int var125 /* : Bool */; +int cltype126; +int idtype127; +const char* var_class_name128; var_old_child = p0; var_new_child = p1; -var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ +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 */; +{ /* 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 nullable ADoc */ +cltype = type_nullable_parser_nodes__ADoc.color; +idtype = type_nullable_parser_nodes__ADoc.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 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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2269); -exit(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 */ +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 ADoc", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1163); +show_backtrace(1); +} +{ +parser_prod__AMethPropdef__n_doc_61d(self, var_new_child); /* Direct call parser_prod#AMethPropdef#n_doc= 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 */ +var8 = self->attrs[COLOR_parser_nodes__APropdef___n_kwredef].val; /* _n_kwredef 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 */ } -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; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -if (!var10) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2279); -exit(1); +var9 = var10; } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on */ +if (var9){ +/* isa nullable TKwredef */ +cltype16 = type_nullable_parser_nodes__TKwredef.color; +idtype17 = type_nullable_parser_nodes__TKwredef.id; +if(var_new_child == NULL) { +var15 = 1; } else { -var13 = NULL; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on */ -} -goto RET_LABEL; +if(cltype16 >= var_new_child->type->table_size) { +var15 = 0; } else { +var15 = var_new_child->type->type_table[cltype16] == idtype17; } -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 */; } -if (var15){ -var16 = NULL; -if (var_new_child == NULL) { -var17 = 0; /* is null */ +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 TKwredef", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1167); +show_backtrace(1); +} +{ +((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__APropdef__n_kwredef_61d]))(self, var_new_child) /* n_kwredef= on */; +} +goto RET_LABEL; } else { -var17 = 1; /* arg is null and recv is not */ } -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; +var19 = self->attrs[COLOR_parser_nodes__APropdef___n_visibility].val; /* _n_visibility on */ +if (var19 == NULL) { +var20 = 0; /* cannot be null */ } else { -var18 = var_new_child->type->type_table[cltype19] == idtype20; +{ /* 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 (!var18) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2289); -exit(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2292); -exit(1); +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -goto RET_LABEL; -} else { +var20 = var21; } -var21 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val; /* _n_kwmeth on */ -if (var21 == NULL) { -var22 = 0; /* cannot be null */ +if (var20){ +/* isa AVisibility */ +cltype27 = type_parser_nodes__AVisibility.color; +idtype28 = type_parser_nodes__AVisibility.id; +if(var_new_child == NULL) { +var26 = 0; } 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(cltype27 >= var_new_child->type->table_size) { +var26 = 0; } else { -var24 = 1; /* arg is null and recv is not */ +var26 = var_new_child->type->type_table[cltype27] == idtype28; } -if (var24){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa TKwmeth */ -cltype26 = type_parser_nodes__TKwmeth.color; -idtype27 = type_parser_nodes__TKwmeth.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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2299); -exit(1); +if (unlikely(!var26)) { +var_class_name29 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AVisibility", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1171); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2302); -exit(1); +{ +parser_prod__AMethPropdef__n_visibility_61d(self, var_new_child); /* Direct call parser_prod#AMethPropdef#n_visibility= on */ } 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 */ +var30 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwmeth].val; /* _n_kwmeth on */ +if (var30 == NULL) { +var31 = 0; /* cannot be null */ } else { -var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, 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 (var29){ -var30 = NULL; -if (var_new_child == NULL) { -var31 = 0; /* is null */ -} else { -var31 = 1; /* arg is null and recv is not */ +} +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +var31 = var32; } 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; +/* isa nullable TKwmeth */ +cltype38 = type_nullable_parser_nodes__TKwmeth.color; +idtype39 = type_nullable_parser_nodes__TKwmeth.id; +if(var_new_child == NULL) { +var37 = 1; +} else { +if(cltype38 >= var_new_child->type->table_size) { +var37 = 0; } else { -var32 = var_new_child->type->type_table[cltype33] == idtype34; +var37 = var_new_child->type->type_table[cltype38] == idtype39; } -if (!var32) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2309); -exit(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2312); -exit(1); +if (unlikely(!var37)) { +var_class_name40 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable TKwmeth", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1175); +show_backtrace(1); +} +{ +parser_prod__AMethPropdef__n_kwmeth_61d(self, var_new_child); /* Direct call parser_prod#AMethPropdef#n_kwmeth= on */ } goto RET_LABEL; } else { } -var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -if (var35 == NULL) { -var36 = 0; /* cannot be null */ +var41 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwinit].val; /* _n_kwinit on */ +if (var41 == NULL) { +var42 = 0; /* cannot be null */ } else { -var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, 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 (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 ASignature */ -cltype40 = type_parser_nodes__ASignature.color; -idtype41 = type_parser_nodes__ASignature.id; -if(cltype40 >= var_new_child->type->table_size) { -var39 = 0; -} else { -var39 = var_new_child->type->type_table[cltype40] == idtype41; +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; } -if (!var39) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2319); -exit(1); +var42 = var43; } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on */ +if (var42){ +/* isa nullable TKwinit */ +cltype49 = type_nullable_parser_nodes__TKwinit.color; +idtype50 = type_nullable_parser_nodes__TKwinit.id; +if(var_new_child == NULL) { +var48 = 1; +} else { +if(cltype49 >= var_new_child->type->table_size) { +var48 = 0; } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2322); -exit(1); +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 TKwinit", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1179); +show_backtrace(1); +} +{ +parser_prod__AMethPropdef__n_kwinit_61d(self, var_new_child); /* Direct call parser_prod#AMethPropdef#n_kwinit= on */ } goto RET_LABEL; } else { } -var42 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var42 == NULL) { -var43 = 0; /* cannot be null */ +var52 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwnew].val; /* _n_kwnew on */ +if (var52 == NULL) { +var53 = 0; /* cannot be null */ } else { -var43 = ((short int (*)(val*, val*))(var42->class->vft[COLOR_kernel__Object___61d_61d]))(var42, var_old_child) /* == on */; +{ /* 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 (var43){ -var44 = NULL; -if (var_new_child == NULL) { -var45 = 0; /* is null */ -} else { -var45 = 1; /* arg is null and recv is not */ } -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; +var54 = var56; +goto RET_LABEL55; +RET_LABEL55:(void)0; } -if (!var46) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2329); -exit(1); +var53 = var54; } -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on */ +if (var53){ +/* isa nullable TKwnew */ +cltype60 = type_nullable_parser_nodes__TKwnew.color; +idtype61 = type_nullable_parser_nodes__TKwnew.id; +if(var_new_child == NULL) { +var59 = 1; +} else { +if(cltype60 >= var_new_child->type->table_size) { +var59 = 0; } else { -var49 = NULL; -self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var49; /* _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 TKwnew", var_class_name62); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1183); +show_backtrace(1); +} +{ +parser_prod__AMethPropdef__n_kwnew_61d(self, var_new_child); /* Direct call parser_prod#AMethPropdef#n_kwnew= on */ } goto RET_LABEL; } else { } -var50 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on */ -if (var50 == NULL) { -var51 = 0; /* cannot be null */ +var63 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on */ +if (var63 == NULL) { +var64 = 0; /* cannot be null */ } else { -var51 = ((short int (*)(val*, val*))(var50->class->vft[COLOR_kernel__Object___61d_61d]))(var50, var_old_child) /* == on */; +{ /* Inline kernel#Object#== (var63,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var63,var_other) on */ +var69 = var63 == var_other; +var67 = var69; +goto RET_LABEL68; +RET_LABEL68:(void)0; } -if (var51){ -var52 = NULL; -if (var_new_child == NULL) { -var53 = 0; /* is null */ -} else { -var53 = 1; /* arg is null and recv is not */ } -if (var53){ -((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on */; -/* isa AExpr */ -cltype55 = type_parser_nodes__AExpr.color; -idtype56 = type_parser_nodes__AExpr.id; -if(cltype55 >= var_new_child->type->table_size) { -var54 = 0; -} else { -var54 = var_new_child->type->type_table[cltype55] == idtype56; +var65 = var67; +goto RET_LABEL66; +RET_LABEL66:(void)0; } -if (!var54) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2339); -exit(1); +var64 = var65; } -self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_new_child; /* _n_block on */ +if (var64){ +/* isa nullable AMethid */ +cltype71 = type_nullable_parser_nodes__AMethid.color; +idtype72 = type_nullable_parser_nodes__AMethid.id; +if(var_new_child == NULL) { +var70 = 1; } else { -var57 = NULL; -self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var57; /* _n_block on */ -} -goto RET_LABEL; +if(cltype71 >= var_new_child->type->table_size) { +var70 = 0; } else { +var70 = var_new_child->type->type_table[cltype71] == idtype72; } -RET_LABEL:; } -/* method parser_prod#AConcreteMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */ -void VIRTUAL_parser_prod__AConcreteMethPropdef__replace_child(val* self, val* p0, val* p1) { -parser_prod__AConcreteMethPropdef__replace_child(self, p0, p1); -RET_LABEL:; +if (unlikely(!var70)) { +var_class_name73 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AMethid", var_class_name73); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1187); +show_backtrace(1); } -/* method parser_prod#AConcreteMethPropdef#n_doc= for (self: AConcreteMethPropdef, nullable ADoc) */ -void parser_prod__AConcreteMethPropdef__n_doc_61d(val* self, val* p0) { -val* var_node /* var node: nullable ADoc */; -val* var /* : null */; -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 */ +{ +parser_prod__AMethPropdef__n_methid_61d(self, var_new_child); /* Direct call parser_prod#AMethPropdef#n_methid= on */ +} +goto RET_LABEL; } 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 */; +var74 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +if (var74 == NULL) { +var75 = 0; /* cannot be null */ } else { +{ /* Inline kernel#Object#== (var74,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var74,var_other) on */ +var80 = var74 == var_other; +var78 = var80; +goto RET_LABEL79; +RET_LABEL79:(void)0; } -RET_LABEL:; } -/* method parser_prod#AConcreteMethPropdef#n_doc= for (self: Object, nullable ADoc) */ -void VIRTUAL_parser_prod__AConcreteMethPropdef__n_doc_61d(val* self, val* p0) { -parser_prod__AConcreteMethPropdef__n_doc_61d(self, p0); -RET_LABEL:; +var76 = var78; +goto RET_LABEL77; +RET_LABEL77:(void)0; } -/* method parser_prod#AConcreteMethPropdef#n_kwredef= for (self: AConcreteMethPropdef, nullable TKwredef) */ -void parser_prod__AConcreteMethPropdef__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 */ +var75 = var76; } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +if (var75){ +/* isa ASignature */ +cltype82 = type_parser_nodes__ASignature.color; +idtype83 = type_parser_nodes__ASignature.id; +if(var_new_child == NULL) { +var81 = 0; } else { +if(cltype82 >= var_new_child->type->table_size) { +var81 = 0; +} else { +var81 = var_new_child->type->type_table[cltype82] == idtype83; } -RET_LABEL:; -} -/* method parser_prod#AConcreteMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */ -void VIRTUAL_parser_prod__AConcreteMethPropdef__n_kwredef_61d(val* self, val* p0) { -parser_prod__AConcreteMethPropdef__n_kwredef_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AConcreteMethPropdef#n_visibility= for (self: AConcreteMethPropdef, nullable AVisibility) */ -void parser_prod__AConcreteMethPropdef__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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2365); -exit(1); -} else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +if (unlikely(!var81)) { +var_class_name84 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ASignature", var_class_name84); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1191); +show_backtrace(1); } -RET_LABEL:; +{ +parser_prod__AMethPropdef__n_signature_61d(self, var_new_child); /* Direct call parser_prod#AMethPropdef#n_signature= on */ } -/* method parser_prod#AConcreteMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */ -void VIRTUAL_parser_prod__AConcreteMethPropdef__n_visibility_61d(val* self, val* p0) { -parser_prod__AConcreteMethPropdef__n_visibility_61d(self, p0); -RET_LABEL:; +goto RET_LABEL; +} else { } -/* method parser_prod#AConcreteMethPropdef#n_kwmeth= for (self: AConcreteMethPropdef, nullable TKwmeth) */ -void parser_prod__AConcreteMethPropdef__n_kwmeth_61d(val* self, val* p0) { -val* var_node /* var node: nullable TKwmeth */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on */ -if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2370); -exit(1); +var85 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ +if (var85 == NULL) { +var86 = 0; /* cannot be null */ } else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +{ /* Inline kernel#Object#== (var85,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var85,var_other) on */ +var91 = var85 == var_other; +var89 = var91; +goto RET_LABEL90; +RET_LABEL90:(void)0; } -RET_LABEL:; } -/* method parser_prod#AConcreteMethPropdef#n_kwmeth= for (self: Object, nullable TKwmeth) */ -void VIRTUAL_parser_prod__AConcreteMethPropdef__n_kwmeth_61d(val* self, val* p0) { -parser_prod__AConcreteMethPropdef__n_kwmeth_61d(self, p0); -RET_LABEL:; +var87 = var89; +goto RET_LABEL88; +RET_LABEL88:(void)0; } -/* method parser_prod#AConcreteMethPropdef#n_methid= for (self: AConcreteMethPropdef, nullable AMethid) */ -void parser_prod__AConcreteMethPropdef__n_methid_61d(val* self, val* p0) { -val* var_node /* var node: nullable AMethid */; -var_node = p0; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on */ -if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2375); -exit(1); +var86 = var87; +} +if (var86){ +/* isa nullable AAnnotations */ +cltype93 = type_nullable_parser_nodes__AAnnotations.color; +idtype94 = type_nullable_parser_nodes__AAnnotations.id; +if(var_new_child == NULL) { +var92 = 1; } else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +if(cltype93 >= var_new_child->type->table_size) { +var92 = 0; +} else { +var92 = var_new_child->type->type_table[cltype93] == idtype94; } -RET_LABEL:; } -/* method parser_prod#AConcreteMethPropdef#n_methid= for (self: Object, nullable AMethid) */ -void VIRTUAL_parser_prod__AConcreteMethPropdef__n_methid_61d(val* self, val* p0) { -parser_prod__AConcreteMethPropdef__n_methid_61d(self, p0); -RET_LABEL:; +if (unlikely(!var92)) { +var_class_name95 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AAnnotations", var_class_name95); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1195); +show_backtrace(1); } -/* method parser_prod#AConcreteMethPropdef#n_signature= for (self: AConcreteMethPropdef, nullable ASignature) */ -void parser_prod__AConcreteMethPropdef__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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2380); -exit(1); +{ +parser_prod__AMethPropdef__n_annotations_61d(self, var_new_child); /* Direct call parser_prod#AMethPropdef#n_annotations= 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:; +var96 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_extern_calls].val; /* _n_extern_calls on */ +if (var96 == NULL) { +var97 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var96,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var96,var_other) on */ +var102 = var96 == var_other; +var100 = var102; +goto RET_LABEL101; +RET_LABEL101:(void)0; } -/* method parser_prod#AConcreteMethPropdef#n_signature= for (self: Object, nullable ASignature) */ -void VIRTUAL_parser_prod__AConcreteMethPropdef__n_signature_61d(val* self, val* p0) { -parser_prod__AConcreteMethPropdef__n_signature_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AConcreteMethPropdef#n_annotations= for (self: AConcreteMethPropdef, nullable AAnnotations) */ -void parser_prod__AConcreteMethPropdef__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 */ +var98 = var100; +goto RET_LABEL99; +RET_LABEL99:(void)0; } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +var97 = var98; +} +if (var97){ +/* isa nullable AExternCalls */ +cltype104 = type_nullable_parser_nodes__AExternCalls.color; +idtype105 = type_nullable_parser_nodes__AExternCalls.id; +if(var_new_child == NULL) { +var103 = 1; +} else { +if(cltype104 >= var_new_child->type->table_size) { +var103 = 0; } else { +var103 = var_new_child->type->type_table[cltype104] == idtype105; } -RET_LABEL:; } -/* method parser_prod#AConcreteMethPropdef#n_annotations= for (self: Object, nullable AAnnotations) */ -void VIRTUAL_parser_prod__AConcreteMethPropdef__n_annotations_61d(val* self, val* p0) { -parser_prod__AConcreteMethPropdef__n_annotations_61d(self, p0); -RET_LABEL:; +if (unlikely(!var103)) { +var_class_name106 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExternCalls", var_class_name106); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1199); +show_backtrace(1); } -/* method parser_prod#AConcreteMethPropdef#n_block= for (self: AConcreteMethPropdef, nullable AExpr) */ -void parser_prod__AConcreteMethPropdef__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 */ +{ +parser_prod__AMethPropdef__n_extern_calls_61d(self, var_new_child); /* Direct call parser_prod#AMethPropdef#n_extern_calls= on */ } -if (var1){ -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +goto RET_LABEL; } else { } -RET_LABEL:; +var107 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_extern_code_block].val; /* _n_extern_code_block on */ +if (var107 == NULL) { +var108 = 0; /* cannot be null */ +} else { +{ /* Inline kernel#Object#== (var107,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var107,var_other) on */ +var113 = var107 == var_other; +var111 = var113; +goto RET_LABEL112; +RET_LABEL112:(void)0; } -/* method parser_prod#AConcreteMethPropdef#n_block= for (self: Object, nullable AExpr) */ -void VIRTUAL_parser_prod__AConcreteMethPropdef__n_block_61d(val* self, val* p0) { -parser_prod__AConcreteMethPropdef__n_block_61d(self, p0); -RET_LABEL:; } -/* method parser_prod#AConcreteMethPropdef#visit_all for (self: AConcreteMethPropdef, Visitor) */ -void parser_prod__AConcreteMethPropdef__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 /* : nullable TKwmeth */; -val* var10 /* : nullable AMethid */; -val* var11 /* : nullable ASignature */; -val* var12 /* : nullable AAnnotations */; -val* var13 /* : null */; -short int var14 /* : Bool */; -val* var15 /* : nullable AAnnotations */; -val* var16 /* : nullable AExpr */; -val* var17 /* : null */; -short int var18 /* : Bool */; -val* var19 /* : 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 */ -} else { -var2 = 1; /* arg is null and recv is not */ +var109 = var111; +goto RET_LABEL110; +RET_LABEL110:(void)0; } -if (var2){ -var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on */ -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2401); -exit(1); +var108 = var109; } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on */; +if (var108){ +/* isa nullable AExternCodeBlock */ +cltype115 = type_nullable_parser_nodes__AExternCodeBlock.color; +idtype116 = type_nullable_parser_nodes__AExternCodeBlock.id; +if(var_new_child == NULL) { +var114 = 1; } else { -} -var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -var5 = NULL; -if (var4 == NULL) { -var6 = 0; /* is null */ +if(cltype115 >= var_new_child->type->table_size) { +var114 = 0; } else { -var6 = 1; /* arg is null and recv is not */ +var114 = var_new_child->type->type_table[cltype115] == idtype116; } -if (var6){ -var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on */ -if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2404); -exit(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on */; +if (unlikely(!var114)) { +var_class_name117 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExternCodeBlock", var_class_name117); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1203); +show_backtrace(1); +} +{ +parser_prod__AMethPropdef__n_extern_code_block_61d(self, var_new_child); /* Direct call parser_prod#AMethPropdef#n_extern_code_block= on */ +} +goto RET_LABEL; } else { } -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__AConcreteMethPropdef___n_kwmeth].val; /* _n_kwmeth on */ -((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 */ -((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__AMethPropdef___n_signature].val; /* _n_signature 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 */ +var118 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_block].val; /* _n_block on */ +if (var118 == NULL) { +var119 = 0; /* cannot be null */ } else { -var14 = 1; /* arg is null and recv is not */ +{ /* Inline kernel#Object#== (var118,var_old_child) on */ +var_other = var_old_child; +{ +{ /* Inline kernel#Object#is_same_instance (var118,var_other) on */ +var124 = var118 == var_other; +var122 = var124; +goto RET_LABEL123; +RET_LABEL123:(void)0; } -if (var14){ -var15 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on */ -if (var15 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2411); -exit(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on */; -} else { +var120 = var122; +goto RET_LABEL121; +RET_LABEL121:(void)0; } -var16 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on */ -var17 = NULL; -if (var16 == NULL) { -var18 = 0; /* is null */ +var119 = var120; +} +if (var119){ +/* isa nullable AExpr */ +cltype126 = type_nullable_parser_nodes__AExpr.color; +idtype127 = type_nullable_parser_nodes__AExpr.id; +if(var_new_child == NULL) { +var125 = 1; } else { -var18 = 1; /* arg is null and recv is not */ +if(cltype126 >= var_new_child->type->table_size) { +var125 = 0; +} else { +var125 = var_new_child->type->type_table[cltype126] == idtype127; } -if (var18){ -var19 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on */ -if (var19 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2414); -exit(1); } -((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var19) /* enter_visit on */; -} else { +if (unlikely(!var125)) { +var_class_name128 = var_new_child == NULL ? "null" : var_new_child->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable AExpr", var_class_name128); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1207); +show_backtrace(1); } -RET_LABEL:; +{ +((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__AMethPropdef__n_block_61d]))(self, var_new_child) /* n_block= on */; } -/* method parser_prod#AConcreteMethPropdef#visit_all for (self: Object, Visitor) */ -void VIRTUAL_parser_prod__AConcreteMethPropdef__visit_all(val* self, val* p0) { -parser_prod__AConcreteMethPropdef__visit_all(self, p0); -RET_LABEL:; +goto RET_LABEL; +} else { } -/* method parser_prod#AConcreteInitPropdef#empty_init for (self: AConcreteInitPropdef) */ -void parser_prod__AConcreteInitPropdef__empty_init(val* self) { RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#empty_init for (self: Object) */ -void VIRTUAL_parser_prod__AConcreteInitPropdef__empty_init(val* self) { -parser_prod__AConcreteInitPropdef__empty_init(self); +/* method parser_prod#AMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */ +void VIRTUAL_parser_prod__AMethPropdef__replace_child(val* self, val* p0, val* p1) { +parser_prod__AMethPropdef__replace_child(self, p0, p1); /* Direct call parser_prod#AMethPropdef#replace_child on */ RET_LABEL:; } -/* method parser_prod#AConcreteInitPropdef#init_aconcreteinitpropdef for (self: AConcreteInitPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwinit, nullable AMethid, nullable ASignature, nullable AAnnotations, nullable AExpr) */ -void parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) { -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_kwinit /* var n_kwinit: nullable TKwinit */; -val* var_n_methid /* var n_methid: nullable AMethid */; -val* var_n_signature /* var n_signature: nullable ASignature */; -val* var_n_annotations /* var n_annotations: nullable AAnnotations */; -val* var_n_block /* var n_block: nullable AExpr */; +/* method parser_prod#AMethPropdef#n_doc= for (self: AMethPropdef, nullable ADoc) */ +void parser_prod__AMethPropdef__n_doc_61d(val* self, val* p0) { +val* var_node /* var node: nullable ADoc */; val* var /* : null */; short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : null */; +short int var2 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -val* var6 /* : null */; -short int var7 /* : Bool */; -val* var8 /* : null */; -short int var9 /* : Bool */; -var_n_doc = p0; -var_n_kwredef = p1; -var_n_visibility = p2; -var_n_kwinit = p3; -var_n_methid = p4; -var_n_signature = p5; -var_n_annotations = p6; -var_n_block = p7; -((void (*)(val*))(self->class->vft[COLOR_parser_prod__AConcreteInitPropdef__empty_init]))(self) /* empty_init on */; -self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on */ +short int var6 /* : Bool */; +var_node = p0; +self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on */ var = NULL; -if (var_n_doc == 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_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on */; -} else { +{ +{ /* 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__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on */ -var2 = NULL; -if (var_n_kwredef == NULL) { -var3 = 0; /* is null */ } else { -var3 = 1; /* arg is null and recv is not */ } -if (var3){ -((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on */; +RET_LABEL:; +} +/* method parser_prod#AMethPropdef#n_doc= for (self: Object, nullable ADoc) */ +void VIRTUAL_parser_prod__AMethPropdef__n_doc_61d(val* self, val* p0) { +parser_prod__AMethPropdef__n_doc_61d(self, p0); /* Direct call parser_prod#AMethPropdef#n_doc= on */ +RET_LABEL:; +} +/* method parser_prod#AMethPropdef#n_kwredef= for (self: AMethPropdef, nullable TKwredef) */ +void parser_prod__AMethPropdef__n_kwredef_61d(val* self, val* p0) { +val* var_node /* var node: nullable TKwredef */; +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__APropdef___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 */ } -if (var_n_visibility == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2441); -exit(1); +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; } -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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2442); -exit(1); -} else { -((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on */; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -if (var_n_kwinit == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2443); -exit(1); +var1 = var2; } -self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val = var_n_kwinit; /* _n_kwinit on */ -if (var_n_kwinit == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2444); -exit(1); -} else { -((void (*)(val*, val*))(var_n_kwinit->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwinit, self) /* parent= on */; +if (var1){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; } -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 */ } -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 (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2449); -exit(1); -} -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 (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2450); -exit(1); -} else { -((void (*)(val*, val*))(var_n_signature->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_signature, self) /* parent= on */; +RET_LABEL:; } -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 */ -} else { -var7 = 1; /* arg is null and recv is not */ +/* method parser_prod#AMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */ +void VIRTUAL_parser_prod__AMethPropdef__n_kwredef_61d(val* self, val* p0) { +parser_prod__AMethPropdef__n_kwredef_61d(self, p0); /* Direct call parser_prod#AMethPropdef#n_kwredef= on */ +RET_LABEL:; } -if (var7){ -((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on */; +/* method parser_prod#AMethPropdef#n_visibility= for (self: AMethPropdef, nullable AVisibility) */ +void parser_prod__AMethPropdef__n_visibility_61d(val* self, val* p0) { +val* var_node /* var node: nullable AVisibility */; +var_node = p0; +self->attrs[COLOR_parser_nodes__APropdef___n_visibility].val = var_node; /* _n_visibility on */ +if (var_node == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1225); +show_backtrace(1); } else { +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +if (unlikely(var_node == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_n_block; /* _n_block on */ -var8 = NULL; -if (var_n_block == NULL) { -var9 = 0; /* is null */ -} else { -var9 = 1; /* arg is null and recv is not */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (var9){ -((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#AConcreteInitPropdef#init_aconcreteinitpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwinit, nullable AMethid, nullable ASignature, nullable AAnnotations, nullable AExpr) */ -void VIRTUAL_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) { -parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7); +/* method parser_prod#AMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */ +void VIRTUAL_parser_prod__AMethPropdef__n_visibility_61d(val* self, val* p0) { +parser_prod__AMethPropdef__n_visibility_61d(self, p0); /* Direct call parser_prod#AMethPropdef#n_visibility= on */ RET_LABEL:; } -/* 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 */; -val* var /* : nullable ADoc */; +/* method parser_prod#AMethPropdef#n_kwmeth= for (self: AMethPropdef, nullable TKwmeth) */ +void parser_prod__AMethPropdef__n_kwmeth_61d(val* self, val* p0) { +val* var_node /* var node: nullable TKwmeth */; +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 /* : 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 */ +short int var5 /* : Bool */; +short int var6 /* : Bool */; +var_node = p0; +self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth 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 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; +if (0) { +{ /* Inline kernel#Object#!= (var_node,var) on */ +var_other = var; +{ +var5 = ((short int (*)(val*, val*))(var_node->class->vft[COLOR_kernel__Object___61d_61d]))(var_node, var_other) /* == on */; +var4 = var5; } -if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2466); -exit(1); +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -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 */ +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; } -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 */; } -if (var7){ -var8 = NULL; -if (var_new_child == NULL) { -var9 = 0; /* is null */ } else { -var9 = 1; /* arg is null and recv is not */ } -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; +RET_LABEL:; } -if (!var10) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2476); -exit(1); +/* method parser_prod#AMethPropdef#n_kwmeth= for (self: Object, nullable TKwmeth) */ +void VIRTUAL_parser_prod__AMethPropdef__n_kwmeth_61d(val* self, val* p0) { +parser_prod__AMethPropdef__n_kwmeth_61d(self, p0); /* Direct call parser_prod#AMethPropdef#n_kwmeth= on */ +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on */ +/* method parser_prod#AMethPropdef#n_kwinit= for (self: AMethPropdef, nullable TKwinit) */ +void parser_prod__AMethPropdef__n_kwinit_61d(val* self, val* p0) { +val* var_node /* var node: nullable TKwinit */; +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__AMethPropdef___n_kwinit].val = var_node; /* _n_kwinit on */ +var = NULL; +if (var_node == NULL) { +var1 = 0; /* is null */ } else { -var13 = NULL; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on */ +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; } -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 */; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -if (var15){ -var16 = NULL; -if (var_new_child == NULL) { -var17 = 0; /* is null */ -} else { -var17 = 1; /* arg is null and recv is not */ +var1 = var2; } -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; +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 (!var18) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2486); -exit(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on */ } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2489); -exit(1); } -goto RET_LABEL; -} else { +RET_LABEL:; } -var21 = self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val; /* _n_kwinit on */ -if (var21 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwinit", "src/parser/parser_prod.nit", 2493); -exit(1); +/* method parser_prod#AMethPropdef#n_kwinit= for (self: Object, nullable TKwinit) */ +void VIRTUAL_parser_prod__AMethPropdef__n_kwinit_61d(val* self, val* p0) { +parser_prod__AMethPropdef__n_kwinit_61d(self, p0); /* Direct call parser_prod#AMethPropdef#n_kwinit= on */ +RET_LABEL:; } -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 */ +/* method parser_prod#AMethPropdef#n_kwnew= for (self: AMethPropdef, nullable TKwnew) */ +void parser_prod__AMethPropdef__n_kwnew_61d(val* self, val* p0) { +val* var_node /* var node: nullable TKwnew */; +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__AMethPropdef___n_kwnew].val = var_node; /* _n_kwnew on */ +var = NULL; +if (var_node == NULL) { +var1 = 0; /* is null */ } else { -var24 = 1; /* arg is null and recv is not */ +var1 = 1; /* arg is null and recv is not */ } -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; +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 (!var25) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2496); -exit(1); +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val = var_new_child; /* _n_kwinit on */ -} else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2499); -exit(1); +var1 = var2; } -goto RET_LABEL; -} else { +if (var1){ +{ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL7:(void)0; } -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 */; } -if (var29){ -var30 = NULL; -if (var_new_child == NULL) { -var31 = 0; /* is null */ } else { -var31 = 1; /* arg is null and recv is not */ } -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; -} else { -var32 = var_new_child->type->type_table[cltype33] == idtype34; +RET_LABEL:; } -if (!var32) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2506); -exit(1); +/* method parser_prod#AMethPropdef#n_kwnew= for (self: Object, nullable TKwnew) */ +void VIRTUAL_parser_prod__AMethPropdef__n_kwnew_61d(val* self, val* p0) { +parser_prod__AMethPropdef__n_kwnew_61d(self, p0); /* Direct call parser_prod#AMethPropdef#n_kwnew= on */ +RET_LABEL:; } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on */ +/* method parser_prod#AMethPropdef#n_methid= for (self: AMethPropdef, nullable AMethid) */ +void parser_prod__AMethPropdef__n_methid_61d(val* self, val* p0) { +val* var_node /* var node: nullable AMethid */; +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__AMethPropdef___n_methid].val = var_node; /* _n_methid on */ +var = NULL; +if (var_node == NULL) { +var1 = 0; /* is null */ } else { -var35 = NULL; -self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var35; /* _n_methid on */ +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; } -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 */; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(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 */ +var1 = var2; } -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; +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 (!var40) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2516); -exit(1); } -self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on */ } else { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2519); -exit(1); } -goto RET_LABEL; -} else { +RET_LABEL:; } -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 */; +/* method parser_prod#AMethPropdef#n_methid= for (self: Object, nullable AMethid) */ +void VIRTUAL_parser_prod__AMethPropdef__n_methid_61d(val* self, val* p0) { +parser_prod__AMethPropdef__n_methid_61d(self, p0); /* Direct call parser_prod#AMethPropdef#n_methid= on */ +RET_LABEL:; } -if (var44){ -var45 = NULL; -if (var_new_child == NULL) { -var46 = 0; /* is null */ +/* method parser_prod#AMethPropdef#n_signature= for (self: AMethPropdef, nullable ASignature) */ +void parser_prod__AMethPropdef__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) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_prod.nit", 1250); +show_backtrace(1); } else { -var46 = 1; /* arg is null and recv is not */ +{ /* Inline parser_nodes#ANode#parent= (var_node,self) on */ +if (unlikely(var_node == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 36); +show_backtrace(1); } -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; +var_node->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; } -if (!var47) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2526); -exit(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 */ +RET_LABEL:; } -goto RET_LABEL; -} else { +/* method parser_prod#AMethPropdef#n_signature= for (self: Object, nullable ASignature) */ +void VIRTUAL_parser_prod__AMethPropdef__n_signature_61d(val* self, val* p0) { +parser_prod__AMethPropdef__n_signature_61d(self, p0); /* Direct call parser_prod#AMethPropdef#n_signature= on */ +RET_LABEL:; } -var51 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on */ -if (var51 == NULL) { -var52 = 0; /* cannot be null */ +/* method parser_prod#AMethPropdef#n_annotations= for (self: AMethPropdef, nullable AAnnotations) */ +void parser_prod__AMethPropdef__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 { -var52 = ((short int (*)(val*, val*))(var51->class->vft[COLOR_kernel__Object___61d_61d]))(var51, var_old_child) /* == on */; +var1 = 1; /* arg is null and recv is not */ } -if (var52){ -var53 = NULL; -if (var_new_child == NULL) { -var54 = 0; /* is null */ -} else { -var54 = 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; } -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; -} else { -var55 = var_new_child->type->type_table[cltype56] == idtype57; +var6 = !var4; +var2 = var6; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -if (!var55) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2536); -exit(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; } -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 */ } -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#AMethPropdef#n_annotations= for (self: Object, nullable AAnnotations) */ +void VIRTUAL_parser_prod__AMethPropdef__n_annotations_61d(val* self, val* p0) { +parser_prod__AMethPropdef__n_annotations_61d(self, p0); /* Direct call parser_prod#AMethPropdef#n_annotations= 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 */; +/* method parser_prod#AMethPropdef#n_extern_calls= for (self: AMethPropdef, nullable AExternCalls) */ +void parser_prod__AMethPropdef__n_extern_calls_61d(val* self, val* p0) { +val* var_node /* var node: nullable AExternCalls */; 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__APropdef___n_doc].val = var_node; /* _n_doc on */ +self->attrs[COLOR_parser_nodes__AMethPropdef___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 */ } +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#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); +/* method parser_prod#AMethPropdef#n_extern_calls= for (self: Object, nullable AExternCalls) */ +void VIRTUAL_parser_prod__AMethPropdef__n_extern_calls_61d(val* self, val* p0) { +parser_prod__AMethPropdef__n_extern_calls_61d(self, p0); /* Direct call parser_prod#AMethPropdef#n_extern_calls= on */ RET_LABEL:; } -/* 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 */; +/* method parser_prod#AMethPropdef#n_extern_code_block= for (self: AMethPropdef, nullable AExternCodeBlock) */ +void parser_prod__AMethPropdef__n_extern_code_block_61d(val* self, val* p0) { +val* var_node /* var node: nullable AExternCodeBlock */; 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__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on */ +self->attrs[COLOR_parser_nodes__AMethPropdef___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 */ } +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#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); +/* method parser_prod#AMethPropdef#n_extern_code_block= for (self: Object, nullable AExternCodeBlock) */ +void VIRTUAL_parser_prod__AMethPropdef__n_extern_code_block_61d(val* self, val* p0) { +parser_prod__AMethPropdef__n_extern_code_block_61d(self, p0); /* Direct call parser_prod#AMethPropdef#n_extern_code_block= on */ 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 */; +/* method parser_prod#AMethPropdef#n_block= for (self: AMethPropdef, nullable AExpr) */ +void parser_prod__AMethPropdef__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__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on */ +self->attrs[COLOR_parser_nodes__AMethPropdef___n_block].val = var_node; /* _n_block on */ +var = NULL; if (var_node == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2562); -exit(1); +var1 = 0; /* is null */ } else { -((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on */; +var1 = 1; /* arg is null and recv is not */ } -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#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); -RET_LABEL:; +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 { } -/* 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 */; -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 */; 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#AMethPropdef#n_block= for (self: Object, nullable AExpr) */ +void VIRTUAL_parser_prod__AMethPropdef__n_block_61d(val* self, val* p0) { +parser_prod__AMethPropdef__n_block_61d(self, p0); /* Direct call parser_prod#AMethPropdef#n_block= on */ RET_LABEL:; }