X-Git-Url: http://nitlanguage.org diff --git a/c_src/transform.sep.1.c b/c_src/transform.sep.1.c index 5b1e109..20787fd 100644 --- a/c_src/transform.sep.1.c +++ b/c_src/transform.sep.1.c @@ -1,4 +1,92 @@ #include "transform.sep.0.h" +/* method transform#ToolContext#opt_no_shortcut_range for (self: ToolContext): OptionBool */ +val* transform__ToolContext__opt_no_shortcut_range(val* self) { +val* var /* : OptionBool */; +val* var1 /* : OptionBool */; +var1 = self->attrs[COLOR_transform__ToolContext___opt_no_shortcut_range].val; /* _opt_no_shortcut_range on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_range"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 27); +show_backtrace(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method transform#ToolContext#opt_no_shortcut_range for (self: Object): OptionBool */ +val* VIRTUAL_transform__ToolContext__opt_no_shortcut_range(val* self) { +val* var /* : OptionBool */; +val* var1 /* : OptionBool */; +val* var3 /* : OptionBool */; +{ /* Inline transform#ToolContext#opt_no_shortcut_range (self) on */ +var3 = self->attrs[COLOR_transform__ToolContext___opt_no_shortcut_range].val; /* _opt_no_shortcut_range on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_range"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 27); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method transform#ToolContext#init for (self: ToolContext) */ +void transform__ToolContext__init(val* self) { +val* var /* : OptionContext */; +val* var2 /* : OptionContext */; +val* var3 /* : OptionBool */; +val* var5 /* : OptionBool */; +val* var6 /* : Array[Option] */; +long var7 /* : Int */; +val* var8 /* : NativeArray[Option] */; +{ +((void (*)(val*))(self->class->vft[COLOR_transform__ToolContext__init]))(self) /* init on */; +} +{ +{ /* Inline toolcontext#ToolContext#option_context (self) on */ +var2 = self->attrs[COLOR_toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +{ /* Inline transform#ToolContext#opt_no_shortcut_range (self) on */ +var5 = self->attrs[COLOR_transform__ToolContext___opt_no_shortcut_range].val; /* _opt_no_shortcut_range on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_range"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 27); +show_backtrace(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} +} +var6 = NEW_array__Array(&type_array__Arrayopts__Option); +{ /* var6 = array_instance Array[Option] */ +var7 = 1; +var8 = NEW_array__NativeArray(var7, &type_array__NativeArrayopts__Option); +((struct instance_array__NativeArray*)var8)->values[0] = (val*) var3; +{ +((void (*)(val*, val*, long))(var6->class->vft[COLOR_array__Array__with_native]))(var6, var8, var7) /* with_native on */; +} +} +{ +opts__OptionContext__add_option(var, var6); /* Direct call opts#OptionContext#add_option on */ +} +RET_LABEL:; +} +/* method transform#ToolContext#init for (self: Object) */ +void VIRTUAL_transform__ToolContext__init(val* self) { +transform__ToolContext__init(self); /* Direct call transform#ToolContext#init on */ +RET_LABEL:; +} /* method transform#TransformPhase#process_npropdef for (self: TransformPhase, APropdef) */ void transform__TransformPhase__process_npropdef(val* self, val* p0) { val* var_npropdef /* var npropdef: APropdef */; @@ -17,9 +105,7 @@ parser_nodes__Visitor__enter_visit(var_v, var_npropdef); /* Direct call parser_n } var1 = NEW_astvalidation__ASTValidationVisitor(&type_astvalidation__ASTValidationVisitor); { -{ /* Inline parser_nodes#Visitor#init (var1) on */ -RET_LABEL2:(void)0; -} +((void (*)(val*))(var1->class->vft[COLOR_kernel__Object__init]))(var1) /* init on */; } var_val = var1; { @@ -32,6 +118,39 @@ void VIRTUAL_transform__TransformPhase__process_npropdef(val* self, val* p0) { transform__TransformPhase__process_npropdef(self, p0); /* Direct call transform#TransformPhase#process_npropdef on */ RET_LABEL:; } +/* method transform#TransformVisitor#phase for (self: TransformVisitor): TransformPhase */ +val* transform__TransformVisitor__phase(val* self) { +val* var /* : TransformPhase */; +val* var1 /* : TransformPhase */; +var1 = self->attrs[COLOR_transform__TransformVisitor___phase].val; /* _phase on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phase"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 55); +show_backtrace(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method transform#TransformVisitor#phase for (self: Object): TransformPhase */ +val* VIRTUAL_transform__TransformVisitor__phase(val* self) { +val* var /* : TransformPhase */; +val* var1 /* : TransformPhase */; +val* var3 /* : TransformPhase */; +{ /* Inline transform#TransformVisitor#phase (self) on */ +var3 = self->attrs[COLOR_transform__TransformVisitor___phase].val; /* _phase on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phase"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 55); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} /* method transform#TransformVisitor#phase= for (self: TransformVisitor, TransformPhase) */ void transform__TransformVisitor__phase_61d(val* self, val* p0) { self->attrs[COLOR_transform__TransformVisitor___phase].val = p0; /* _phase on */ @@ -52,7 +171,7 @@ val* var1 /* : MModule */; var1 = self->attrs[COLOR_transform__TransformVisitor___mmodule].val; /* _mmodule on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 46); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 56); show_backtrace(1); } var = var1; @@ -68,7 +187,7 @@ val* var3 /* : MModule */; var3 = self->attrs[COLOR_transform__TransformVisitor___mmodule].val; /* _mmodule on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 46); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 56); show_backtrace(1); } var1 = var3; @@ -98,7 +217,7 @@ val* var1 /* : MClassDef */; var1 = self->attrs[COLOR_transform__TransformVisitor___mclassdef].val; /* _mclassdef on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 47); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 57); show_backtrace(1); } var = var1; @@ -114,7 +233,7 @@ val* var3 /* : MClassDef */; var3 = self->attrs[COLOR_transform__TransformVisitor___mclassdef].val; /* _mclassdef on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 47); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 57); show_backtrace(1); } var1 = var3; @@ -144,7 +263,7 @@ val* var1 /* : MPropDef */; var1 = self->attrs[COLOR_transform__TransformVisitor___mpropdef].val; /* _mpropdef on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 48); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 58); show_backtrace(1); } var = var1; @@ -160,7 +279,7 @@ val* var3 /* : MPropDef */; var3 = self->attrs[COLOR_transform__TransformVisitor___mpropdef].val; /* _mpropdef on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 48); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 58); show_backtrace(1); } var1 = var3; @@ -190,7 +309,7 @@ val* var1 /* : ASTBuilder */; var1 = self->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } var = var1; @@ -206,7 +325,7 @@ val* var3 /* : ASTBuilder */; var3 = self->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } var1 = var3; @@ -234,175 +353,175 @@ void transform__TransformVisitor__init(val* self, val* p0, val* p1) { val* var_phase /* var phase: TransformPhase */; val* var_npropdef /* var npropdef: APropdef */; val* var /* : nullable MPropDef */; -val* var4 /* : nullable MPropDef */; -val* var6 /* : MPropDef */; -val* var8 /* : MPropDef */; -val* var9 /* : MClassDef */; -val* var11 /* : MClassDef */; -val* var13 /* : MClassDef */; -val* var15 /* : MClassDef */; -val* var16 /* : MModule */; -val* var18 /* : MModule */; -val* var20 /* : ASTBuilder */; -val* var21 /* : MModule */; -val* var23 /* : MModule */; -val* var24 /* : MPropDef */; -val* var26 /* : MPropDef */; -val* var27 /* : MClassDef */; -val* var29 /* : MClassDef */; -val* var30 /* : MClassType */; -val* var32 /* : MClassType */; -{ -{ /* Inline parser_nodes#Visitor#init (self) on */ -RET_LABEL1:(void)0; -} +val* var3 /* : nullable MPropDef */; +val* var5 /* : MPropDef */; +val* var7 /* : MPropDef */; +val* var8 /* : MClassDef */; +val* var10 /* : MClassDef */; +val* var12 /* : MClassDef */; +val* var14 /* : MClassDef */; +val* var15 /* : MModule */; +val* var17 /* : MModule */; +val* var19 /* : ASTBuilder */; +val* var20 /* : MModule */; +val* var22 /* : MModule */; +val* var23 /* : MPropDef */; +val* var25 /* : MPropDef */; +val* var26 /* : MClassDef */; +val* var28 /* : MClassDef */; +val* var29 /* : MClassType */; +val* var31 /* : MClassType */; +{ +((void (*)(val*))(self->class->vft[COLOR_kernel__Object__init]))(self) /* init on */; } var_phase = p0; var_npropdef = p1; { { /* Inline transform#TransformVisitor#phase= (self,var_phase) on */ self->attrs[COLOR_transform__TransformVisitor___phase].val = var_phase; /* _phase on */ -RET_LABEL2:(void)0; +RET_LABEL1:(void)0; } } { { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on */ -var4 = var_npropdef->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var = var4; -RET_LABEL3:(void)0; +var3 = var_npropdef->attrs[COLOR_modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var = var3; +RET_LABEL2:(void)0; } } if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 54); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 64); show_backtrace(1); } { { /* Inline transform#TransformVisitor#mpropdef= (self,var) on */ self->attrs[COLOR_transform__TransformVisitor___mpropdef].val = var; /* _mpropdef on */ -RET_LABEL5:(void)0; +RET_LABEL4:(void)0; } } { { /* Inline transform#TransformVisitor#mpropdef (self) on */ -var8 = self->attrs[COLOR_transform__TransformVisitor___mpropdef].val; /* _mpropdef on */ -if (unlikely(var8 == NULL)) { +var7 = self->attrs[COLOR_transform__TransformVisitor___mpropdef].val; /* _mpropdef on */ +if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 48); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 58); show_backtrace(1); } -var6 = var8; -RET_LABEL7:(void)0; +var5 = var7; +RET_LABEL6:(void)0; } } { -{ /* Inline model#MPropDef#mclassdef (var6) on */ -var11 = var6->attrs[COLOR_model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var11 == NULL)) { +{ /* Inline model#MPropDef#mclassdef (var5) on */ +var10 = var5->attrs[COLOR_model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895); show_backtrace(1); } -var9 = var11; -RET_LABEL10:(void)0; +var8 = var10; +RET_LABEL9:(void)0; } } { -{ /* Inline transform#TransformVisitor#mclassdef= (self,var9) on */ -self->attrs[COLOR_transform__TransformVisitor___mclassdef].val = var9; /* _mclassdef on */ -RET_LABEL12:(void)0; +{ /* Inline transform#TransformVisitor#mclassdef= (self,var8) on */ +self->attrs[COLOR_transform__TransformVisitor___mclassdef].val = var8; /* _mclassdef on */ +RET_LABEL11:(void)0; } } { { /* Inline transform#TransformVisitor#mclassdef (self) on */ -var15 = self->attrs[COLOR_transform__TransformVisitor___mclassdef].val; /* _mclassdef on */ -if (unlikely(var15 == NULL)) { +var14 = self->attrs[COLOR_transform__TransformVisitor___mclassdef].val; /* _mclassdef on */ +if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 47); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 57); show_backtrace(1); } -var13 = var15; -RET_LABEL14:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var13) on */ -var18 = var13->attrs[COLOR_model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var18 == NULL)) { +{ /* Inline model#MClassDef#mmodule (var12) on */ +var17 = var12->attrs[COLOR_model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489); show_backtrace(1); } -var16 = var18; -RET_LABEL17:(void)0; +var15 = var17; +RET_LABEL16:(void)0; } } { -{ /* Inline transform#TransformVisitor#mmodule= (self,var16) on */ -self->attrs[COLOR_transform__TransformVisitor___mmodule].val = var16; /* _mmodule on */ -RET_LABEL19:(void)0; +{ /* Inline transform#TransformVisitor#mmodule= (self,var15) on */ +self->attrs[COLOR_transform__TransformVisitor___mmodule].val = var15; /* _mmodule on */ +RET_LABEL18:(void)0; } } -var20 = NEW_astbuilder__ASTBuilder(&type_astbuilder__ASTBuilder); +var19 = NEW_astbuilder__ASTBuilder(&type_astbuilder__ASTBuilder); { { /* Inline transform#TransformVisitor#mmodule (self) on */ -var23 = self->attrs[COLOR_transform__TransformVisitor___mmodule].val; /* _mmodule on */ -if (unlikely(var23 == NULL)) { +var22 = self->attrs[COLOR_transform__TransformVisitor___mmodule].val; /* _mmodule on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 46); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 56); show_backtrace(1); } -var21 = var23; -RET_LABEL22:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } { { /* Inline transform#TransformVisitor#mpropdef (self) on */ -var26 = self->attrs[COLOR_transform__TransformVisitor___mpropdef].val; /* _mpropdef on */ -if (unlikely(var26 == NULL)) { +var25 = self->attrs[COLOR_transform__TransformVisitor___mpropdef].val; /* _mpropdef on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 48); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 58); show_backtrace(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -{ /* Inline model#MPropDef#mclassdef (var24) on */ -var29 = var24->attrs[COLOR_model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var29 == NULL)) { +{ /* Inline model#MPropDef#mclassdef (var23) on */ +var28 = var23->attrs[COLOR_model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var28 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895); show_backtrace(1); } -var27 = var29; -RET_LABEL28:(void)0; +var26 = var28; +RET_LABEL27:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var27) on */ -var32 = var27->attrs[COLOR_model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var32 == NULL)) { +{ /* Inline model#MClassDef#bound_mtype (var26) on */ +var31 = var26->attrs[COLOR_model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var31 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495); show_backtrace(1); } -var30 = var32; -RET_LABEL31:(void)0; +var29 = var31; +RET_LABEL30:(void)0; } } { -{ /* Inline astbuilder#ASTBuilder#init (var20,var21,var30) on */ -var20->attrs[COLOR_astbuilder__ASTBuilder___mmodule].val = var21; /* _mmodule on */ -var20->attrs[COLOR_astbuilder__ASTBuilder___anchor].val = var30; /* _anchor on */ -RET_LABEL33:(void)0; +((void (*)(val*, val*))(var19->class->vft[COLOR_astbuilder__ASTBuilder__mmodule_61d]))(var19, var20) /* mmodule= on */; } +{ +((void (*)(val*, val*))(var19->class->vft[COLOR_astbuilder__ASTBuilder__anchor_61d]))(var19, var29) /* anchor= on */; } { -{ /* Inline transform#TransformVisitor#builder= (self,var20) on */ -self->attrs[COLOR_transform__TransformVisitor___builder].val = var20; /* _builder on */ -RET_LABEL34:(void)0; +((void (*)(val*))(var19->class->vft[COLOR_kernel__Object__init]))(var19) /* init on */; +} +{ +{ /* Inline transform#TransformVisitor#builder= (self,var19) on */ +self->attrs[COLOR_transform__TransformVisitor___builder].val = var19; /* _builder on */ +RET_LABEL32:(void)0; } } RET_LABEL:; @@ -463,77 +582,82 @@ RET_LABEL:; void transform__AVardeclExpr__accept_transform_visitor(val* self, val* p0) { val* var_v /* var v: TransformVisitor */; val* var /* : nullable AExpr */; +val* var2 /* : nullable AExpr */; val* var_nexpr /* var nexpr: nullable AExpr */; -val* var1 /* : null */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var_other /* var other: nullable Object */; +val* var3 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var7 /* : Bool */; -val* var8 /* : ASTBuilder */; +short int var9 /* : Bool */; val* var10 /* : ASTBuilder */; -val* var11 /* : nullable Variable */; +val* var12 /* : ASTBuilder */; val* var13 /* : nullable Variable */; -val* var14 /* : AVarAssignExpr */; +val* var15 /* : nullable Variable */; +val* var16 /* : AVarAssignExpr */; val* var_nvar /* var nvar: AVarAssignExpr */; var_v = p0; { -var = parser_nodes__AVardeclExpr__n_expr(self); +{ /* Inline parser_nodes#AVardeclExpr#n_expr (self) on */ +var2 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on */ +var = var2; +RET_LABEL1:(void)0; +} } var_nexpr = var; -var1 = NULL; +var3 = NULL; if (var_nexpr == NULL) { -var2 = 1; /* is null */ +var4 = 1; /* is null */ } else { -var2 = 0; /* arg is null but recv is not */ +var4 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_nexpr,var1) on */ -var_other = var1; +{ /* Inline kernel#Object#== (var_nexpr,var3) on */ +var_other = var3; { { /* Inline kernel#Object#is_same_instance (var_nexpr,var_other) on */ -var7 = var_nexpr == var_other; +var9 = var_nexpr == var_other; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; +} +} var5 = var7; goto RET_LABEL6; RET_LABEL6:(void)0; } +var4 = var5; } -var3 = var5; -goto RET_LABEL4; -RET_LABEL4:(void)0; -} -var2 = var3; -} -if (var2){ +if (var4){ } else { { { /* Inline transform#TransformVisitor#builder (var_v) on */ -var10 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ -if (unlikely(var10 == NULL)) { +var12 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } -var8 = var10; -RET_LABEL9:(void)0; +var10 = var12; +RET_LABEL11:(void)0; } } { { /* Inline scope#AVardeclExpr#variable (self) on */ -var13 = self->attrs[COLOR_scope__AVardeclExpr___variable].val; /* _variable on */ -var11 = var13; -RET_LABEL12:(void)0; +var15 = self->attrs[COLOR_scope__AVardeclExpr___variable].val; /* _variable on */ +var13 = var15; +RET_LABEL14:(void)0; } } -if (unlikely(var11 == NULL)) { +if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 100); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 110); show_backtrace(1); } { -var14 = astbuilder__ASTBuilder__make_var_assign(var8, var11, var_nexpr); +var16 = astbuilder__ASTBuilder__make_var_assign(var10, var13, var_nexpr); } -var_nvar = var14; +var_nvar = var16; { parser_nodes__Prod__replace_with(self, var_nvar); /* Direct call parser_nodes#Prod#replace_with on */ } @@ -551,21 +675,26 @@ val* var_v /* var v: TransformVisitor */; val* var /* : ASTBuilder */; val* var2 /* : ASTBuilder */; val* var3 /* : AExpr */; -val* var4 /* : nullable MType */; +val* var5 /* : AExpr */; val* var6 /* : nullable MType */; -val* var7 /* : AIfExpr */; +val* var8 /* : nullable MType */; +val* var9 /* : AIfExpr */; val* var_nif /* var nif: AIfExpr */; -val* var8 /* : nullable AExpr */; -val* var9 /* : AExpr */; val* var10 /* : nullable AExpr */; -val* var11 /* : AExpr */; +val* var12 /* : nullable AExpr */; +val* var13 /* : AExpr */; +val* var15 /* : AExpr */; +val* var16 /* : nullable AExpr */; +val* var18 /* : nullable AExpr */; +val* var19 /* : AExpr */; +val* var21 /* : AExpr */; var_v = p0; { { /* Inline transform#TransformVisitor#builder (var_v) on */ var2 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } var = var2; @@ -573,44 +702,79 @@ RET_LABEL1:(void)0; } } { -var3 = parser_nodes__AIfexprExpr__n_expr(self); +{ /* Inline parser_nodes#AIfexprExpr#n_expr (self) on */ +var5 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1396); +show_backtrace(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} } { { /* Inline typing#AExpr#mtype (self) on */ -var6 = self->attrs[COLOR_typing__AExpr___mtype].val; /* _mtype on */ -var4 = var6; -RET_LABEL5:(void)0; +var8 = self->attrs[COLOR_typing__AExpr___mtype].val; /* _mtype on */ +var6 = var8; +RET_LABEL7:(void)0; } } { -var7 = astbuilder__ASTBuilder__make_if(var, var3, var4); +var9 = astbuilder__ASTBuilder__make_if(var, var3, var6); } -var_nif = var7; +var_nif = var9; { -var8 = parser_nodes__AIfExpr__n_then(var_nif); +{ /* Inline parser_nodes#AIfExpr#n_then (var_nif) on */ +var12 = var_nif->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on */ +var10 = var12; +RET_LABEL11:(void)0; +} } { -var9 = parser_nodes__AIfexprExpr__n_then(self); +{ /* Inline parser_nodes#AIfexprExpr#n_then (self) on */ +var15 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on */ +if (unlikely(var15 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1398); +show_backtrace(1); } -if (var8 == NULL) { +var13 = var15; +RET_LABEL14:(void)0; +} +} +if (var10 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 113); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 123); show_backtrace(1); } else { -((void (*)(val*, val*))(var8->class->vft[COLOR_astbuilder__AExpr__add]))(var8, var9) /* add on */; +((void (*)(val*, val*))(var10->class->vft[COLOR_astbuilder__AExpr__add]))(var10, var13) /* add on */; } { -var10 = parser_nodes__AIfExpr__n_else(var_nif); +{ /* Inline parser_nodes#AIfExpr#n_else (var_nif) on */ +var18 = var_nif->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ +var16 = var18; +RET_LABEL17:(void)0; +} } { -var11 = parser_nodes__AIfexprExpr__n_else(self); +{ /* Inline parser_nodes#AIfexprExpr#n_else (self) on */ +var21 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on */ +if (unlikely(var21 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1400); +show_backtrace(1); } -if (var10 == NULL) { +var19 = var21; +RET_LABEL20:(void)0; +} +} +if (var16 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 114); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 124); show_backtrace(1); } else { -((void (*)(val*, val*))(var10->class->vft[COLOR_astbuilder__AExpr__add]))(var10, var11) /* add on */; +((void (*)(val*, val*))(var16->class->vft[COLOR_astbuilder__AExpr__add]))(var16, var19) /* add on */; } { parser_nodes__Prod__replace_with(self, var_nif); /* Direct call parser_nodes#Prod#replace_with on */ @@ -628,22 +792,27 @@ val* var_v /* var v: TransformVisitor */; val* var /* : ASTBuilder */; val* var2 /* : ASTBuilder */; val* var3 /* : AExpr */; -val* var4 /* : nullable MType */; +val* var5 /* : AExpr */; val* var6 /* : nullable MType */; -val* var7 /* : AIfExpr */; +val* var8 /* : nullable MType */; +val* var9 /* : AIfExpr */; val* var_nif /* var nif: AIfExpr */; -val* var8 /* : nullable AExpr */; -val* var9 /* : AExpr */; -val* var10 /* : AVarExpr */; -val* var11 /* : nullable AExpr */; -val* var12 /* : AExpr */; +val* var10 /* : nullable AExpr */; +val* var12 /* : nullable AExpr */; +val* var13 /* : AExpr */; +val* var15 /* : AExpr */; +val* var16 /* : AVarExpr */; +val* var17 /* : nullable AExpr */; +val* var19 /* : nullable AExpr */; +val* var20 /* : AExpr */; +val* var22 /* : AExpr */; var_v = p0; { { /* Inline transform#TransformVisitor#builder (var_v) on */ var2 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } var = var2; @@ -651,47 +820,82 @@ RET_LABEL1:(void)0; } } { -var3 = parser_nodes__AOrExpr__n_expr(self); +{ /* Inline parser_nodes#AOrExpr#n_expr (self) on */ +var5 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1486); +show_backtrace(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} } { { /* Inline typing#AExpr#mtype (self) on */ -var6 = self->attrs[COLOR_typing__AExpr___mtype].val; /* _mtype on */ -var4 = var6; -RET_LABEL5:(void)0; +var8 = self->attrs[COLOR_typing__AExpr___mtype].val; /* _mtype on */ +var6 = var8; +RET_LABEL7:(void)0; } } { -var7 = astbuilder__ASTBuilder__make_if(var, var3, var4); +var9 = astbuilder__ASTBuilder__make_if(var, var3, var6); } -var_nif = var7; +var_nif = var9; { -var8 = parser_nodes__AIfExpr__n_then(var_nif); +{ /* Inline parser_nodes#AIfExpr#n_then (var_nif) on */ +var12 = var_nif->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on */ +var10 = var12; +RET_LABEL11:(void)0; +} } { -var9 = parser_nodes__AOrExpr__n_expr(self); +{ /* Inline parser_nodes#AOrExpr#n_expr (self) on */ +var15 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var15 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1486); +show_backtrace(1); +} +var13 = var15; +RET_LABEL14:(void)0; +} } { -var10 = astbuilder__AExpr__make_var_read(var9); +var16 = astbuilder__AExpr__make_var_read(var13); } -if (var8 == NULL) { +if (var10 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 125); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 135); show_backtrace(1); } else { -((void (*)(val*, val*))(var8->class->vft[COLOR_astbuilder__AExpr__add]))(var8, var10) /* add on */; +((void (*)(val*, val*))(var10->class->vft[COLOR_astbuilder__AExpr__add]))(var10, var16) /* add on */; } { -var11 = parser_nodes__AIfExpr__n_else(var_nif); +{ /* Inline parser_nodes#AIfExpr#n_else (var_nif) on */ +var19 = var_nif->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ +var17 = var19; +RET_LABEL18:(void)0; +} } { -var12 = parser_nodes__AOrExpr__n_expr2(self); +{ /* Inline parser_nodes#AOrExpr#n_expr2 (self) on */ +var22 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var22 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1487); +show_backtrace(1); +} +var20 = var22; +RET_LABEL21:(void)0; +} } -if (var11 == NULL) { +if (var17 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 126); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 136); show_backtrace(1); } else { -((void (*)(val*, val*))(var11->class->vft[COLOR_astbuilder__AExpr__add]))(var11, var12) /* add on */; +((void (*)(val*, val*))(var17->class->vft[COLOR_astbuilder__AExpr__add]))(var17, var20) /* add on */; } { parser_nodes__Prod__replace_with(self, var_nif); /* Direct call parser_nodes#Prod#replace_with on */ @@ -724,22 +928,27 @@ val* var_v /* var v: TransformVisitor */; val* var /* : ASTBuilder */; val* var2 /* : ASTBuilder */; val* var3 /* : AExpr */; -val* var4 /* : nullable MType */; +val* var5 /* : AExpr */; val* var6 /* : nullable MType */; -val* var7 /* : AIfExpr */; +val* var8 /* : nullable MType */; +val* var9 /* : AIfExpr */; val* var_nif /* var nif: AIfExpr */; -val* var8 /* : nullable AExpr */; -val* var9 /* : AExpr */; val* var10 /* : nullable AExpr */; -val* var11 /* : AExpr */; -val* var12 /* : AVarExpr */; +val* var12 /* : nullable AExpr */; +val* var13 /* : AExpr */; +val* var15 /* : AExpr */; +val* var16 /* : nullable AExpr */; +val* var18 /* : nullable AExpr */; +val* var19 /* : AExpr */; +val* var21 /* : AExpr */; +val* var22 /* : AVarExpr */; var_v = p0; { { /* Inline transform#TransformVisitor#builder (var_v) on */ var2 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } var = var2; @@ -747,47 +956,82 @@ RET_LABEL1:(void)0; } } { -var3 = parser_nodes__AAndExpr__n_expr(self); +{ /* Inline parser_nodes#AAndExpr#n_expr (self) on */ +var5 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1493); +show_backtrace(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} } { { /* Inline typing#AExpr#mtype (self) on */ -var6 = self->attrs[COLOR_typing__AExpr___mtype].val; /* _mtype on */ -var4 = var6; -RET_LABEL5:(void)0; +var8 = self->attrs[COLOR_typing__AExpr___mtype].val; /* _mtype on */ +var6 = var8; +RET_LABEL7:(void)0; } } { -var7 = astbuilder__ASTBuilder__make_if(var, var3, var4); +var9 = astbuilder__ASTBuilder__make_if(var, var3, var6); } -var_nif = var7; +var_nif = var9; { -var8 = parser_nodes__AIfExpr__n_then(var_nif); +{ /* Inline parser_nodes#AIfExpr#n_then (var_nif) on */ +var12 = var_nif->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on */ +var10 = var12; +RET_LABEL11:(void)0; +} } { -var9 = parser_nodes__AAndExpr__n_expr2(self); +{ /* Inline parser_nodes#AAndExpr#n_expr2 (self) on */ +var15 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var15 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1494); +show_backtrace(1); +} +var13 = var15; +RET_LABEL14:(void)0; } -if (var8 == NULL) { +} +if (var10 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 144); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 154); show_backtrace(1); } else { -((void (*)(val*, val*))(var8->class->vft[COLOR_astbuilder__AExpr__add]))(var8, var9) /* add on */; +((void (*)(val*, val*))(var10->class->vft[COLOR_astbuilder__AExpr__add]))(var10, var13) /* add on */; } { -var10 = parser_nodes__AIfExpr__n_else(var_nif); +{ /* Inline parser_nodes#AIfExpr#n_else (var_nif) on */ +var18 = var_nif->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ +var16 = var18; +RET_LABEL17:(void)0; +} } { -var11 = parser_nodes__AAndExpr__n_expr(self); +{ /* Inline parser_nodes#AAndExpr#n_expr (self) on */ +var21 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var21 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1493); +show_backtrace(1); +} +var19 = var21; +RET_LABEL20:(void)0; +} } { -var12 = astbuilder__AExpr__make_var_read(var11); +var22 = astbuilder__AExpr__make_var_read(var19); } -if (var10 == NULL) { +if (var16 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 145); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 155); show_backtrace(1); } else { -((void (*)(val*, val*))(var10->class->vft[COLOR_astbuilder__AExpr__add]))(var10, var12) /* add on */; +((void (*)(val*, val*))(var16->class->vft[COLOR_astbuilder__AExpr__add]))(var16, var22) /* add on */; } { parser_nodes__Prod__replace_with(self, var_nif); /* Direct call parser_nodes#Prod#replace_with on */ @@ -802,31 +1046,1563 @@ RET_LABEL:; /* method transform#AWhileExpr#accept_transform_visitor for (self: AWhileExpr, TransformVisitor) */ void transform__AWhileExpr__accept_transform_visitor(val* self, val* p0) { val* var_v /* var v: TransformVisitor */; +val* var /* : ASTBuilder */; +val* var2 /* : ASTBuilder */; +val* var3 /* : ALoopExpr */; +val* var_nloop /* var nloop: ALoopExpr */; +val* var4 /* : ASTBuilder */; +val* var6 /* : ASTBuilder */; +val* var7 /* : AExpr */; +val* var9 /* : AExpr */; +val* var10 /* : null */; +val* var11 /* : AIfExpr */; +val* var_nif /* var nif: AIfExpr */; +val* var12 /* : nullable AExpr */; +val* var14 /* : nullable AExpr */; +val* var_nblock /* var nblock: nullable AExpr */; +val* var15 /* : null */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var19 /* : Bool */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +val* var22 /* : nullable AExpr */; +val* var24 /* : nullable AExpr */; +val* var25 /* : nullable EscapeMark */; +val* var27 /* : nullable EscapeMark */; +val* var_escapemark /* var escapemark: EscapeMark */; +val* var28 /* : ASTBuilder */; +val* var30 /* : ASTBuilder */; +val* var31 /* : ABreakExpr */; +val* var_nbreak /* var nbreak: ABreakExpr */; +val* var32 /* : nullable AExpr */; +val* var34 /* : nullable AExpr */; +val* var35 /* : nullable EscapeMark */; +val* var37 /* : nullable EscapeMark */; +val* var39 /* : nullable EscapeMark */; +val* var41 /* : nullable EscapeMark */; var_v = p0; -RET_LABEL:; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var2 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); } -/* method transform#AWhileExpr#accept_transform_visitor for (self: Object, TransformVisitor) */ -void VIRTUAL_transform__AWhileExpr__accept_transform_visitor(val* self, val* p0) { -val* var_v /* var v: TransformVisitor */; -{ /* Inline transform#AWhileExpr#accept_transform_visitor (self,p0) on */ -var_v = p0; +var = var2; RET_LABEL1:(void)0; } -RET_LABEL:; } -/* method transform#AForExpr#accept_transform_visitor for (self: AForExpr, TransformVisitor) */ +{ +var3 = astbuilder__ASTBuilder__make_loop(var); +} +var_nloop = var3; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var6 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} +} +{ +{ /* Inline parser_nodes#AWhileExpr#n_expr (self) on */ +var9 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1408); +show_backtrace(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +var10 = NULL; +{ +var11 = astbuilder__ASTBuilder__make_if(var4, var7, var10); +} +var_nif = var11; +{ +astbuilder__ALoopExpr__add(var_nloop, var_nif); /* Direct call astbuilder#ALoopExpr#add on */ +} +{ +{ /* Inline parser_nodes#AWhileExpr#n_block (self) on */ +var14 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on */ +var12 = var14; +RET_LABEL13:(void)0; +} +} +var_nblock = var12; +var15 = NULL; +if (var_nblock == NULL) { +var16 = 0; /* is null */ +} else { +var16 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_nblock,var15) on */ +var_other = var15; +{ +var20 = ((short int (*)(val*, val*))(var_nblock->class->vft[COLOR_kernel__Object___61d_61d]))(var_nblock, var_other) /* == on */; +var19 = var20; +} +var21 = !var19; +var17 = var21; +goto RET_LABEL18; +RET_LABEL18:(void)0; +} +var16 = var17; +} +if (var16){ +{ +{ /* Inline parser_nodes#AIfExpr#n_then (var_nif) on */ +var24 = var_nif->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on */ +var22 = var24; +RET_LABEL23:(void)0; +} +} +if (var22 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 169); +show_backtrace(1); +} else { +((void (*)(val*, val*))(var22->class->vft[COLOR_astbuilder__AExpr__add]))(var22, var_nblock) /* add on */; +} +} else { +} +{ +{ /* Inline scope#AWhileExpr#break_mark (self) on */ +var27 = self->attrs[COLOR_scope__AWhileExpr___break_mark].val; /* _break_mark on */ +var25 = var27; +RET_LABEL26:(void)0; +} +} +if (unlikely(var25 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 171); +show_backtrace(1); +} +var_escapemark = var25; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var30 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var28 = var30; +RET_LABEL29:(void)0; +} +} +{ +var31 = astbuilder__ASTBuilder__make_break(var28, var_escapemark); +} +var_nbreak = var31; +{ +{ /* Inline parser_nodes#AIfExpr#n_else (var_nif) on */ +var34 = var_nif->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ +var32 = var34; +RET_LABEL33:(void)0; +} +} +if (var32 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 173); +show_backtrace(1); +} else { +((void (*)(val*, val*))(var32->class->vft[COLOR_astbuilder__AExpr__add]))(var32, var_nbreak) /* add on */; +} +{ +{ /* Inline scope#AWhileExpr#break_mark (self) on */ +var37 = self->attrs[COLOR_scope__AWhileExpr___break_mark].val; /* _break_mark on */ +var35 = var37; +RET_LABEL36:(void)0; +} +} +{ +{ /* Inline scope#ALoopExpr#break_mark= (var_nloop,var35) on */ +var_nloop->attrs[COLOR_scope__ALoopExpr___break_mark].val = var35; /* _break_mark on */ +RET_LABEL38:(void)0; +} +} +{ +{ /* Inline scope#AWhileExpr#continue_mark (self) on */ +var41 = self->attrs[COLOR_scope__AWhileExpr___continue_mark].val; /* _continue_mark on */ +var39 = var41; +RET_LABEL40:(void)0; +} +} +{ +{ /* Inline scope#ALoopExpr#continue_mark= (var_nloop,var39) on */ +var_nloop->attrs[COLOR_scope__ALoopExpr___continue_mark].val = var39; /* _continue_mark on */ +RET_LABEL42:(void)0; +} +} +{ +parser_nodes__Prod__replace_with(self, var_nloop); /* Direct call parser_nodes#Prod#replace_with on */ +} +RET_LABEL:; +} +/* method transform#AWhileExpr#accept_transform_visitor for (self: Object, TransformVisitor) */ +void VIRTUAL_transform__AWhileExpr__accept_transform_visitor(val* self, val* p0) { +transform__AWhileExpr__accept_transform_visitor(self, p0); /* Direct call transform#AWhileExpr#accept_transform_visitor on */ +RET_LABEL:; +} +/* method transform#AForExpr#accept_transform_visitor for (self: AForExpr, TransformVisitor) */ void transform__AForExpr__accept_transform_visitor(val* self, val* p0) { val* var_v /* var v: TransformVisitor */; +val* var /* : nullable EscapeMark */; +val* var2 /* : nullable EscapeMark */; +val* var_escapemark /* var escapemark: nullable EscapeMark */; +val* var3 /* : null */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : ASTBuilder */; +val* var12 /* : ASTBuilder */; +val* var13 /* : ABlockExpr */; +val* var_nblock /* var nblock: ABlockExpr */; +val* var14 /* : AExpr */; +val* var16 /* : AExpr */; +val* var_nexpr /* var nexpr: AExpr */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; +val* var19 /* : nullable Array[Variable] */; +val* var21 /* : nullable Array[Variable] */; +long var22 /* : Int */; +long var24 /* : Int */; +long var25 /* : Int */; +short int var26 /* : Bool */; +short int var27 /* : Bool */; +short int var29 /* : Bool */; +short int var_ /* var : Bool */; +short int var30 /* : Bool */; +int cltype; +int idtype; +short int var_31 /* var : Bool */; +val* var32 /* : TransformPhase */; +val* var34 /* : TransformPhase */; +val* var35 /* : ToolContext */; +val* var37 /* : ToolContext */; +val* var38 /* : OptionBool */; +val* var40 /* : OptionBool */; +val* var41 /* : nullable Object */; +val* var43 /* : nullable Object */; +short int var44 /* : Bool */; +short int var45 /* : Bool */; +val* var46 /* : nullable Array[Variable] */; +val* var48 /* : nullable Array[Variable] */; +val* var49 /* : nullable Object */; +val* var_variable /* var variable: Variable */; +val* var50 /* : ASTBuilder */; +val* var52 /* : ASTBuilder */; +val* var53 /* : AExpr */; +val* var55 /* : AExpr */; +val* var56 /* : AVarAssignExpr */; +val* var57 /* : AExpr */; +val* var59 /* : AExpr */; +val* var_to /* var to: AExpr */; +val* var60 /* : ASTBuilder */; +val* var62 /* : ASTBuilder */; +val* var63 /* : ALoopExpr */; +val* var_nloop /* var nloop: ALoopExpr */; +val* var65 /* : ASTBuilder */; +val* var67 /* : ASTBuilder */; +val* var68 /* : ASTBuilder */; +val* var70 /* : ASTBuilder */; +val* var71 /* : nullable MType */; +val* var73 /* : nullable MType */; +val* var74 /* : AVarExpr */; +val* var75 /* : nullable CallSite */; +val* var77 /* : nullable CallSite */; +val* var78 /* : Array[AVarExpr] */; +long var79 /* : Int */; +val* var_80 /* var : Array[AVarExpr] */; +val* var81 /* : AVarExpr */; +val* var82 /* : ACallExpr */; +val* var_is_ok /* var is_ok: ACallExpr */; +val* var83 /* : ASTBuilder */; +val* var85 /* : ASTBuilder */; +val* var86 /* : null */; +val* var87 /* : AIfExpr */; +val* var_nif /* var nif: AIfExpr */; +val* var88 /* : nullable AExpr */; +val* var90 /* : nullable AExpr */; +val* var_nthen /* var nthen: nullable AExpr */; +val* var91 /* : ASTBuilder */; +val* var93 /* : ASTBuilder */; +val* var94 /* : ADoExpr */; +val* var_ndo /* var ndo: ADoExpr */; +val* var95 /* : nullable EscapeMark */; +val* var97 /* : nullable EscapeMark */; +val* var99 /* : nullable AExpr */; +val* var101 /* : nullable AExpr */; +val* var102 /* : ASTBuilder */; +val* var104 /* : ASTBuilder */; +long var105 /* : Int */; +val* var106 /* : AIntExpr */; +val* var_one /* var one: AIntExpr */; +val* var107 /* : ASTBuilder */; +val* var109 /* : ASTBuilder */; +val* var110 /* : ASTBuilder */; +val* var112 /* : ASTBuilder */; +val* var113 /* : nullable MType */; +val* var115 /* : nullable MType */; +val* var116 /* : AVarExpr */; +val* var117 /* : nullable CallSite */; +val* var119 /* : nullable CallSite */; +val* var120 /* : Array[AIntExpr] */; +long var121 /* : Int */; +val* var_122 /* var : Array[AIntExpr] */; +val* var123 /* : ACallExpr */; +val* var_succ /* var succ: ACallExpr */; +val* var124 /* : ASTBuilder */; +val* var126 /* : ASTBuilder */; +val* var127 /* : AVarAssignExpr */; +val* var128 /* : ASTBuilder */; +val* var130 /* : ASTBuilder */; +val* var131 /* : ABreakExpr */; +val* var_nbreak /* var nbreak: ABreakExpr */; +val* var132 /* : nullable AExpr */; +val* var134 /* : nullable AExpr */; +val* var135 /* : ASTBuilder */; +val* var137 /* : ASTBuilder */; +val* var138 /* : AVarExpr */; +val* var139 /* : nullable CallSite */; +val* var141 /* : nullable CallSite */; +val* var142 /* : null */; +val* var143 /* : ACallExpr */; +val* var_iter /* var iter: ACallExpr */; +val* var144 /* : ASTBuilder */; +val* var146 /* : ASTBuilder */; +val* var147 /* : ALoopExpr */; +val* var_nloop148 /* var nloop: ALoopExpr */; +val* var150 /* : ASTBuilder */; +val* var152 /* : ASTBuilder */; +val* var153 /* : AVarExpr */; +val* var154 /* : nullable CallSite */; +val* var156 /* : nullable CallSite */; +val* var157 /* : null */; +val* var158 /* : ACallExpr */; +val* var_is_ok159 /* var is_ok: ACallExpr */; +val* var160 /* : ASTBuilder */; +val* var162 /* : ASTBuilder */; +val* var163 /* : null */; +val* var164 /* : AIfExpr */; +val* var_nif165 /* var nif: AIfExpr */; +val* var166 /* : nullable AExpr */; +val* var168 /* : nullable AExpr */; +val* var_nthen169 /* var nthen: nullable AExpr */; +val* var170 /* : ASTBuilder */; +val* var172 /* : ASTBuilder */; +val* var173 /* : ADoExpr */; +val* var_ndo174 /* var ndo: ADoExpr */; +val* var175 /* : nullable EscapeMark */; +val* var177 /* : nullable EscapeMark */; +val* var179 /* : nullable Array[Variable] */; +val* var181 /* : nullable Array[Variable] */; +long var182 /* : Int */; +long var184 /* : Int */; +long var185 /* : Int */; +short int var186 /* : Bool */; +short int var187 /* : Bool */; +short int var189 /* : Bool */; +val* var190 /* : ASTBuilder */; +val* var192 /* : ASTBuilder */; +val* var193 /* : AVarExpr */; +val* var194 /* : nullable CallSite */; +val* var196 /* : nullable CallSite */; +val* var197 /* : null */; +val* var198 /* : ACallExpr */; +val* var_item /* var item: ACallExpr */; +val* var199 /* : ASTBuilder */; +val* var201 /* : ASTBuilder */; +val* var202 /* : nullable Array[Variable] */; +val* var204 /* : nullable Array[Variable] */; +val* var205 /* : nullable Object */; +val* var206 /* : AVarAssignExpr */; +val* var207 /* : nullable Array[Variable] */; +val* var209 /* : nullable Array[Variable] */; +long var210 /* : Int */; +long var212 /* : Int */; +long var213 /* : Int */; +short int var214 /* : Bool */; +short int var215 /* : Bool */; +short int var217 /* : Bool */; +val* var218 /* : ASTBuilder */; +val* var220 /* : ASTBuilder */; +val* var221 /* : AVarExpr */; +val* var222 /* : nullable CallSite */; +val* var224 /* : nullable CallSite */; +val* var225 /* : null */; +val* var226 /* : ACallExpr */; +val* var_key /* var key: ACallExpr */; +val* var227 /* : ASTBuilder */; +val* var229 /* : ASTBuilder */; +val* var230 /* : nullable Array[Variable] */; +val* var232 /* : nullable Array[Variable] */; +long var233 /* : Int */; +val* var234 /* : nullable Object */; +val* var235 /* : AVarAssignExpr */; +val* var236 /* : ASTBuilder */; +val* var238 /* : ASTBuilder */; +val* var239 /* : AVarExpr */; +val* var240 /* : nullable CallSite */; +val* var242 /* : nullable CallSite */; +val* var243 /* : null */; +val* var244 /* : ACallExpr */; +val* var_item245 /* var item: ACallExpr */; +val* var246 /* : ASTBuilder */; +val* var248 /* : ASTBuilder */; +val* var249 /* : nullable Array[Variable] */; +val* var251 /* : nullable Array[Variable] */; +long var252 /* : Int */; +val* var253 /* : nullable Object */; +val* var254 /* : AVarAssignExpr */; +val* var255 /* : nullable AExpr */; +val* var257 /* : nullable AExpr */; +val* var258 /* : ASTBuilder */; +val* var260 /* : ASTBuilder */; +val* var261 /* : AVarExpr */; +val* var262 /* : nullable CallSite */; +val* var264 /* : nullable CallSite */; +val* var265 /* : null */; +val* var266 /* : ACallExpr */; +val* var267 /* : ASTBuilder */; +val* var269 /* : ASTBuilder */; +val* var270 /* : ABreakExpr */; +val* var_nbreak271 /* var nbreak: ABreakExpr */; +val* var272 /* : nullable AExpr */; +val* var274 /* : nullable AExpr */; +val* var275 /* : nullable CallSite */; +val* var277 /* : nullable CallSite */; +val* var_method_finish /* var method_finish: nullable CallSite */; +val* var278 /* : null */; +short int var279 /* : Bool */; +short int var280 /* : Bool */; +short int var282 /* : Bool */; +short int var283 /* : Bool */; +short int var284 /* : Bool */; +val* var285 /* : ASTBuilder */; +val* var287 /* : ASTBuilder */; +val* var288 /* : AVarExpr */; +val* var289 /* : null */; +val* var290 /* : ACallExpr */; var_v = p0; +{ +{ /* Inline scope#AForExpr#break_mark (self) on */ +var2 = self->attrs[COLOR_scope__AForExpr___break_mark].val; /* _break_mark on */ +var = var2; +RET_LABEL1:(void)0; +} +} +var_escapemark = var; +var3 = NULL; +if (var_escapemark == NULL) { +var4 = 0; /* is null */ +} else { +var4 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_escapemark,var3) on */ +var_other = var3; +{ +var8 = ((short int (*)(val*, val*))(var_escapemark->class->vft[COLOR_kernel__Object___61d_61d]))(var_escapemark, var_other) /* == on */; +var7 = var8; +} +var9 = !var7; +var5 = var9; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +var4 = var5; +} +if (unlikely(!var4)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 186); +show_backtrace(1); +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var12 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} +} +{ +var13 = astbuilder__ASTBuilder__make_block(var10); +} +var_nblock = var13; +{ +{ /* Inline parser_nodes#AForExpr#n_expr (self) on */ +var16 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var16 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1427); +show_backtrace(1); +} +var14 = var16; +RET_LABEL15:(void)0; +} +} +var_nexpr = var14; +{ +{ /* Inline scope#AForExpr#variables (self) on */ +var21 = self->attrs[COLOR_scope__AForExpr___variables].val; /* _variables on */ +var19 = var21; +RET_LABEL20:(void)0; +} +} +if (var19 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 194); +show_backtrace(1); +} else { +{ /* Inline array#AbstractArrayRead#length (var19) on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 24); +show_backtrace(1); +} +var24 = var19->attrs[COLOR_array__AbstractArrayRead___length].l; /* _length on */ +var22 = var24; +RET_LABEL23:(void)0; +} +} +var25 = 1; +{ +{ /* Inline kernel#Int#== (var22,var25) on */ +var29 = var22 == var25; +var27 = var29; +goto RET_LABEL28; +RET_LABEL28:(void)0; +} +var26 = var27; +} +var_ = var26; +if (var26){ +/* isa ARangeExpr */ +cltype = type_parser_nodes__ARangeExpr.color; +idtype = type_parser_nodes__ARangeExpr.id; +if(cltype >= var_nexpr->type->table_size) { +var30 = 0; +} else { +var30 = var_nexpr->type->type_table[cltype] == idtype; +} +var18 = var30; +} else { +var18 = var_; +} +var_31 = var18; +if (var18){ +{ +{ /* Inline transform#TransformVisitor#phase (var_v) on */ +var34 = var_v->attrs[COLOR_transform__TransformVisitor___phase].val; /* _phase on */ +if (unlikely(var34 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phase"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 55); +show_backtrace(1); +} +var32 = var34; +RET_LABEL33:(void)0; +} +} +{ +{ /* Inline phase#Phase#toolcontext (var32) on */ +var37 = var32->attrs[COLOR_phase__Phase___toolcontext].val; /* _toolcontext on */ +if (unlikely(var37 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", "phase.nit", 162); +show_backtrace(1); +} +var35 = var37; +RET_LABEL36:(void)0; +} +} +{ +{ /* Inline transform#ToolContext#opt_no_shortcut_range (var35) on */ +var40 = var35->attrs[COLOR_transform__ToolContext___opt_no_shortcut_range].val; /* _opt_no_shortcut_range on */ +if (unlikely(var40 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_range"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 27); +show_backtrace(1); +} +var38 = var40; +RET_LABEL39:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var38) on */ +var43 = var38->attrs[COLOR_opts__Option___value].val; /* _value on */ +var41 = var43; +RET_LABEL42:(void)0; +} +} +var44 = ((struct instance_kernel__Bool*)var41)->value; /* autounbox from nullable Object to Bool */; +var45 = !var44; +var17 = var45; +} else { +var17 = var_31; +} +if (var17){ +{ +{ /* Inline scope#AForExpr#variables (self) on */ +var48 = self->attrs[COLOR_scope__AForExpr___variables].val; /* _variables on */ +var46 = var48; +RET_LABEL47:(void)0; +} +} +if (var46 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 195); +show_backtrace(1); +} else { +var49 = abstract_collection__SequenceRead__first(var46); +} +var_variable = var49; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var52 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var52 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var50 = var52; +RET_LABEL51:(void)0; +} +} +{ +{ /* Inline parser_nodes#ARangeExpr#n_expr (var_nexpr) on */ +var55 = var_nexpr->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var55 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1754); +show_backtrace(1); +} +var53 = var55; +RET_LABEL54:(void)0; +} +} +{ +var56 = astbuilder__ASTBuilder__make_var_assign(var50, var_variable, var53); +} +{ +astbuilder__ABlockExpr__add(var_nblock, var56); /* Direct call astbuilder#ABlockExpr#add on */ +} +{ +{ /* Inline parser_nodes#ARangeExpr#n_expr2 (var_nexpr) on */ +var59 = var_nexpr->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var59 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1755); +show_backtrace(1); +} +var57 = var59; +RET_LABEL58:(void)0; +} +} +var_to = var57; +{ +astbuilder__ABlockExpr__add(var_nblock, var_to); /* Direct call astbuilder#ABlockExpr#add on */ +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var62 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var62 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var60 = var62; +RET_LABEL61:(void)0; +} +} +{ +var63 = astbuilder__ASTBuilder__make_loop(var60); +} +var_nloop = var63; +{ +{ /* Inline scope#ALoopExpr#break_mark= (var_nloop,var_escapemark) on */ +var_nloop->attrs[COLOR_scope__ALoopExpr___break_mark].val = var_escapemark; /* _break_mark on */ +RET_LABEL64:(void)0; +} +} +{ +astbuilder__ABlockExpr__add(var_nblock, var_nloop); /* Direct call astbuilder#ABlockExpr#add on */ +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var67 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var67 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var65 = var67; +RET_LABEL66:(void)0; +} +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var70 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var70 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var68 = var70; +RET_LABEL69:(void)0; +} +} +{ +{ /* Inline typing#Variable#declared_type (var_variable) on */ +var73 = var_variable->attrs[COLOR_typing__Variable___declared_type].val; /* _declared_type on */ +var71 = var73; +RET_LABEL72:(void)0; +} +} +if (unlikely(var71 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 204); +show_backtrace(1); +} +{ +var74 = astbuilder__ASTBuilder__make_var_read(var68, var_variable, var71); +} +{ +{ /* Inline typing#AForExpr#method_lt (self) on */ +var77 = self->attrs[COLOR_typing__AForExpr___method_lt].val; /* _method_lt on */ +var75 = var77; +RET_LABEL76:(void)0; +} +} +if (unlikely(var75 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 204); +show_backtrace(1); +} +var78 = NEW_array__Array(&type_array__Arrayparser_nodes__AVarExpr); +var79 = 1; +{ +array__Array__with_capacity(var78, var79); /* Direct call array#Array#with_capacity on */ +} +var_80 = var78; +{ +var81 = astbuilder__AExpr__make_var_read(var_to); +} +{ +array__AbstractArray__push(var_80, var81); /* Direct call array#AbstractArray#push on */ +} +{ +var82 = astbuilder__ASTBuilder__make_call(var65, var74, var75, var_80); +} +var_is_ok = var82; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var85 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var85 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var83 = var85; +RET_LABEL84:(void)0; +} +} +var86 = NULL; +{ +var87 = astbuilder__ASTBuilder__make_if(var83, var_is_ok, var86); +} +var_nif = var87; +{ +astbuilder__ALoopExpr__add(var_nloop, var_nif); /* Direct call astbuilder#ALoopExpr#add on */ +} +{ +{ /* Inline parser_nodes#AIfExpr#n_then (var_nif) on */ +var90 = var_nif->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on */ +var88 = var90; +RET_LABEL89:(void)0; +} +} +var_nthen = var88; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var93 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var93 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var91 = var93; +RET_LABEL92:(void)0; +} +} +{ +var94 = astbuilder__ASTBuilder__make_do(var91); +} +var_ndo = var94; +{ +{ /* Inline scope#EscapeMark#continue_mark (var_escapemark) on */ +var97 = var_escapemark->attrs[COLOR_scope__EscapeMark___continue_mark].val; /* _continue_mark on */ +var95 = var97; +RET_LABEL96:(void)0; +} +} +{ +{ /* Inline scope#ADoExpr#break_mark= (var_ndo,var95) on */ +var_ndo->attrs[COLOR_scope__ADoExpr___break_mark].val = var95; /* _break_mark on */ +RET_LABEL98:(void)0; +} +} +if (var_nthen == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 212); +show_backtrace(1); +} else { +((void (*)(val*, val*))(var_nthen->class->vft[COLOR_astbuilder__AExpr__add]))(var_nthen, var_ndo) /* add on */; +} +{ +{ /* Inline parser_nodes#AForExpr#n_block (self) on */ +var101 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on */ +var99 = var101; +RET_LABEL100:(void)0; +} +} +if (unlikely(var99 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 214); +show_backtrace(1); +} +{ +astbuilder__ADoExpr__add(var_ndo, var99); /* Direct call astbuilder#ADoExpr#add on */ +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var104 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var104 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var102 = var104; +RET_LABEL103:(void)0; +} +} +var105 = 1; +{ +var106 = astbuilder__ASTBuilder__make_int(var102, var105); +} +var_one = var106; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var109 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var109 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var107 = var109; +RET_LABEL108:(void)0; +} +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var112 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var112 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var110 = var112; +RET_LABEL111:(void)0; +} +} +{ +{ /* Inline typing#Variable#declared_type (var_variable) on */ +var115 = var_variable->attrs[COLOR_typing__Variable___declared_type].val; /* _declared_type on */ +var113 = var115; +RET_LABEL114:(void)0; +} +} +if (unlikely(var113 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 217); +show_backtrace(1); +} +{ +var116 = astbuilder__ASTBuilder__make_var_read(var110, var_variable, var113); +} +{ +{ /* Inline typing#AForExpr#method_successor (self) on */ +var119 = self->attrs[COLOR_typing__AForExpr___method_successor].val; /* _method_successor on */ +var117 = var119; +RET_LABEL118:(void)0; +} +} +if (unlikely(var117 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 217); +show_backtrace(1); +} +var120 = NEW_array__Array(&type_array__Arrayparser_nodes__AIntExpr); +var121 = 1; +{ +array__Array__with_capacity(var120, var121); /* Direct call array#Array#with_capacity on */ +} +var_122 = var120; +{ +array__AbstractArray__push(var_122, var_one); /* Direct call array#AbstractArray#push on */ +} +{ +var123 = astbuilder__ASTBuilder__make_call(var107, var116, var117, var_122); +} +var_succ = var123; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var126 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var126 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var124 = var126; +RET_LABEL125:(void)0; +} +} +{ +var127 = astbuilder__ASTBuilder__make_var_assign(var124, var_variable, var_succ); +} +if (var_nthen == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 218); +show_backtrace(1); +} else { +((void (*)(val*, val*))(var_nthen->class->vft[COLOR_astbuilder__AExpr__add]))(var_nthen, var127) /* add on */; +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var130 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var130 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var128 = var130; +RET_LABEL129:(void)0; +} +} +{ +var131 = astbuilder__ASTBuilder__make_break(var128, var_escapemark); +} +var_nbreak = var131; +{ +{ /* Inline parser_nodes#AIfExpr#n_else (var_nif) on */ +var134 = var_nif->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ +var132 = var134; +RET_LABEL133:(void)0; +} +} +if (var132 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 221); +show_backtrace(1); +} else { +((void (*)(val*, val*))(var132->class->vft[COLOR_astbuilder__AExpr__add]))(var132, var_nbreak) /* add on */; +} +{ +parser_nodes__Prod__replace_with(self, var_nblock); /* Direct call parser_nodes#Prod#replace_with on */ +} +goto RET_LABEL; +} else { +} +{ +astbuilder__ABlockExpr__add(var_nblock, var_nexpr); /* Direct call astbuilder#ABlockExpr#add on */ +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var137 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var137 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var135 = var137; +RET_LABEL136:(void)0; +} +} +{ +var138 = astbuilder__AExpr__make_var_read(var_nexpr); +} +{ +{ /* Inline typing#AForExpr#method_iterator (self) on */ +var141 = self->attrs[COLOR_typing__AForExpr___method_iterator].val; /* _method_iterator on */ +var139 = var141; +RET_LABEL140:(void)0; +} +} +if (unlikely(var139 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 229); +show_backtrace(1); +} +var142 = NULL; +{ +var143 = astbuilder__ASTBuilder__make_call(var135, var138, var139, var142); +} +var_iter = var143; +{ +astbuilder__ABlockExpr__add(var_nblock, var_iter); /* Direct call astbuilder#ABlockExpr#add on */ +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var146 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var146 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var144 = var146; +RET_LABEL145:(void)0; +} +} +{ +var147 = astbuilder__ASTBuilder__make_loop(var144); +} +var_nloop148 = var147; +{ +{ /* Inline scope#ALoopExpr#break_mark= (var_nloop148,var_escapemark) on */ +var_nloop148->attrs[COLOR_scope__ALoopExpr___break_mark].val = var_escapemark; /* _break_mark on */ +RET_LABEL149:(void)0; +} +} +{ +astbuilder__ABlockExpr__add(var_nblock, var_nloop148); /* Direct call astbuilder#ABlockExpr#add on */ +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var152 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var152 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var150 = var152; +RET_LABEL151:(void)0; +} +} +{ +var153 = astbuilder__AExpr__make_var_read(var_iter); +} +{ +{ /* Inline typing#AForExpr#method_is_ok (self) on */ +var156 = self->attrs[COLOR_typing__AForExpr___method_is_ok].val; /* _method_is_ok on */ +var154 = var156; +RET_LABEL155:(void)0; +} +} +if (unlikely(var154 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 236); +show_backtrace(1); +} +var157 = NULL; +{ +var158 = astbuilder__ASTBuilder__make_call(var150, var153, var154, var157); +} +var_is_ok159 = var158; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var162 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var162 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var160 = var162; +RET_LABEL161:(void)0; +} +} +var163 = NULL; +{ +var164 = astbuilder__ASTBuilder__make_if(var160, var_is_ok159, var163); +} +var_nif165 = var164; +{ +astbuilder__ALoopExpr__add(var_nloop148, var_nif165); /* Direct call astbuilder#ALoopExpr#add on */ +} +{ +{ /* Inline parser_nodes#AIfExpr#n_then (var_nif165) on */ +var168 = var_nif165->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on */ +var166 = var168; +RET_LABEL167:(void)0; +} +} +var_nthen169 = var166; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var172 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var172 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var170 = var172; +RET_LABEL171:(void)0; +} +} +{ +var173 = astbuilder__ASTBuilder__make_do(var170); +} +var_ndo174 = var173; +{ +{ /* Inline scope#EscapeMark#continue_mark (var_escapemark) on */ +var177 = var_escapemark->attrs[COLOR_scope__EscapeMark___continue_mark].val; /* _continue_mark on */ +var175 = var177; +RET_LABEL176:(void)0; +} +} +{ +{ /* Inline scope#ADoExpr#break_mark= (var_ndo174,var175) on */ +var_ndo174->attrs[COLOR_scope__ADoExpr___break_mark].val = var175; /* _break_mark on */ +RET_LABEL178:(void)0; +} +} +if (var_nthen169 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 244); +show_backtrace(1); +} else { +((void (*)(val*, val*))(var_nthen169->class->vft[COLOR_astbuilder__AExpr__add]))(var_nthen169, var_ndo174) /* add on */; +} +{ +{ /* Inline scope#AForExpr#variables (self) on */ +var181 = self->attrs[COLOR_scope__AForExpr___variables].val; /* _variables on */ +var179 = var181; +RET_LABEL180:(void)0; +} +} +if (var179 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 246); +show_backtrace(1); +} else { +{ /* Inline array#AbstractArrayRead#length (var179) on */ +if (unlikely(var179 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 24); +show_backtrace(1); +} +var184 = var179->attrs[COLOR_array__AbstractArrayRead___length].l; /* _length on */ +var182 = var184; +RET_LABEL183:(void)0; +} +} +var185 = 1; +{ +{ /* Inline kernel#Int#== (var182,var185) on */ +var189 = var182 == var185; +var187 = var189; +goto RET_LABEL188; +RET_LABEL188:(void)0; +} +var186 = var187; +} +if (var186){ +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var192 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var192 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var190 = var192; +RET_LABEL191:(void)0; +} +} +{ +var193 = astbuilder__AExpr__make_var_read(var_iter); +} +{ +{ /* Inline typing#AForExpr#method_item (self) on */ +var196 = self->attrs[COLOR_typing__AForExpr___method_item].val; /* _method_item on */ +var194 = var196; +RET_LABEL195:(void)0; +} +} +if (unlikely(var194 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 247); +show_backtrace(1); +} +var197 = NULL; +{ +var198 = astbuilder__ASTBuilder__make_call(var190, var193, var194, var197); +} +var_item = var198; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var201 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var201 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var199 = var201; +RET_LABEL200:(void)0; +} +} +{ +{ /* Inline scope#AForExpr#variables (self) on */ +var204 = self->attrs[COLOR_scope__AForExpr___variables].val; /* _variables on */ +var202 = var204; +RET_LABEL203:(void)0; +} +} +if (var202 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 248); +show_backtrace(1); +} else { +var205 = abstract_collection__SequenceRead__first(var202); +} +{ +var206 = astbuilder__ASTBuilder__make_var_assign(var199, var205, var_item); +} +{ +astbuilder__ADoExpr__add(var_ndo174, var206); /* Direct call astbuilder#ADoExpr#add on */ +} +} else { +{ +{ /* Inline scope#AForExpr#variables (self) on */ +var209 = self->attrs[COLOR_scope__AForExpr___variables].val; /* _variables on */ +var207 = var209; +RET_LABEL208:(void)0; +} +} +if (var207 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 249); +show_backtrace(1); +} else { +{ /* Inline array#AbstractArrayRead#length (var207) on */ +if (unlikely(var207 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 24); +show_backtrace(1); +} +var212 = var207->attrs[COLOR_array__AbstractArrayRead___length].l; /* _length on */ +var210 = var212; +RET_LABEL211:(void)0; +} +} +var213 = 2; +{ +{ /* Inline kernel#Int#== (var210,var213) on */ +var217 = var210 == var213; +var215 = var217; +goto RET_LABEL216; +RET_LABEL216:(void)0; +} +var214 = var215; +} +if (var214){ +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var220 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var220 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var218 = var220; +RET_LABEL219:(void)0; +} +} +{ +var221 = astbuilder__AExpr__make_var_read(var_iter); +} +{ +{ /* Inline typing#AForExpr#method_key (self) on */ +var224 = self->attrs[COLOR_typing__AForExpr___method_key].val; /* _method_key on */ +var222 = var224; +RET_LABEL223:(void)0; +} +} +if (unlikely(var222 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 250); +show_backtrace(1); +} +var225 = NULL; +{ +var226 = astbuilder__ASTBuilder__make_call(var218, var221, var222, var225); +} +var_key = var226; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var229 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var229 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var227 = var229; +RET_LABEL228:(void)0; +} +} +{ +{ /* Inline scope#AForExpr#variables (self) on */ +var232 = self->attrs[COLOR_scope__AForExpr___variables].val; /* _variables on */ +var230 = var232; +RET_LABEL231:(void)0; +} +} +var233 = 0; +if (var230 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 251); +show_backtrace(1); +} else { +var234 = array__Array___91d_93d(var230, var233); +} +{ +var235 = astbuilder__ASTBuilder__make_var_assign(var227, var234, var_key); +} +{ +astbuilder__ADoExpr__add(var_ndo174, var235); /* Direct call astbuilder#ADoExpr#add on */ +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var238 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var238 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var236 = var238; +RET_LABEL237:(void)0; +} +} +{ +var239 = astbuilder__AExpr__make_var_read(var_iter); +} +{ +{ /* Inline typing#AForExpr#method_item (self) on */ +var242 = self->attrs[COLOR_typing__AForExpr___method_item].val; /* _method_item on */ +var240 = var242; +RET_LABEL241:(void)0; +} +} +if (unlikely(var240 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 252); +show_backtrace(1); +} +var243 = NULL; +{ +var244 = astbuilder__ASTBuilder__make_call(var236, var239, var240, var243); +} +var_item245 = var244; +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var248 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var248 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var246 = var248; +RET_LABEL247:(void)0; +} +} +{ +{ /* Inline scope#AForExpr#variables (self) on */ +var251 = self->attrs[COLOR_scope__AForExpr___variables].val; /* _variables on */ +var249 = var251; +RET_LABEL250:(void)0; +} +} +var252 = 1; +if (var249 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 253); +show_backtrace(1); +} else { +var253 = array__Array___91d_93d(var249, var252); +} +{ +var254 = astbuilder__ASTBuilder__make_var_assign(var246, var253, var_item245); +} +{ +astbuilder__ADoExpr__add(var_ndo174, var254); /* Direct call astbuilder#ADoExpr#add on */ +} +} else { +PRINT_ERROR("Runtime error: %s", "Aborted"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 255); +show_backtrace(1); +} +} +{ +{ /* Inline parser_nodes#AForExpr#n_block (self) on */ +var257 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on */ +var255 = var257; +RET_LABEL256:(void)0; +} +} +if (unlikely(var255 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 258); +show_backtrace(1); +} +{ +astbuilder__ADoExpr__add(var_ndo174, var255); /* Direct call astbuilder#ADoExpr#add on */ +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var260 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var260 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var258 = var260; +RET_LABEL259:(void)0; +} +} +{ +var261 = astbuilder__AExpr__make_var_read(var_iter); +} +{ +{ /* Inline typing#AForExpr#method_next (self) on */ +var264 = self->attrs[COLOR_typing__AForExpr___method_next].val; /* _method_next on */ +var262 = var264; +RET_LABEL263:(void)0; +} +} +if (unlikely(var262 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 260); +show_backtrace(1); +} +var265 = NULL; +{ +var266 = astbuilder__ASTBuilder__make_call(var258, var261, var262, var265); +} +if (var_nthen169 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 260); +show_backtrace(1); +} else { +((void (*)(val*, val*))(var_nthen169->class->vft[COLOR_astbuilder__AExpr__add]))(var_nthen169, var266) /* add on */; +} +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var269 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var269 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var267 = var269; +RET_LABEL268:(void)0; +} +} +{ +var270 = astbuilder__ASTBuilder__make_break(var267, var_escapemark); +} +var_nbreak271 = var270; +{ +{ /* Inline parser_nodes#AIfExpr#n_else (var_nif165) on */ +var274 = var_nif165->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on */ +var272 = var274; +RET_LABEL273:(void)0; +} +} +if (var272 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 263); +show_backtrace(1); +} else { +((void (*)(val*, val*))(var272->class->vft[COLOR_astbuilder__AExpr__add]))(var272, var_nbreak271) /* add on */; +} +{ +{ /* Inline typing#AForExpr#method_finish (self) on */ +var277 = self->attrs[COLOR_typing__AForExpr___method_finish].val; /* _method_finish on */ +var275 = var277; +RET_LABEL276:(void)0; +} +} +var_method_finish = var275; +var278 = NULL; +if (var_method_finish == NULL) { +var279 = 0; /* is null */ +} else { +var279 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_method_finish,var278) on */ +var_other = var278; +{ +var283 = ((short int (*)(val*, val*))(var_method_finish->class->vft[COLOR_kernel__Object___61d_61d]))(var_method_finish, var_other) /* == on */; +var282 = var283; +} +var284 = !var282; +var280 = var284; +goto RET_LABEL281; +RET_LABEL281:(void)0; +} +var279 = var280; +} +if (var279){ +{ +{ /* Inline transform#TransformVisitor#builder (var_v) on */ +var287 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var287 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); +show_backtrace(1); +} +var285 = var287; +RET_LABEL286:(void)0; +} +} +{ +var288 = astbuilder__AExpr__make_var_read(var_iter); +} +var289 = NULL; +{ +var290 = astbuilder__ASTBuilder__make_call(var285, var288, var_method_finish, var289); +} +{ +astbuilder__ABlockExpr__add(var_nblock, var290); /* Direct call astbuilder#ABlockExpr#add on */ +} +} else { +} +{ +parser_nodes__Prod__replace_with(self, var_nblock); /* Direct call parser_nodes#Prod#replace_with on */ +} RET_LABEL:; } /* method transform#AForExpr#accept_transform_visitor for (self: Object, TransformVisitor) */ void VIRTUAL_transform__AForExpr__accept_transform_visitor(val* self, val* p0) { -val* var_v /* var v: TransformVisitor */; -{ /* Inline transform#AForExpr#accept_transform_visitor (self,p0) on */ -var_v = p0; -RET_LABEL1:(void)0; -} +transform__AForExpr__accept_transform_visitor(self, p0); /* Direct call transform#AForExpr#accept_transform_visitor on */ RET_LABEL:; } /* method transform#AArrayExpr#accept_transform_visitor for (self: AArrayExpr, TransformVisitor) */ @@ -846,30 +2622,34 @@ val* var_ /* var : Array[AIntExpr] */; val* var12 /* : ASTBuilder */; val* var14 /* : ASTBuilder */; val* var15 /* : AExprs */; -val* var16 /* : ANodes[AExpr] */; +val* var17 /* : AExprs */; val* var18 /* : ANodes[AExpr] */; -long var19 /* : Int */; -val* var20 /* : AIntExpr */; -val* var21 /* : ANewExpr */; +val* var20 /* : ANodes[AExpr] */; +long var21 /* : Int */; +val* var22 /* : AIntExpr */; +val* var23 /* : ANewExpr */; val* var_nnew /* var nnew: ANewExpr */; -val* var22 /* : AExprs */; -val* var23 /* : ANodes[AExpr] */; -val* var25 /* : ANodes[AExpr] */; -val* var26 /* : Iterator[ANode] */; -short int var27 /* : Bool */; -val* var28 /* : nullable Object */; +val* var24 /* : AExprs */; +val* var26 /* : AExprs */; +val* var27 /* : ANodes[AExpr] */; +val* var29 /* : ANodes[AExpr] */; +val* var_30 /* var : ANodes[AExpr] */; +val* var31 /* : Iterator[ANode] */; +val* var_32 /* var : Iterator[AExpr] */; +short int var33 /* : Bool */; +val* var34 /* : nullable Object */; val* var_nexpr /* var nexpr: AExpr */; -val* var29 /* : ASTBuilder */; -val* var31 /* : ASTBuilder */; -val* var32 /* : AVarExpr */; -val* var33 /* : nullable CallSite */; -val* var35 /* : nullable CallSite */; -val* var36 /* : Array[AExpr] */; -long var37 /* : Int */; -val* var_38 /* var : Array[AExpr] */; -val* var39 /* : ACallExpr */; +val* var35 /* : ASTBuilder */; +val* var37 /* : ASTBuilder */; +val* var38 /* : AVarExpr */; +val* var39 /* : nullable CallSite */; +val* var41 /* : nullable CallSite */; +val* var42 /* : Array[AExpr] */; +long var43 /* : Int */; +val* var_44 /* var : Array[AExpr] */; +val* var45 /* : ACallExpr */; val* var_nadd /* var nadd: ACallExpr */; -val* var40 /* : AVarExpr */; +val* var47 /* : AVarExpr */; val* var_nres /* var nres: AVarExpr */; var_v = p0; { @@ -877,7 +2657,7 @@ var_v = p0; var2 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } var = var2; @@ -893,7 +2673,7 @@ var_nblock = var3; var6 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } var4 = var6; @@ -909,7 +2689,7 @@ RET_LABEL8:(void)0; } if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 176); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 285); show_backtrace(1); } var10 = NEW_array__Array(&type_array__Arrayparser_nodes__AIntExpr); @@ -923,7 +2703,7 @@ var_ = var10; var14 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } var12 = var14; @@ -931,116 +2711,143 @@ RET_LABEL13:(void)0; } } { -var15 = parser_nodes__AArrayExpr__n_exprs(self); +{ /* Inline parser_nodes#AArrayExpr#n_exprs (self) on */ +var17 = self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1776); +show_backtrace(1); +} +var15 = var17; +RET_LABEL16:(void)0; +} } { { /* Inline parser_nodes#AExprs#n_exprs (var15) on */ -var18 = var15->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (unlikely(var18 == NULL)) { +var20 = var15->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ +if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2274); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946); show_backtrace(1); } -var16 = var18; -RET_LABEL17:(void)0; +var18 = var20; +RET_LABEL19:(void)0; } } { -var19 = parser_nodes__ANodes__length(var16); +var21 = parser_nodes__ANodes__length(var18); } { -var20 = astbuilder__ASTBuilder__make_int(var12, var19); +var22 = astbuilder__ASTBuilder__make_int(var12, var21); } { -array__AbstractArray__push(var_, var20); /* Direct call array#AbstractArray#push on */ +array__AbstractArray__push(var_, var22); /* Direct call array#AbstractArray#push on */ } { -var21 = astbuilder__ASTBuilder__make_new(var4, var7, var_); +var23 = astbuilder__ASTBuilder__make_new(var4, var7, var_); } -var_nnew = var21; +var_nnew = var23; { astbuilder__ABlockExpr__add(var_nblock, var_nnew); /* Direct call astbuilder#ABlockExpr#add on */ } { -var22 = parser_nodes__AArrayExpr__n_exprs(self); +{ /* Inline parser_nodes#AArrayExpr#n_exprs (self) on */ +var26 = self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on */ +if (unlikely(var26 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1776); +show_backtrace(1); +} +var24 = var26; +RET_LABEL25:(void)0; +} } { -{ /* Inline parser_nodes#AExprs#n_exprs (var22) on */ -var25 = var22->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (unlikely(var25 == NULL)) { +{ /* Inline parser_nodes#AExprs#n_exprs (var24) on */ +var29 = var24->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ +if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2274); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946); show_backtrace(1); } -var23 = var25; -RET_LABEL24:(void)0; +var27 = var29; +RET_LABEL28:(void)0; } } +var_30 = var27; { -var26 = parser_nodes__ANodes__iterator(var23); +var31 = parser_nodes__ANodes__iterator(var_30); } +var_32 = var31; for(;;) { { -var27 = ((short int (*)(val*))(var26->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var26) /* is_ok on */; +var33 = ((short int (*)(val*))(var_32->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_32) /* is_ok on */; } -if(!var27) break; +if (var33){ { -var28 = ((val* (*)(val*))(var26->class->vft[COLOR_abstract_collection__Iterator__item]))(var26) /* item on */; +var34 = ((val* (*)(val*))(var_32->class->vft[COLOR_abstract_collection__Iterator__item]))(var_32) /* item on */; } -var_nexpr = var28; +var_nexpr = var34; { { /* Inline transform#TransformVisitor#builder (var_v) on */ -var31 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ -if (unlikely(var31 == NULL)) { +var37 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var37 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } -var29 = var31; -RET_LABEL30:(void)0; +var35 = var37; +RET_LABEL36:(void)0; } } { -var32 = astbuilder__AExpr__make_var_read(var_nnew); +var38 = astbuilder__AExpr__make_var_read(var_nnew); } { { /* Inline typing#AArrayExpr#push_callsite (self) on */ -var35 = self->attrs[COLOR_typing__AArrayExpr___push_callsite].val; /* _push_callsite on */ -var33 = var35; -RET_LABEL34:(void)0; +var41 = self->attrs[COLOR_typing__AArrayExpr___push_callsite].val; /* _push_callsite on */ +var39 = var41; +RET_LABEL40:(void)0; } } -if (unlikely(var33 == NULL)) { +if (unlikely(var39 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 180); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 289); show_backtrace(1); } -var36 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); -var37 = 1; +var42 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); +var43 = 1; { -array__Array__with_capacity(var36, var37); /* Direct call array#Array#with_capacity on */ +array__Array__with_capacity(var42, var43); /* Direct call array#Array#with_capacity on */ } -var_38 = var36; +var_44 = var42; { -array__AbstractArray__push(var_38, var_nexpr); /* Direct call array#AbstractArray#push on */ +array__AbstractArray__push(var_44, var_nexpr); /* Direct call array#AbstractArray#push on */ } { -var39 = astbuilder__ASTBuilder__make_call(var29, var32, var33, var_38); +var45 = astbuilder__ASTBuilder__make_call(var35, var38, var39, var_44); } -var_nadd = var39; +var_nadd = var45; { astbuilder__ABlockExpr__add(var_nblock, var_nadd); /* Direct call astbuilder#ABlockExpr#add on */ } -CONTINUE_label: (void)0; { -((void (*)(val*))(var26->class->vft[COLOR_abstract_collection__Iterator__next]))(var26) /* next on */; +((void (*)(val*))(var_32->class->vft[COLOR_abstract_collection__Iterator__next]))(var_32) /* next on */; +} +} else { +goto BREAK_label; } } BREAK_label: (void)0; { -var40 = astbuilder__AExpr__make_var_read(var_nnew); +{ /* Inline abstract_collection#Iterator#finish (var_32) on */ +RET_LABEL46:(void)0; } -var_nres = var40; +} +{ +var47 = astbuilder__AExpr__make_var_read(var_nnew); +} +var_nres = var47; { astbuilder__ABlockExpr__add(var_nblock, var_nres); /* Direct call astbuilder#ABlockExpr#add on */ } @@ -1057,64 +2864,112 @@ RET_LABEL:; /* method transform#ACrangeExpr#accept_transform_visitor for (self: ACrangeExpr, TransformVisitor) */ void transform__ACrangeExpr__accept_transform_visitor(val* self, val* p0) { val* var_v /* var v: TransformVisitor */; -val* var /* : ASTBuilder */; -val* var2 /* : ASTBuilder */; -val* var3 /* : nullable CallSite */; -val* var5 /* : nullable CallSite */; -val* var6 /* : Array[AExpr] */; -long var7 /* : Int */; +val* var /* : nullable ANode */; +val* var2 /* : nullable ANode */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var4 /* : ASTBuilder */; +val* var6 /* : ASTBuilder */; +val* var7 /* : nullable CallSite */; +val* var9 /* : nullable CallSite */; +val* var10 /* : Array[AExpr] */; +long var11 /* : Int */; val* var_ /* var : Array[AExpr] */; -val* var8 /* : AExpr */; -val* var9 /* : AExpr */; -val* var10 /* : ANewExpr */; +val* var12 /* : AExpr */; +val* var14 /* : AExpr */; +val* var15 /* : AExpr */; +val* var17 /* : AExpr */; +val* var18 /* : ANewExpr */; var_v = p0; { +{ /* Inline parser_nodes#ANode#parent (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ANode___parent].val; /* _parent on */ +var = var2; +RET_LABEL1:(void)0; +} +} +/* isa AForExpr */ +cltype = type_parser_nodes__AForExpr.color; +idtype = type_parser_nodes__AForExpr.id; +if(var == NULL) { +var3 = 0; +} else { +if(cltype >= var->type->table_size) { +var3 = 0; +} else { +var3 = var->type->type_table[cltype] == idtype; +} +} +if (var3){ +goto RET_LABEL; +} else { +} +{ { /* Inline transform#TransformVisitor#builder (var_v) on */ -var2 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ -if (unlikely(var2 == NULL)) { +var6 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } -var = var2; -RET_LABEL1:(void)0; +var4 = var6; +RET_LABEL5:(void)0; } } { { /* Inline typing#ARangeExpr#init_callsite (self) on */ -var5 = self->attrs[COLOR_typing__ARangeExpr___init_callsite].val; /* _init_callsite on */ -var3 = var5; -RET_LABEL4:(void)0; +var9 = self->attrs[COLOR_typing__ARangeExpr___init_callsite].val; /* _init_callsite on */ +var7 = var9; +RET_LABEL8:(void)0; } } -if (unlikely(var3 == NULL)) { +if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 194); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 304); show_backtrace(1); } -var6 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); -var7 = 2; +var10 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); +var11 = 2; { -array__Array__with_capacity(var6, var7); /* Direct call array#Array#with_capacity on */ +array__Array__with_capacity(var10, var11); /* Direct call array#Array#with_capacity on */ } -var_ = var6; +var_ = var10; { -var8 = parser_nodes__ARangeExpr__n_expr(self); +{ /* Inline parser_nodes#ARangeExpr#n_expr (self) on */ +var14 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1754); +show_backtrace(1); +} +var12 = var14; +RET_LABEL13:(void)0; +} } { -array__AbstractArray__push(var_, var8); /* Direct call array#AbstractArray#push on */ +array__AbstractArray__push(var_, var12); /* Direct call array#AbstractArray#push on */ } { -var9 = parser_nodes__ARangeExpr__n_expr2(self); +{ /* Inline parser_nodes#ARangeExpr#n_expr2 (self) on */ +var17 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1755); +show_backtrace(1); +} +var15 = var17; +RET_LABEL16:(void)0; +} } { -array__AbstractArray__push(var_, var9); /* Direct call array#AbstractArray#push on */ +array__AbstractArray__push(var_, var15); /* Direct call array#AbstractArray#push on */ } { -var10 = astbuilder__ASTBuilder__make_new(var, var3, var_); +var18 = astbuilder__ASTBuilder__make_new(var4, var7, var_); } { -parser_nodes__Prod__replace_with(self, var10); /* Direct call parser_nodes#Prod#replace_with on */ +parser_nodes__Prod__replace_with(self, var18); /* Direct call parser_nodes#Prod#replace_with on */ } RET_LABEL:; } @@ -1126,64 +2981,112 @@ RET_LABEL:; /* method transform#AOrangeExpr#accept_transform_visitor for (self: AOrangeExpr, TransformVisitor) */ void transform__AOrangeExpr__accept_transform_visitor(val* self, val* p0) { val* var_v /* var v: TransformVisitor */; -val* var /* : ASTBuilder */; -val* var2 /* : ASTBuilder */; -val* var3 /* : nullable CallSite */; -val* var5 /* : nullable CallSite */; -val* var6 /* : Array[AExpr] */; -long var7 /* : Int */; +val* var /* : nullable ANode */; +val* var2 /* : nullable ANode */; +short int var3 /* : Bool */; +int cltype; +int idtype; +val* var4 /* : ASTBuilder */; +val* var6 /* : ASTBuilder */; +val* var7 /* : nullable CallSite */; +val* var9 /* : nullable CallSite */; +val* var10 /* : Array[AExpr] */; +long var11 /* : Int */; val* var_ /* var : Array[AExpr] */; -val* var8 /* : AExpr */; -val* var9 /* : AExpr */; -val* var10 /* : ANewExpr */; +val* var12 /* : AExpr */; +val* var14 /* : AExpr */; +val* var15 /* : AExpr */; +val* var17 /* : AExpr */; +val* var18 /* : ANewExpr */; var_v = p0; { +{ /* Inline parser_nodes#ANode#parent (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ANode___parent].val; /* _parent on */ +var = var2; +RET_LABEL1:(void)0; +} +} +/* isa AForExpr */ +cltype = type_parser_nodes__AForExpr.color; +idtype = type_parser_nodes__AForExpr.id; +if(var == NULL) { +var3 = 0; +} else { +if(cltype >= var->type->table_size) { +var3 = 0; +} else { +var3 = var->type->type_table[cltype] == idtype; +} +} +if (var3){ +goto RET_LABEL; +} else { +} +{ { /* Inline transform#TransformVisitor#builder (var_v) on */ -var2 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ -if (unlikely(var2 == NULL)) { +var6 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } -var = var2; -RET_LABEL1:(void)0; +var4 = var6; +RET_LABEL5:(void)0; } } { { /* Inline typing#ARangeExpr#init_callsite (self) on */ -var5 = self->attrs[COLOR_typing__ARangeExpr___init_callsite].val; /* _init_callsite on */ -var3 = var5; -RET_LABEL4:(void)0; +var9 = self->attrs[COLOR_typing__ARangeExpr___init_callsite].val; /* _init_callsite on */ +var7 = var9; +RET_LABEL8:(void)0; } } -if (unlikely(var3 == NULL)) { +if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 202); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 313); show_backtrace(1); } -var6 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); -var7 = 2; +var10 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); +var11 = 2; { -array__Array__with_capacity(var6, var7); /* Direct call array#Array#with_capacity on */ +array__Array__with_capacity(var10, var11); /* Direct call array#Array#with_capacity on */ } -var_ = var6; +var_ = var10; { -var8 = parser_nodes__ARangeExpr__n_expr(self); +{ /* Inline parser_nodes#ARangeExpr#n_expr (self) on */ +var14 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1754); +show_backtrace(1); +} +var12 = var14; +RET_LABEL13:(void)0; +} } { -array__AbstractArray__push(var_, var8); /* Direct call array#AbstractArray#push on */ +array__AbstractArray__push(var_, var12); /* Direct call array#AbstractArray#push on */ } { -var9 = parser_nodes__ARangeExpr__n_expr2(self); +{ /* Inline parser_nodes#ARangeExpr#n_expr2 (self) on */ +var17 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1755); +show_backtrace(1); +} +var15 = var17; +RET_LABEL16:(void)0; +} } { -array__AbstractArray__push(var_, var9); /* Direct call array#AbstractArray#push on */ +array__AbstractArray__push(var_, var15); /* Direct call array#AbstractArray#push on */ } { -var10 = astbuilder__ASTBuilder__make_new(var, var3, var_); +var18 = astbuilder__ASTBuilder__make_new(var4, var7, var_); } { -parser_nodes__Prod__replace_with(self, var10); /* Direct call parser_nodes#Prod#replace_with on */ +parser_nodes__Prod__replace_with(self, var18); /* Direct call parser_nodes#Prod#replace_with on */ } RET_LABEL:; } @@ -1196,9 +3099,19 @@ RET_LABEL:; void transform__AParExpr__accept_transform_visitor(val* self, val* p0) { val* var_v /* var v: TransformVisitor */; val* var /* : AExpr */; +val* var2 /* : AExpr */; var_v = p0; { -var = parser_nodes__AProxyExpr__n_expr(self); +{ /* Inline parser_nodes#AParExpr#n_expr (self) on */ +var2 = self->attrs[COLOR_parser_nodes__AParExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1868); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} } { parser_nodes__Prod__replace_with(self, var); /* Direct call parser_nodes#Prod#replace_with on */ @@ -1218,42 +3131,48 @@ val* var2 /* : ASTBuilder */; val* var3 /* : ABlockExpr */; val* var_nblock /* var nblock: ABlockExpr */; val* var4 /* : AExpr */; -val* var5 /* : Array[AExpr] */; +val* var6 /* : AExpr */; +val* var7 /* : Array[AExpr] */; val* var_read_args /* var read_args: Array[AExpr] */; -val* var6 /* : Array[AExpr] */; +val* var8 /* : Array[AExpr] */; val* var_write_args /* var write_args: Array[AExpr] */; -val* var7 /* : Array[AExpr] */; -val* var8 /* : ArrayIterator[nullable Object] */; -short int var9 /* : Bool */; -val* var10 /* : nullable Object */; +val* var9 /* : Array[AExpr] */; +val* var_ /* var : Array[AExpr] */; +val* var10 /* : ArrayIterator[nullable Object] */; +val* var_11 /* var : ArrayIterator[AExpr] */; +short int var12 /* : Bool */; +val* var13 /* : nullable Object */; val* var_a /* var a: AExpr */; -val* var11 /* : AVarExpr */; -val* var12 /* : AVarExpr */; -val* var13 /* : ASTBuilder */; -val* var15 /* : ASTBuilder */; -val* var16 /* : AExpr */; -val* var17 /* : AVarExpr */; -val* var18 /* : nullable CallSite */; -val* var20 /* : nullable CallSite */; -val* var21 /* : ACallExpr */; +val* var14 /* : AVarExpr */; +val* var15 /* : AVarExpr */; +val* var17 /* : ASTBuilder */; +val* var19 /* : ASTBuilder */; +val* var20 /* : AExpr */; +val* var22 /* : AExpr */; +val* var23 /* : AVarExpr */; +val* var24 /* : nullable CallSite */; +val* var26 /* : nullable CallSite */; +val* var27 /* : ACallExpr */; val* var_nread /* var nread: ACallExpr */; -val* var22 /* : ASTBuilder */; -val* var24 /* : ASTBuilder */; -val* var25 /* : nullable CallSite */; -val* var27 /* : nullable CallSite */; -val* var28 /* : Array[AExpr] */; -long var29 /* : Int */; -val* var_ /* var : Array[AExpr] */; -val* var30 /* : AExpr */; -val* var31 /* : ACallExpr */; -val* var_nnewvalue /* var nnewvalue: ACallExpr */; -val* var32 /* : ASTBuilder */; -val* var34 /* : ASTBuilder */; -val* var35 /* : AExpr */; -val* var36 /* : AVarExpr */; -val* var37 /* : nullable CallSite */; -val* var39 /* : nullable CallSite */; +val* var28 /* : ASTBuilder */; +val* var30 /* : ASTBuilder */; +val* var31 /* : nullable CallSite */; +val* var33 /* : nullable CallSite */; +val* var34 /* : Array[AExpr] */; +long var35 /* : Int */; +val* var_36 /* var : Array[AExpr] */; +val* var37 /* : AExpr */; +val* var39 /* : AExpr */; val* var40 /* : ACallExpr */; +val* var_nnewvalue /* var nnewvalue: ACallExpr */; +val* var41 /* : ASTBuilder */; +val* var43 /* : ASTBuilder */; +val* var44 /* : AExpr */; +val* var46 /* : AExpr */; +val* var47 /* : AVarExpr */; +val* var48 /* : nullable CallSite */; +val* var50 /* : nullable CallSite */; +val* var51 /* : ACallExpr */; val* var_nwrite /* var nwrite: ACallExpr */; var_v = p0; { @@ -1261,7 +3180,7 @@ var_v = p0; var2 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } var = var2; @@ -1273,168 +3192,213 @@ var3 = astbuilder__ASTBuilder__make_block(var); } var_nblock = var3; { -var4 = parser_nodes__ASendExpr__n_expr(self); +{ /* Inline parser_nodes#ASendExpr#n_expr (self) on */ +var6 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1466); +show_backtrace(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} } { astbuilder__ABlockExpr__add(var_nblock, var4); /* Direct call astbuilder#ABlockExpr#add on */ } -var5 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); +var7 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); { -array__Array__init(var5); /* Direct call array#Array#init on */ +((void (*)(val*))(var7->class->vft[COLOR_kernel__Object__init]))(var7) /* init on */; } -var_read_args = var5; -var6 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); +var_read_args = var7; +var8 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); { -array__Array__init(var6); /* Direct call array#Array#init on */ +((void (*)(val*))(var8->class->vft[COLOR_kernel__Object__init]))(var8) /* init on */; } -var_write_args = var6; +var_write_args = var8; { -var7 = typing__ASendExpr__raw_arguments(self); +var9 = typing__ASendExpr__raw_arguments(self); } +var_ = var9; { -var8 = array__AbstractArrayRead__iterator(var7); +var10 = array__AbstractArrayRead__iterator(var_); } +var_11 = var10; for(;;) { { -var9 = array__ArrayIterator__is_ok(var8); +var12 = array__ArrayIterator__is_ok(var_11); } -if(!var9) break; +if (var12){ { -var10 = array__ArrayIterator__item(var8); +var13 = array__ArrayIterator__item(var_11); } -var_a = var10; +var_a = var13; { astbuilder__ABlockExpr__add(var_nblock, var_a); /* Direct call astbuilder#ABlockExpr#add on */ } { -var11 = astbuilder__AExpr__make_var_read(var_a); +var14 = astbuilder__AExpr__make_var_read(var_a); } { -array__Array__add(var_read_args, var11); /* Direct call array#Array#add on */ +array__Array__add(var_read_args, var14); /* Direct call array#Array#add on */ } { -var12 = astbuilder__AExpr__make_var_read(var_a); +var15 = astbuilder__AExpr__make_var_read(var_a); } { -array__Array__add(var_write_args, var12); /* Direct call array#Array#add on */ +array__Array__add(var_write_args, var15); /* Direct call array#Array#add on */ } -CONTINUE_label: (void)0; { -array__ArrayIterator__next(var8); /* Direct call array#ArrayIterator#next on */ +array__ArrayIterator__next(var_11); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label; } } BREAK_label: (void)0; { +{ /* Inline abstract_collection#Iterator#finish (var_11) on */ +RET_LABEL16:(void)0; +} +} +{ { /* Inline transform#TransformVisitor#builder (var_v) on */ -var15 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ -if (unlikely(var15 == NULL)) { +var19 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } -var13 = var15; -RET_LABEL14:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } { -var16 = parser_nodes__ASendExpr__n_expr(self); +{ /* Inline parser_nodes#ASendExpr#n_expr (self) on */ +var22 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var22 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1466); +show_backtrace(1); +} +var20 = var22; +RET_LABEL21:(void)0; +} } { -var17 = astbuilder__AExpr__make_var_read(var16); +var23 = astbuilder__AExpr__make_var_read(var20); } { { /* Inline typing#ASendExpr#callsite (self) on */ -var20 = self->attrs[COLOR_typing__ASendExpr___callsite].val; /* _callsite on */ -var18 = var20; -RET_LABEL19:(void)0; +var26 = self->attrs[COLOR_typing__ASendExpr___callsite].val; /* _callsite on */ +var24 = var26; +RET_LABEL25:(void)0; } } -if (unlikely(var18 == NULL)) { +if (unlikely(var24 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 235); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 346); show_backtrace(1); } { -var21 = astbuilder__ASTBuilder__make_call(var13, var17, var18, var_read_args); +var27 = astbuilder__ASTBuilder__make_call(var17, var23, var24, var_read_args); } -var_nread = var21; +var_nread = var27; { { /* Inline transform#TransformVisitor#builder (var_v) on */ -var24 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ -if (unlikely(var24 == NULL)) { +var30 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var30 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } -var22 = var24; -RET_LABEL23:(void)0; +var28 = var30; +RET_LABEL29:(void)0; } } { { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on */ -var27 = self->attrs[COLOR_typing__AReassignFormExpr___reassign_callsite].val; /* _reassign_callsite on */ -var25 = var27; -RET_LABEL26:(void)0; +var33 = self->attrs[COLOR_typing__AReassignFormExpr___reassign_callsite].val; /* _reassign_callsite on */ +var31 = var33; +RET_LABEL32:(void)0; } } -if (unlikely(var25 == NULL)) { +if (unlikely(var31 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 237); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 348); show_backtrace(1); } -var28 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); -var29 = 1; +var34 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); +var35 = 1; { -array__Array__with_capacity(var28, var29); /* Direct call array#Array#with_capacity on */ +array__Array__with_capacity(var34, var35); /* Direct call array#Array#with_capacity on */ } -var_ = var28; +var_36 = var34; { -var30 = parser_nodes__AReassignFormExpr__n_value(self); +{ /* Inline parser_nodes#AReassignFormExpr#n_value (self) on */ +var39 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var39 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1452); +show_backtrace(1); +} +var37 = var39; +RET_LABEL38:(void)0; +} } { -array__AbstractArray__push(var_, var30); /* Direct call array#AbstractArray#push on */ +array__AbstractArray__push(var_36, var37); /* Direct call array#AbstractArray#push on */ } { -var31 = astbuilder__ASTBuilder__make_call(var22, var_nread, var25, var_); +var40 = astbuilder__ASTBuilder__make_call(var28, var_nread, var31, var_36); } -var_nnewvalue = var31; +var_nnewvalue = var40; { array__Array__add(var_write_args, var_nnewvalue); /* Direct call array#Array#add on */ } { { /* Inline transform#TransformVisitor#builder (var_v) on */ -var34 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ -if (unlikely(var34 == NULL)) { +var43 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var43 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } -var32 = var34; -RET_LABEL33:(void)0; +var41 = var43; +RET_LABEL42:(void)0; } } { -var35 = parser_nodes__ASendExpr__n_expr(self); +{ /* Inline parser_nodes#ASendExpr#n_expr (self) on */ +var46 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var46 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1466); +show_backtrace(1); +} +var44 = var46; +RET_LABEL45:(void)0; +} } { -var36 = astbuilder__AExpr__make_var_read(var35); +var47 = astbuilder__AExpr__make_var_read(var44); } { { /* Inline typing#ASendReassignFormExpr#write_callsite (self) on */ -var39 = self->attrs[COLOR_typing__ASendReassignFormExpr___write_callsite].val; /* _write_callsite on */ -var37 = var39; -RET_LABEL38:(void)0; +var50 = self->attrs[COLOR_typing__ASendReassignFormExpr___write_callsite].val; /* _write_callsite on */ +var48 = var50; +RET_LABEL49:(void)0; } } -if (unlikely(var37 == NULL)) { +if (unlikely(var48 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 240); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 351); show_backtrace(1); } { -var40 = astbuilder__ASTBuilder__make_call(var32, var36, var37, var_write_args); +var51 = astbuilder__ASTBuilder__make_call(var41, var47, var48, var_write_args); } -var_nwrite = var40; +var_nwrite = var51; { astbuilder__ABlockExpr__add(var_nblock, var_nwrite); /* Direct call astbuilder#ABlockExpr#add on */ } @@ -1468,11 +3432,12 @@ val* var16 /* : Array[AExpr] */; long var17 /* : Int */; val* var_ /* var : Array[AExpr] */; val* var18 /* : AExpr */; -val* var19 /* : ACallExpr */; +val* var20 /* : AExpr */; +val* var21 /* : ACallExpr */; val* var_nnewvalue /* var nnewvalue: ACallExpr */; -val* var20 /* : ASTBuilder */; val* var22 /* : ASTBuilder */; -val* var23 /* : AVarAssignExpr */; +val* var24 /* : ASTBuilder */; +val* var25 /* : AVarAssignExpr */; val* var_nwrite /* var nwrite: AVarAssignExpr */; var_v = p0; { @@ -1484,7 +3449,7 @@ RET_LABEL1:(void)0; } if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 251); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 362); show_backtrace(1); } var_variable = var; @@ -1493,7 +3458,7 @@ var_variable = var; var5 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } var3 = var5; @@ -1509,7 +3474,7 @@ RET_LABEL7:(void)0; } if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 253); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 364); show_backtrace(1); } { @@ -1521,7 +3486,7 @@ var_nread = var9; var12 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } var10 = var12; @@ -1537,7 +3502,7 @@ RET_LABEL14:(void)0; } if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 255); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 366); show_backtrace(1); } var16 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); @@ -1547,31 +3512,40 @@ array__Array__with_capacity(var16, var17); /* Direct call array#Array#with_capac } var_ = var16; { -var18 = parser_nodes__AReassignFormExpr__n_value(self); +{ /* Inline parser_nodes#AReassignFormExpr#n_value (self) on */ +var20 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var20 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1452); +show_backtrace(1); +} +var18 = var20; +RET_LABEL19:(void)0; +} } { array__AbstractArray__push(var_, var18); /* Direct call array#AbstractArray#push on */ } { -var19 = astbuilder__ASTBuilder__make_call(var10, var_nread, var13, var_); +var21 = astbuilder__ASTBuilder__make_call(var10, var_nread, var13, var_); } -var_nnewvalue = var19; +var_nnewvalue = var21; { { /* Inline transform#TransformVisitor#builder (var_v) on */ -var22 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ -if (unlikely(var22 == NULL)) { +var24 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var24 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } -var20 = var22; -RET_LABEL21:(void)0; +var22 = var24; +RET_LABEL23:(void)0; } } { -var23 = astbuilder__ASTBuilder__make_var_assign(var20, var_variable, var_nnewvalue); +var25 = astbuilder__ASTBuilder__make_var_assign(var22, var_variable, var_nnewvalue); } -var_nwrite = var23; +var_nwrite = var25; { parser_nodes__Prod__replace_with(self, var_nwrite); /* Direct call parser_nodes#Prod#replace_with on */ } @@ -1590,30 +3564,34 @@ val* var2 /* : ASTBuilder */; val* var3 /* : ABlockExpr */; val* var_nblock /* var nblock: ABlockExpr */; val* var4 /* : AExpr */; -val* var5 /* : nullable MAttribute */; +val* var6 /* : AExpr */; val* var7 /* : nullable MAttribute */; +val* var9 /* : nullable MAttribute */; val* var_attribute /* var attribute: MAttribute */; -val* var8 /* : ASTBuilder */; val* var10 /* : ASTBuilder */; -val* var11 /* : AExpr */; -val* var12 /* : AVarExpr */; -val* var13 /* : AAttrExpr */; +val* var12 /* : ASTBuilder */; +val* var13 /* : AExpr */; +val* var15 /* : AExpr */; +val* var16 /* : AVarExpr */; +val* var17 /* : AAttrExpr */; val* var_nread /* var nread: AAttrExpr */; -val* var14 /* : ASTBuilder */; -val* var16 /* : ASTBuilder */; -val* var17 /* : nullable CallSite */; -val* var19 /* : nullable CallSite */; -val* var20 /* : Array[AExpr] */; -long var21 /* : Int */; +val* var18 /* : ASTBuilder */; +val* var20 /* : ASTBuilder */; +val* var21 /* : nullable CallSite */; +val* var23 /* : nullable CallSite */; +val* var24 /* : Array[AExpr] */; +long var25 /* : Int */; val* var_ /* var : Array[AExpr] */; -val* var22 /* : AExpr */; -val* var23 /* : ACallExpr */; +val* var26 /* : AExpr */; +val* var28 /* : AExpr */; +val* var29 /* : ACallExpr */; val* var_nnewvalue /* var nnewvalue: ACallExpr */; -val* var24 /* : ASTBuilder */; -val* var26 /* : ASTBuilder */; -val* var27 /* : AExpr */; -val* var28 /* : AVarExpr */; -val* var29 /* : AAttrAssignExpr */; +val* var30 /* : ASTBuilder */; +val* var32 /* : ASTBuilder */; +val* var33 /* : AExpr */; +val* var35 /* : AExpr */; +val* var36 /* : AVarExpr */; +val* var37 /* : AAttrAssignExpr */; val* var_nwrite /* var nwrite: AAttrAssignExpr */; var_v = p0; { @@ -1621,7 +3599,7 @@ var_v = p0; var2 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } var = var2; @@ -1633,108 +3611,144 @@ var3 = astbuilder__ASTBuilder__make_block(var); } var_nblock = var3; { -var4 = parser_nodes__AAttrFormExpr__n_expr(self); +{ /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on */ +var6 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1621); +show_backtrace(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} } { astbuilder__ABlockExpr__add(var_nblock, var4); /* Direct call astbuilder#ABlockExpr#add on */ } { { /* Inline typing#AAttrFormExpr#mproperty (self) on */ -var7 = self->attrs[COLOR_typing__AAttrFormExpr___mproperty].val; /* _mproperty on */ -var5 = var7; -RET_LABEL6:(void)0; +var9 = self->attrs[COLOR_typing__AAttrFormExpr___mproperty].val; /* _mproperty on */ +var7 = var9; +RET_LABEL8:(void)0; } } -if (unlikely(var5 == NULL)) { +if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 268); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 379); show_backtrace(1); } -var_attribute = var5; +var_attribute = var7; { { /* Inline transform#TransformVisitor#builder (var_v) on */ -var10 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ -if (unlikely(var10 == NULL)) { +var12 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } -var8 = var10; -RET_LABEL9:(void)0; +var10 = var12; +RET_LABEL11:(void)0; } } { -var11 = parser_nodes__AAttrFormExpr__n_expr(self); +{ /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on */ +var15 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var15 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1621); +show_backtrace(1); +} +var13 = var15; +RET_LABEL14:(void)0; +} } { -var12 = astbuilder__AExpr__make_var_read(var11); +var16 = astbuilder__AExpr__make_var_read(var13); } { -var13 = astbuilder__ASTBuilder__make_attr_read(var8, var12, var_attribute); +var17 = astbuilder__ASTBuilder__make_attr_read(var10, var16, var_attribute); } -var_nread = var13; +var_nread = var17; { { /* Inline transform#TransformVisitor#builder (var_v) on */ -var16 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ -if (unlikely(var16 == NULL)) { +var20 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } -var14 = var16; -RET_LABEL15:(void)0; +var18 = var20; +RET_LABEL19:(void)0; } } { { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on */ -var19 = self->attrs[COLOR_typing__AReassignFormExpr___reassign_callsite].val; /* _reassign_callsite on */ -var17 = var19; -RET_LABEL18:(void)0; +var23 = self->attrs[COLOR_typing__AReassignFormExpr___reassign_callsite].val; /* _reassign_callsite on */ +var21 = var23; +RET_LABEL22:(void)0; } } -if (unlikely(var17 == NULL)) { +if (unlikely(var21 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 271); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 382); show_backtrace(1); } -var20 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); -var21 = 1; +var24 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); +var25 = 1; { -array__Array__with_capacity(var20, var21); /* Direct call array#Array#with_capacity on */ +array__Array__with_capacity(var24, var25); /* Direct call array#Array#with_capacity on */ } -var_ = var20; +var_ = var24; { -var22 = parser_nodes__AReassignFormExpr__n_value(self); +{ /* Inline parser_nodes#AReassignFormExpr#n_value (self) on */ +var28 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on */ +if (unlikely(var28 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1452); +show_backtrace(1); +} +var26 = var28; +RET_LABEL27:(void)0; +} } { -array__AbstractArray__push(var_, var22); /* Direct call array#AbstractArray#push on */ +array__AbstractArray__push(var_, var26); /* Direct call array#AbstractArray#push on */ } { -var23 = astbuilder__ASTBuilder__make_call(var14, var_nread, var17, var_); +var29 = astbuilder__ASTBuilder__make_call(var18, var_nread, var21, var_); } -var_nnewvalue = var23; +var_nnewvalue = var29; { { /* Inline transform#TransformVisitor#builder (var_v) on */ -var26 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ -if (unlikely(var26 == NULL)) { +var32 = var_v->attrs[COLOR_transform__TransformVisitor___builder].val; /* _builder on */ +if (unlikely(var32 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder"); -PRINT_ERROR(" (%s:%d)\n", "src/transform.nit", 49); +PRINT_ERROR(" (%s:%d)\n", "transform.nit", 59); show_backtrace(1); } -var24 = var26; -RET_LABEL25:(void)0; +var30 = var32; +RET_LABEL31:(void)0; } } { -var27 = parser_nodes__AAttrFormExpr__n_expr(self); +{ /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on */ +var35 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var35 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1621); +show_backtrace(1); +} +var33 = var35; +RET_LABEL34:(void)0; +} } { -var28 = astbuilder__AExpr__make_var_read(var27); +var36 = astbuilder__AExpr__make_var_read(var33); } { -var29 = astbuilder__ASTBuilder__make_attr_assign(var24, var28, var_attribute, var_nnewvalue); +var37 = astbuilder__ASTBuilder__make_attr_assign(var30, var36, var_attribute, var_nnewvalue); } -var_nwrite = var29; +var_nwrite = var37; { astbuilder__ABlockExpr__add(var_nblock, var_nwrite); /* Direct call astbuilder#ABlockExpr#add on */ }