X-Git-Url: http://nitlanguage.org diff --git a/c_src/astbuilder.sep.1.c b/c_src/astbuilder.sep.1.c index c029bca..1d6d457 100644 --- a/c_src/astbuilder.sep.1.c +++ b/c_src/astbuilder.sep.1.c @@ -6,7 +6,7 @@ val* var1 /* : MModule */; var1 = self->attrs[COLOR_astbuilder__ASTBuilder___mmodule].val; /* _mmodule on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 25); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 25); show_backtrace(1); } var = var1; @@ -22,7 +22,7 @@ val* var3 /* : MModule */; var3 = self->attrs[COLOR_astbuilder__ASTBuilder___mmodule].val; /* _mmodule on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 25); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 25); show_backtrace(1); } var1 = var3; @@ -32,6 +32,19 @@ var = var1; RET_LABEL:; return var; } +/* method astbuilder#ASTBuilder#mmodule= for (self: ASTBuilder, MModule) */ +void astbuilder__ASTBuilder__mmodule_61d(val* self, val* p0) { +self->attrs[COLOR_astbuilder__ASTBuilder___mmodule].val = p0; /* _mmodule on */ +RET_LABEL:; +} +/* method astbuilder#ASTBuilder#mmodule= for (self: Object, MModule) */ +void VIRTUAL_astbuilder__ASTBuilder__mmodule_61d(val* self, val* p0) { +{ /* Inline astbuilder#ASTBuilder#mmodule= (self,p0) on */ +self->attrs[COLOR_astbuilder__ASTBuilder___mmodule].val = p0; /* _mmodule on */ +RET_LABEL1:(void)0; +} +RET_LABEL:; +} /* method astbuilder#ASTBuilder#anchor for (self: ASTBuilder): nullable MClassType */ val* astbuilder__ASTBuilder__anchor(val* self) { val* var /* : nullable MClassType */; @@ -55,6 +68,19 @@ var = var1; RET_LABEL:; return var; } +/* method astbuilder#ASTBuilder#anchor= for (self: ASTBuilder, nullable MClassType) */ +void astbuilder__ASTBuilder__anchor_61d(val* self, val* p0) { +self->attrs[COLOR_astbuilder__ASTBuilder___anchor].val = p0; /* _anchor on */ +RET_LABEL:; +} +/* method astbuilder#ASTBuilder#anchor= for (self: Object, nullable MClassType) */ +void VIRTUAL_astbuilder__ASTBuilder__anchor_61d(val* self, val* p0) { +{ /* Inline astbuilder#ASTBuilder#anchor= (self,p0) on */ +self->attrs[COLOR_astbuilder__ASTBuilder___anchor].val = p0; /* _anchor on */ +RET_LABEL1:(void)0; +} +RET_LABEL:; +} /* method astbuilder#ASTBuilder#make_int for (self: ASTBuilder, Int): AIntExpr */ val* astbuilder__ASTBuilder__make_int(val* self, long p0) { val* var /* : AIntExpr */; @@ -77,7 +103,7 @@ var1 = NEW_parser_nodes__ADecIntExpr(&type_parser_nodes__ADecIntExpr); var4 = self->attrs[COLOR_astbuilder__ASTBuilder___mmodule].val; /* _mmodule on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 25); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 25); show_backtrace(1); } var2 = var4; @@ -101,7 +127,7 @@ var9 = model__MModule__get_primitive_class(var2, var5); var12 = var9->attrs[COLOR_model__MClass___mclass_type].val; /* _mclass_type on */ if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 417); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435); show_backtrace(1); } var10 = var12; @@ -201,6 +227,28 @@ var = var1; RET_LABEL:; return var; } +/* method astbuilder#ASTBuilder#make_loop for (self: ASTBuilder): ALoopExpr */ +val* astbuilder__ASTBuilder__make_loop(val* self) { +val* var /* : ALoopExpr */; +val* var1 /* : ALoopExpr */; +var1 = NEW_parser_nodes__ALoopExpr(&type_parser_nodes__ALoopExpr); +{ +astbuilder__ALoopExpr__make(var1); /* Direct call astbuilder#ALoopExpr#make on */ +} +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method astbuilder#ASTBuilder#make_loop for (self: Object): ALoopExpr */ +val* VIRTUAL_astbuilder__ASTBuilder__make_loop(val* self) { +val* var /* : ALoopExpr */; +val* var1 /* : ALoopExpr */; +var1 = astbuilder__ASTBuilder__make_loop(self); +var = var1; +RET_LABEL:; +return var; +} /* method astbuilder#ASTBuilder#make_var_read for (self: ASTBuilder, Variable, MType): AVarExpr */ val* astbuilder__ASTBuilder__make_var_read(val* self, val* p0, val* p1) { val* var /* : AVarExpr */; @@ -259,70 +307,80 @@ val* var /* : AAttrExpr */; val* var_recv /* var recv: AExpr */; val* var_attribute /* var attribute: MAttribute */; val* var1 /* : MPropDef */; -val* var2 /* : nullable MType */; +val* var3 /* : MPropDef */; val* var4 /* : nullable MType */; -val* var5 /* : nullable MType */; -val* var6 /* : nullable MClassType */; +val* var6 /* : nullable MType */; +val* var7 /* : nullable MType */; val* var8 /* : nullable MClassType */; -val* var9 /* : MModule */; +val* var10 /* : nullable MClassType */; val* var11 /* : MModule */; -short int var12 /* : Bool */; -val* var13 /* : MType */; +val* var13 /* : MModule */; +short int var14 /* : Bool */; +val* var15 /* : MType */; val* var_mtype /* var mtype: MType */; -val* var14 /* : AAttrExpr */; +val* var16 /* : AAttrExpr */; var_recv = p0; var_attribute = p1; { -var1 = model__MProperty__intro(var_attribute); +{ /* Inline model#MProperty#intro (var_attribute) on */ +var3 = var_attribute->attrs[COLOR_model__MProperty___intro].val; /* _intro on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); +PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} } { { /* Inline model#MAttributeDef#static_mtype (var1) on */ -var4 = var1->attrs[COLOR_model__MAttributeDef___static_mtype].val; /* _static_mtype on */ -var2 = var4; -RET_LABEL3:(void)0; +var6 = var1->attrs[COLOR_model__MAttributeDef___static_mtype].val; /* _static_mtype on */ +var4 = var6; +RET_LABEL5:(void)0; } } { -var5 = ((val* (*)(val*))(var_recv->class->vft[COLOR_typing__AExpr__mtype]))(var_recv) /* mtype on */; +var7 = ((val* (*)(val*))(var_recv->class->vft[COLOR_typing__AExpr__mtype]))(var_recv) /* mtype on */; } -if (unlikely(var5 == NULL)) { +if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 71); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 77); show_backtrace(1); } { { /* Inline astbuilder#ASTBuilder#anchor (self) on */ -var8 = self->attrs[COLOR_astbuilder__ASTBuilder___anchor].val; /* _anchor on */ -var6 = var8; -RET_LABEL7:(void)0; +var10 = self->attrs[COLOR_astbuilder__ASTBuilder___anchor].val; /* _anchor on */ +var8 = var10; +RET_LABEL9:(void)0; } } { { /* Inline astbuilder#ASTBuilder#mmodule (self) on */ -var11 = self->attrs[COLOR_astbuilder__ASTBuilder___mmodule].val; /* _mmodule on */ -if (unlikely(var11 == NULL)) { +var13 = self->attrs[COLOR_astbuilder__ASTBuilder___mmodule].val; /* _mmodule on */ +if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 25); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 25); show_backtrace(1); } -var9 = var11; -RET_LABEL10:(void)0; +var11 = var13; +RET_LABEL12:(void)0; } } -var12 = 1; -if (var2 == NULL) { +var14 = 1; +if (var4 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 71); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 77); show_backtrace(1); } else { -var13 = ((val* (*)(val*, val*, val*, val*, short int))(var2->class->vft[COLOR_model__MType__resolve_for]))(var2, var5, var6, var9, var12) /* resolve_for on */; +var15 = ((val* (*)(val*, val*, val*, val*, short int))(var4->class->vft[COLOR_model__MType__resolve_for]))(var4, var7, var8, var11, var14) /* resolve_for on */; } -var_mtype = var13; -var14 = NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr); +var_mtype = var15; +var16 = NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr); { -astbuilder__AAttrExpr__make(var14, var_recv, var_attribute, var_mtype); /* Direct call astbuilder#AAttrExpr#make on */ +astbuilder__AAttrExpr__make(var16, var_recv, var_attribute, var_mtype); /* Direct call astbuilder#AAttrExpr#make on */ } -var = var14; +var = var16; goto RET_LABEL; RET_LABEL:; return var; @@ -364,6 +422,52 @@ var = var1; RET_LABEL:; return var; } +/* method astbuilder#ASTBuilder#make_do for (self: ASTBuilder): ADoExpr */ +val* astbuilder__ASTBuilder__make_do(val* self) { +val* var /* : ADoExpr */; +val* var1 /* : ADoExpr */; +var1 = NEW_parser_nodes__ADoExpr(&type_parser_nodes__ADoExpr); +{ +astbuilder__ADoExpr__make(var1); /* Direct call astbuilder#ADoExpr#make on */ +} +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method astbuilder#ASTBuilder#make_do for (self: Object): ADoExpr */ +val* VIRTUAL_astbuilder__ASTBuilder__make_do(val* self) { +val* var /* : ADoExpr */; +val* var1 /* : ADoExpr */; +var1 = astbuilder__ASTBuilder__make_do(self); +var = var1; +RET_LABEL:; +return var; +} +/* method astbuilder#ASTBuilder#make_break for (self: ASTBuilder, EscapeMark): ABreakExpr */ +val* astbuilder__ASTBuilder__make_break(val* self, val* p0) { +val* var /* : ABreakExpr */; +val* var_escapemark /* var escapemark: EscapeMark */; +val* var1 /* : ABreakExpr */; +var_escapemark = p0; +var1 = NEW_parser_nodes__ABreakExpr(&type_parser_nodes__ABreakExpr); +{ +astbuilder__ABreakExpr__make(var1, var_escapemark); /* Direct call astbuilder#ABreakExpr#make on */ +} +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method astbuilder#ASTBuilder#make_break for (self: Object, EscapeMark): ABreakExpr */ +val* VIRTUAL_astbuilder__ASTBuilder__make_break(val* self, val* p0) { +val* var /* : ABreakExpr */; +val* var1 /* : ABreakExpr */; +var1 = astbuilder__ASTBuilder__make_break(self, p0); +var = var1; +RET_LABEL:; +return var; +} /* method astbuilder#ASTBuilder#make_if for (self: ASTBuilder, AExpr, nullable MType): AIfExpr */ val* astbuilder__ASTBuilder__make_if(val* self, val* p0, val* p1) { val* var /* : AIfExpr */; @@ -390,17 +494,19 @@ var = var1; RET_LABEL:; return var; } -/* method astbuilder#ASTBuilder#init for (self: ASTBuilder, MModule, nullable MClassType) */ -void astbuilder__ASTBuilder__init(val* self, val* p0, val* p1) { -self->attrs[COLOR_astbuilder__ASTBuilder___mmodule].val = p0; /* _mmodule on */ -self->attrs[COLOR_astbuilder__ASTBuilder___anchor].val = p1; /* _anchor on */ +/* method astbuilder#ASTBuilder#init for (self: ASTBuilder) */ +void astbuilder__ASTBuilder__init(val* self) { +{ +((void (*)(val*))(self->class->vft[COLOR_astbuilder__ASTBuilder__init]))(self) /* init on */; +} RET_LABEL:; } -/* method astbuilder#ASTBuilder#init for (self: Object, MModule, nullable MClassType) */ -void VIRTUAL_astbuilder__ASTBuilder__init(val* self, val* p0, val* p1) { -{ /* Inline astbuilder#ASTBuilder#init (self,p0,p1) on */ -self->attrs[COLOR_astbuilder__ASTBuilder___mmodule].val = p0; /* _mmodule on */ -self->attrs[COLOR_astbuilder__ASTBuilder___anchor].val = p1; /* _anchor on */ +/* method astbuilder#ASTBuilder#init for (self: Object) */ +void VIRTUAL_astbuilder__ASTBuilder__init(val* self) { +{ /* Inline astbuilder#ASTBuilder#init (self) on */ +{ +((void (*)(val*))(self->class->vft[COLOR_astbuilder__ASTBuilder__init]))(self) /* init on */; +} RET_LABEL1:(void)0; } RET_LABEL:; @@ -434,12 +540,12 @@ val* var24 /* : String */; char* var25 /* : NativeString */; long var26 /* : Int */; val* var27 /* : FlatString */; -val* var29 /* : nullable MType */; -val* var31 /* : AVarAssignExpr */; +val* var28 /* : nullable MType */; +val* var30 /* : AVarAssignExpr */; val* var_nvar /* var nvar: AVarAssignExpr */; -val* var33 /* : AVarExpr */; -val* var34 /* : nullable MType */; -val* var36 /* : nullable MType */; +val* var32 /* : AVarExpr */; +val* var33 /* : nullable MType */; +val* var35 /* : nullable MType */; { { /* Inline astbuilder#AExpr#variable_cache (self) on */ var3 = self->attrs[COLOR_astbuilder__AExpr___variable_cache].val; /* _variable_cache on */ @@ -501,7 +607,7 @@ var15 = var16; } if (unlikely(!var15)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 105); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 117); show_backtrace(1); } { @@ -519,54 +625,54 @@ var24 = var27; varonce = var24; } { -{ /* Inline scope#Variable#init (var23,var24) on */ -var23->attrs[COLOR_scope__Variable___name].val = var24; /* _name on */ -RET_LABEL28:(void)0; +((void (*)(val*, val*))(var23->class->vft[COLOR_scope__Variable__name_61d]))(var23, var24) /* name= on */; } +{ +((void (*)(val*))(var23->class->vft[COLOR_kernel__Object__init]))(var23) /* init on */; } var_variable = var23; { -var29 = ((val* (*)(val*))(self->class->vft[COLOR_typing__AExpr__mtype]))(self) /* mtype on */; +var28 = ((val* (*)(val*))(self->class->vft[COLOR_typing__AExpr__mtype]))(self) /* mtype on */; } { -{ /* Inline typing#Variable#declared_type= (var_variable,var29) on */ -var_variable->attrs[COLOR_typing__Variable___declared_type].val = var29; /* _declared_type on */ -RET_LABEL30:(void)0; +{ /* Inline typing#Variable#declared_type= (var_variable,var28) on */ +var_variable->attrs[COLOR_typing__Variable___declared_type].val = var28; /* _declared_type on */ +RET_LABEL29:(void)0; } } -var31 = NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr); +var30 = NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr); { -astbuilder__AVarAssignExpr__make(var31, var_variable, self); /* Direct call astbuilder#AVarAssignExpr#make on */ +astbuilder__AVarAssignExpr__make(var30, var_variable, self); /* Direct call astbuilder#AVarAssignExpr#make on */ } -var_nvar = var31; +var_nvar = var30; { parser_nodes__Prod__replace_with(var_place, var_nvar); /* Direct call parser_nodes#Prod#replace_with on */ } { { /* Inline astbuilder#AExpr#variable_cache= (self,var_variable) on */ self->attrs[COLOR_astbuilder__AExpr___variable_cache].val = var_variable; /* _variable_cache on */ -RET_LABEL32:(void)0; +RET_LABEL31:(void)0; } } } else { } -var33 = NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr); +var32 = NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr); { { /* Inline typing#Variable#declared_type (var_variable) on */ -var36 = var_variable->attrs[COLOR_typing__Variable___declared_type].val; /* _declared_type on */ -var34 = var36; -RET_LABEL35:(void)0; +var35 = var_variable->attrs[COLOR_typing__Variable___declared_type].val; /* _declared_type on */ +var33 = var35; +RET_LABEL34:(void)0; } } -if (unlikely(var34 == NULL)) { +if (unlikely(var33 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 113); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 125); show_backtrace(1); } { -astbuilder__AVarExpr__make(var33, var_variable, var34); /* Direct call astbuilder#AVarExpr#make on */ +astbuilder__AVarExpr__make(var32, var_variable, var33); /* Direct call astbuilder#AVarExpr#make on */ } -var = var33; +var = var32; goto RET_LABEL; RET_LABEL:; return var; @@ -646,9 +752,47 @@ return var; /* method astbuilder#AExpr#add for (self: AExpr, AExpr) */ void astbuilder__AExpr__add(val* self, val* p0) { val* var_expr /* var expr: AExpr */; +static val* varonce; +val* var /* : String */; +char* var1 /* : NativeString */; +long var2 /* : Int */; +val* var3 /* : FlatString */; +val* var4 /* : String */; +val* var5 /* : Array[Object] */; +long var6 /* : Int */; +val* var7 /* : NativeArray[Object] */; +val* var8 /* : String */; var_expr = p0; +if (varonce) { +var = varonce; +} else { +var1 = "add not implemented in "; +var2 = 23; +var3 = string__NativeString__to_s_with_length(var1, var2); +var = var3; +varonce = var; +} +{ +var4 = string__Object__inspect(self); +} +var5 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var5 = array_instance Array[Object] */ +var6 = 2; +var7 = NEW_array__NativeArray(var6, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var7)->values[0] = (val*) var; +((struct instance_array__NativeArray*)var7)->values[1] = (val*) var4; +{ +((void (*)(val*, val*, long))(var5->class->vft[COLOR_array__Array__with_native]))(var5, var7, var6) /* with_native on */; +} +} +{ +var8 = ((val* (*)(val*))(var5->class->vft[COLOR_string__Object__to_s]))(var5) /* to_s on */; +} +{ +file__Object__print(self, var8); /* Direct call file#Object#print on */ +} PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 145); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 158); show_backtrace(1); RET_LABEL:; } @@ -660,9 +804,7 @@ RET_LABEL:; /* method astbuilder#APlaceholderExpr#make for (self: APlaceholderExpr) */ void astbuilder__APlaceholderExpr__make(val* self) { { -{ /* Inline parser_nodes#ANode#init (self) on */ -RET_LABEL1:(void)0; -} +((void (*)(val*))(self->class->vft[COLOR_kernel__Object__init]))(self) /* init on */; } RET_LABEL:; } @@ -699,7 +841,7 @@ var_expr = p0; var2 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1321); show_backtrace(1); } var = var2; @@ -716,58 +858,272 @@ void VIRTUAL_astbuilder__ABlockExpr__add(val* self, val* p0) { astbuilder__ABlockExpr__add(self, p0); /* Direct call astbuilder#ABlockExpr#add on */ RET_LABEL:; } +/* method astbuilder#ALoopExpr#make for (self: ALoopExpr) */ +void astbuilder__ALoopExpr__make(val* self) { +val* var /* : TKwloop */; +short int var1 /* : Bool */; +val* var3 /* : ABlockExpr */; +val* var4 /* : nullable AExpr */; +val* var6 /* : nullable AExpr */; +short int var7 /* : Bool */; +var = NEW_parser_nodes__TKwloop(&type_parser_nodes__TKwloop); +{ +((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on */; +} +self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var; /* _n_kwloop on */ +var1 = 1; +{ +{ /* Inline typing#AExpr#is_typed= (self,var1) on */ +self->attrs[COLOR_typing__AExpr___is_typed].s = var1; /* _is_typed on */ +RET_LABEL2:(void)0; +} +} +var3 = NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr); +{ +((void (*)(val*))(var3->class->vft[COLOR_kernel__Object__init]))(var3) /* init on */; +} +{ +parser_prod__ALoopExpr__n_block_61d(self, var3); /* Direct call parser_prod#ALoopExpr#n_block= on */ +} +{ +{ /* Inline parser_nodes#ALoopExpr#n_block (self) on */ +var6 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on */ +var4 = var6; +RET_LABEL5:(void)0; +} +} +var7 = 1; +if (var4 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 194); +show_backtrace(1); +} else { +{ /* Inline typing#AExpr#is_typed= (var4,var7) on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 619); +show_backtrace(1); +} +var4->attrs[COLOR_typing__AExpr___is_typed].s = var7; /* _is_typed on */ +RET_LABEL8:(void)0; +} +} +RET_LABEL:; +} +/* method astbuilder#ALoopExpr#make for (self: Object) */ +void VIRTUAL_astbuilder__ALoopExpr__make(val* self) { +astbuilder__ALoopExpr__make(self); /* Direct call astbuilder#ALoopExpr#make on */ +RET_LABEL:; +} +/* method astbuilder#ALoopExpr#add for (self: ALoopExpr, AExpr) */ +void astbuilder__ALoopExpr__add(val* self, val* p0) { +val* var_expr /* var expr: AExpr */; +val* var /* : nullable AExpr */; +val* var2 /* : nullable AExpr */; +var_expr = p0; +{ +{ /* Inline parser_nodes#ALoopExpr#n_block (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on */ +var = var2; +RET_LABEL1:(void)0; +} +} +if (var == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 199); +show_backtrace(1); +} else { +((void (*)(val*, val*))(var->class->vft[COLOR_astbuilder__AExpr__add]))(var, var_expr) /* add on */; +} +RET_LABEL:; +} +/* method astbuilder#ALoopExpr#add for (self: Object, AExpr) */ +void VIRTUAL_astbuilder__ALoopExpr__add(val* self, val* p0) { +astbuilder__ALoopExpr__add(self, p0); /* Direct call astbuilder#ALoopExpr#add on */ +RET_LABEL:; +} +/* method astbuilder#ADoExpr#make for (self: ADoExpr) */ +void astbuilder__ADoExpr__make(val* self) { +val* var /* : TKwdo */; +short int var1 /* : Bool */; +val* var3 /* : ABlockExpr */; +val* var4 /* : nullable AExpr */; +val* var6 /* : nullable AExpr */; +short int var7 /* : Bool */; +var = NEW_parser_nodes__TKwdo(&type_parser_nodes__TKwdo); +{ +((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on */; +} +self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val = var; /* _n_kwdo on */ +var1 = 1; +{ +{ /* Inline typing#AExpr#is_typed= (self,var1) on */ +self->attrs[COLOR_typing__AExpr___is_typed].s = var1; /* _is_typed on */ +RET_LABEL2:(void)0; +} +} +var3 = NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr); +{ +((void (*)(val*))(var3->class->vft[COLOR_kernel__Object__init]))(var3) /* init on */; +} +{ +parser_prod__ADoExpr__n_block_61d(self, var3); /* Direct call parser_prod#ADoExpr#n_block= on */ +} +{ +{ /* Inline parser_nodes#ADoExpr#n_block (self) on */ +var6 = self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val; /* _n_block on */ +var4 = var6; +RET_LABEL5:(void)0; +} +} +var7 = 1; +if (var4 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 209); +show_backtrace(1); +} else { +{ /* Inline typing#AExpr#is_typed= (var4,var7) on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 619); +show_backtrace(1); +} +var4->attrs[COLOR_typing__AExpr___is_typed].s = var7; /* _is_typed on */ +RET_LABEL8:(void)0; +} +} +RET_LABEL:; +} +/* method astbuilder#ADoExpr#make for (self: Object) */ +void VIRTUAL_astbuilder__ADoExpr__make(val* self) { +astbuilder__ADoExpr__make(self); /* Direct call astbuilder#ADoExpr#make on */ +RET_LABEL:; +} +/* method astbuilder#ADoExpr#add for (self: ADoExpr, AExpr) */ +void astbuilder__ADoExpr__add(val* self, val* p0) { +val* var_expr /* var expr: AExpr */; +val* var /* : nullable AExpr */; +val* var2 /* : nullable AExpr */; +var_expr = p0; +{ +{ /* Inline parser_nodes#ADoExpr#n_block (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val; /* _n_block on */ +var = var2; +RET_LABEL1:(void)0; +} +} +if (var == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 225); +show_backtrace(1); +} else { +((void (*)(val*, val*))(var->class->vft[COLOR_astbuilder__AExpr__add]))(var, var_expr) /* add on */; +} +RET_LABEL:; +} +/* method astbuilder#ADoExpr#add for (self: Object, AExpr) */ +void VIRTUAL_astbuilder__ADoExpr__add(val* self, val* p0) { +astbuilder__ADoExpr__add(self, p0); /* Direct call astbuilder#ADoExpr#add on */ +RET_LABEL:; +} +/* method astbuilder#ABreakExpr#make for (self: ABreakExpr, EscapeMark) */ +void astbuilder__ABreakExpr__make(val* self, val* p0) { +val* var_escapemark /* var escapemark: EscapeMark */; +val* var /* : TKwbreak */; +val* var2 /* : Array[AEscapeExpr] */; +val* var4 /* : Array[AEscapeExpr] */; +short int var5 /* : Bool */; +var_escapemark = p0; +var = NEW_parser_nodes__TKwbreak(&type_parser_nodes__TKwbreak); +{ +((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on */; +} +self->attrs[COLOR_parser_nodes__ABreakExpr___n_kwbreak].val = var; /* _n_kwbreak on */ +{ +{ /* Inline scope#AEscapeExpr#escapemark= (self,var_escapemark) on */ +self->attrs[COLOR_scope__AEscapeExpr___escapemark].val = var_escapemark; /* _escapemark on */ +RET_LABEL1:(void)0; +} +} +{ +{ /* Inline scope#EscapeMark#escapes (var_escapemark) on */ +var4 = var_escapemark->attrs[COLOR_scope__EscapeMark___escapes].val; /* _escapes on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes"); +PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 57); +show_backtrace(1); +} +var2 = var4; +RET_LABEL3:(void)0; +} +} +{ +array__Array__add(var2, self); /* Direct call array#Array#add on */ +} +var5 = 1; +{ +{ /* Inline typing#AExpr#is_typed= (self,var5) on */ +self->attrs[COLOR_typing__AExpr___is_typed].s = var5; /* _is_typed on */ +RET_LABEL6:(void)0; +} +} +RET_LABEL:; +} +/* method astbuilder#ABreakExpr#make for (self: Object, EscapeMark) */ +void VIRTUAL_astbuilder__ABreakExpr__make(val* self, val* p0) { +astbuilder__ABreakExpr__make(self, p0); /* Direct call astbuilder#ABreakExpr#make on */ +RET_LABEL:; +} /* method astbuilder#AIfExpr#make for (self: AIfExpr, AExpr, nullable MType) */ void astbuilder__AIfExpr__make(val* self, val* p0, val* p1) { val* var_condition /* var condition: AExpr */; val* var_mtype /* var mtype: nullable MType */; val* var /* : TKwif */; -val* var2 /* : AExpr */; +val* var1 /* : AExpr */; +val* var3 /* : ABlockExpr */; val* var4 /* : ABlockExpr */; -val* var5 /* : ABlockExpr */; -short int var7 /* : Bool */; +short int var6 /* : Bool */; var_condition = p0; var_mtype = p1; var = NEW_parser_nodes__TKwif(&type_parser_nodes__TKwif); { -{ /* Inline parser_nodes#ANode#init (var) on */ -RET_LABEL1:(void)0; -} +((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on */; } self->attrs[COLOR_parser_nodes__AIfExpr___n_kwif].val = var; /* _n_kwif on */ self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val = var_condition; /* _n_expr on */ -var2 = self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var2 == NULL)) { +var1 = self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 206); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 244); show_backtrace(1); } { -{ /* Inline parser_nodes#ANode#parent= (var2,self) on */ -var2->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL3:(void)0; +{ /* Inline parser_nodes#ANode#parent= (var1,self) on */ +var1->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL2:(void)0; } } -var4 = NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr); +var3 = NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr); { -astbuilder__ABlockExpr__make(var4); /* Direct call astbuilder#ABlockExpr#make on */ +astbuilder__ABlockExpr__make(var3); /* Direct call astbuilder#ABlockExpr#make on */ } -self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val = var4; /* _n_then on */ -var5 = NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr); +self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val = var3; /* _n_then on */ +var4 = NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr); { -astbuilder__ABlockExpr__make(var5); /* Direct call astbuilder#ABlockExpr#make on */ +astbuilder__ABlockExpr__make(var4); /* Direct call astbuilder#ABlockExpr#make on */ } -self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val = var5; /* _n_else on */ +self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val = var4; /* _n_else on */ { { /* Inline typing#AExpr#mtype= (self,var_mtype) on */ self->attrs[COLOR_typing__AExpr___mtype].val = var_mtype; /* _mtype on */ -RET_LABEL6:(void)0; +RET_LABEL5:(void)0; } } -var7 = 1; +var6 = 1; { -{ /* Inline typing#AExpr#is_typed= (self,var7) on */ -self->attrs[COLOR_typing__AExpr___is_typed].s = var7; /* _is_typed on */ -RET_LABEL8:(void)0; +{ /* Inline typing#AExpr#is_typed= (self,var6) on */ +self->attrs[COLOR_typing__AExpr___is_typed].s = var6; /* _is_typed on */ +RET_LABEL7:(void)0; } } RET_LABEL:; @@ -782,9 +1138,7 @@ void astbuilder__AType__make(val* self) { val* var /* : TClassid */; var = NEW_parser_nodes__TClassid(&type_parser_nodes__TClassid); { -{ /* Inline parser_nodes#ANode#init (var) on */ -RET_LABEL1:(void)0; -} +((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on */; } self->attrs[COLOR_parser_nodes__AType___n_id].val = var; /* _n_id on */ RET_LABEL:; @@ -811,15 +1165,13 @@ RET_LABEL1:(void)0; } var2 = NEW_parser_nodes__TNumber(&type_parser_nodes__TNumber); { -{ /* Inline parser_nodes#ANode#init (var2) on */ -RET_LABEL3:(void)0; -} +((void (*)(val*))(var2->class->vft[COLOR_kernel__Object__init]))(var2) /* init on */; } self->attrs[COLOR_parser_nodes__ADecIntExpr___n_number].val = var2; /* _n_number on */ { { /* Inline typing#AExpr#mtype= (self,var_t) on */ self->attrs[COLOR_typing__AExpr___mtype].val = var_t; /* _mtype on */ -RET_LABEL4:(void)0; +RET_LABEL3:(void)0; } } RET_LABEL:; @@ -834,112 +1186,213 @@ void astbuilder__ANewExpr__make(val* self, val* p0, val* p1) { val* var_callsite /* var callsite: CallSite */; val* var_args /* var args: nullable Array[AExpr] */; val* var /* : TKwnew */; -val* var2 /* : AType */; -val* var3 /* : AListExprs */; -val* var4 /* : null */; +val* var1 /* : AType */; +val* var2 /* : AListExprs */; +val* var3 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; short int var8 /* : Bool */; short int var9 /* : Bool */; -short int var10 /* : Bool */; -val* var11 /* : AExprs */; -val* var12 /* : ANodes[AExpr] */; -val* var14 /* : ANodes[AExpr] */; -val* var16 /* : MType */; -val* var18 /* : MType */; +val* var10 /* : AExprs */; +val* var12 /* : AExprs */; +val* var13 /* : ANodes[AExpr] */; +val* var15 /* : ANodes[AExpr] */; +val* var17 /* : MType */; +val* var19 /* : MType */; short int var20 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +val* var22 /* : MMethod */; +val* var24 /* : MMethod */; +short int var25 /* : Bool */; +short int var27 /* : Bool */; +val* var28 /* : MSignature */; +val* var30 /* : MSignature */; +val* var31 /* : nullable MType */; +val* var33 /* : nullable MType */; +val* var35 /* : MType */; +val* var37 /* : MType */; +short int var39 /* : Bool */; var_callsite = p0; var_args = p1; var = NEW_parser_nodes__TKwnew(&type_parser_nodes__TKwnew); { -{ /* Inline parser_nodes#ANode#init (var) on */ -RET_LABEL1:(void)0; -} +((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on */; } self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var; /* _n_kwnew on */ -var2 = NEW_parser_nodes__AType(&type_parser_nodes__AType); +var1 = NEW_parser_nodes__AType(&type_parser_nodes__AType); { -astbuilder__AType__make(var2); /* Direct call astbuilder#AType#make on */ +astbuilder__AType__make(var1); /* Direct call astbuilder#AType#make on */ } -self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var2; /* _n_type on */ -var3 = NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs); +self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var1; /* _n_type on */ +var2 = NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs); { -parser_nodes__AExprs__init(var3); /* Direct call parser_nodes#AExprs#init on */ +((void (*)(val*))(var2->class->vft[COLOR_kernel__Object__init]))(var2) /* init on */; } -self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var3; /* _n_args on */ -var4 = NULL; +self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var2; /* _n_args on */ +var3 = NULL; if (var_args == NULL) { -var5 = 0; /* is null */ +var4 = 0; /* is null */ } else { -var5 = 1; /* arg is null and recv is not */ +var4 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_args,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#!= (var_args,var3) on */ +var_other = var3; { -var9 = ((short int (*)(val*, val*))(var_args->class->vft[COLOR_kernel__Object___61d_61d]))(var_args, var_other) /* == on */; -var8 = var9; +var8 = ((short int (*)(val*, val*))(var_args->class->vft[COLOR_kernel__Object___61d_61d]))(var_args, var_other) /* == on */; +var7 = var8; } -var10 = !var8; -var6 = var10; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var9 = !var7; +var5 = var9; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var5 = var6; +var4 = var5; } -if (var5){ +if (var4){ { -var11 = parser_nodes__ANewExpr__n_args(self); +{ /* Inline parser_nodes#ANewExpr#n_args (self) on */ +var12 = self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val; /* _n_args on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1614); +show_backtrace(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} } { -{ /* Inline parser_nodes#AExprs#n_exprs (var11) on */ -var14 = var11->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (unlikely(var14 == NULL)) { +{ /* Inline parser_nodes#AExprs#n_exprs (var10) on */ +var15 = var10->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ +if (unlikely(var15 == 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); } -var12 = var14; -RET_LABEL13:(void)0; +var13 = var15; +RET_LABEL14:(void)0; } } { -abstract_collection__SimpleCollection__add_all(var12, var_args); /* Direct call abstract_collection#SimpleCollection#add_all on */ +abstract_collection__SimpleCollection__add_all(var13, var_args); /* Direct call abstract_collection#SimpleCollection#add_all on */ } } else { } { { /* Inline typing#ANewExpr#callsite= (self,var_callsite) on */ self->attrs[COLOR_typing__ANewExpr___callsite].val = var_callsite; /* _callsite on */ -RET_LABEL15:(void)0; +RET_LABEL16:(void)0; } } { { /* Inline typing#CallSite#recv (var_callsite) on */ -var18 = var_callsite->attrs[COLOR_typing__CallSite___recv].val; /* _recv on */ -if (unlikely(var18 == NULL)) { +var19 = var_callsite->attrs[COLOR_typing__CallSite___recv].val; /* _recv on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv"); -PRINT_ERROR(" (%s:%d)\n", "src/typing.nit", 408); +PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 469); show_backtrace(1); } -var16 = var18; -RET_LABEL17:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } -{ -{ /* Inline typing#AExpr#mtype= (self,var16) on */ -self->attrs[COLOR_typing__AExpr___mtype].val = var16; /* _mtype on */ -RET_LABEL19:(void)0; +/* isa MClassType */ +cltype = type_model__MClassType.color; +idtype = type_model__MClassType.id; +if(cltype >= var17->type->table_size) { +var20 = 0; +} else { +var20 = var17->type->type_table[cltype] == idtype; } +if (unlikely(!var20)) { +var_class_name = var17 == NULL ? "null" : var17->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 278); +show_backtrace(1); } -var20 = 1; { -{ /* Inline typing#AExpr#is_typed= (self,var20) on */ -self->attrs[COLOR_typing__AExpr___is_typed].s = var20; /* _is_typed on */ +{ /* Inline typing#ANewExpr#recvtype= (self,var17) on */ +self->attrs[COLOR_typing__ANewExpr___recvtype].val = var17; /* _recvtype on */ RET_LABEL21:(void)0; } } +{ +{ /* Inline typing#CallSite#mproperty (var_callsite) on */ +var24 = var_callsite->attrs[COLOR_typing__CallSite___mproperty].val; /* _mproperty on */ +if (unlikely(var24 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 483); +show_backtrace(1); +} +var22 = var24; +RET_LABEL23:(void)0; +} +} +{ +{ /* Inline model#MMethod#is_new (var22) on */ +var27 = var22->attrs[COLOR_model__MMethod___is_new].s; /* _is_new on */ +var25 = var27; +RET_LABEL26:(void)0; +} +} +if (var25){ +{ +{ /* Inline typing#CallSite#msignature (var_callsite) on */ +var30 = var_callsite->attrs[COLOR_typing__CallSite___msignature].val; /* _msignature on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature"); +PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 490); +show_backtrace(1); +} +var28 = var30; +RET_LABEL29:(void)0; +} +} +{ +{ /* Inline model#MSignature#return_mtype (var28) on */ +var33 = var28->attrs[COLOR_model__MSignature___return_mtype].val; /* _return_mtype on */ +var31 = var33; +RET_LABEL32:(void)0; +} +} +{ +{ /* Inline typing#AExpr#mtype= (self,var31) on */ +self->attrs[COLOR_typing__AExpr___mtype].val = var31; /* _mtype on */ +RET_LABEL34:(void)0; +} +} +} else { +{ +{ /* Inline typing#CallSite#recv (var_callsite) on */ +var37 = var_callsite->attrs[COLOR_typing__CallSite___recv].val; /* _recv on */ +if (unlikely(var37 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv"); +PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 469); +show_backtrace(1); +} +var35 = var37; +RET_LABEL36:(void)0; +} +} +{ +{ /* Inline typing#AExpr#mtype= (self,var35) on */ +self->attrs[COLOR_typing__AExpr___mtype].val = var35; /* _mtype on */ +RET_LABEL38:(void)0; +} +} +} +var39 = 1; +{ +{ /* Inline typing#AExpr#is_typed= (self,var39) on */ +self->attrs[COLOR_typing__AExpr___is_typed].s = var39; /* _is_typed on */ +RET_LABEL40:(void)0; +} +} RET_LABEL:; } /* method astbuilder#ANewExpr#make for (self: Object, CallSite, nullable Array[AExpr]) */ @@ -954,18 +1407,17 @@ val* var_callsite /* var callsite: CallSite */; val* var_args /* var args: nullable Array[AExpr] */; val* var /* : AListExprs */; val* var1 /* : TId */; -val* var3 /* : null */; +val* var2 /* : null */; +short int var3 /* : Bool */; short int var4 /* : Bool */; -short int var5 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var6 /* : Bool */; short int var7 /* : Bool */; short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : AExprs */; -val* var11 /* : ANodes[AExpr] */; -val* var13 /* : ANodes[AExpr] */; -val* var14 /* : nullable MType */; -val* var_mtype /* var mtype: MType */; +val* var9 /* : AExprs */; +val* var11 /* : AExprs */; +val* var12 /* : ANodes[AExpr] */; +val* var14 /* : ANodes[AExpr] */; val* var16 /* : MSignature */; val* var18 /* : MSignature */; val* var19 /* : nullable MType */; @@ -977,67 +1429,65 @@ var_args = p2; self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_recv; /* _n_expr on */ var = NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs); { -parser_nodes__AExprs__init(var); /* Direct call parser_nodes#AExprs#init on */ +((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on */; } self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var; /* _n_args on */ var1 = NEW_parser_nodes__TId(&type_parser_nodes__TId); { -{ /* Inline parser_nodes#ANode#init (var1) on */ -RET_LABEL2:(void)0; -} +((void (*)(val*))(var1->class->vft[COLOR_kernel__Object__init]))(var1) /* init on */; } self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var1; /* _n_id on */ -var3 = NULL; +var2 = NULL; if (var_args == NULL) { -var4 = 0; /* is null */ +var3 = 0; /* is null */ } else { -var4 = 1; /* arg is null and recv is not */ +var3 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_args,var3) on */ -var_other = var3; +{ /* Inline kernel#Object#!= (var_args,var2) on */ +var_other = var2; { -var8 = ((short int (*)(val*, val*))(var_args->class->vft[COLOR_kernel__Object___61d_61d]))(var_args, var_other) /* == on */; -var7 = var8; +var7 = ((short int (*)(val*, val*))(var_args->class->vft[COLOR_kernel__Object___61d_61d]))(var_args, var_other) /* == on */; +var6 = var7; } -var9 = !var7; -var5 = var9; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var8 = !var6; +var4 = var8; +goto RET_LABEL5; +RET_LABEL5:(void)0; } -var4 = var5; +var3 = var4; } -if (var4){ +if (var3){ { -var10 = parser_nodes__ACallFormExpr__n_args(self); +{ /* Inline parser_nodes#ACallFormExpr#n_args (self) on */ +var11 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on */ +if (unlikely(var11 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args"); +PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1647); +show_backtrace(1); +} +var9 = var11; +RET_LABEL10:(void)0; +} } { -{ /* Inline parser_nodes#AExprs#n_exprs (var10) on */ -var13 = var10->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ -if (unlikely(var13 == NULL)) { +{ /* Inline parser_nodes#AExprs#n_exprs (var9) on */ +var14 = var9->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on */ +if (unlikely(var14 == 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); } -var11 = var13; -RET_LABEL12:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } } { -abstract_collection__SimpleCollection__add_all(var11, var_args); /* Direct call abstract_collection#SimpleCollection#add_all on */ +abstract_collection__SimpleCollection__add_all(var12, var_args); /* Direct call abstract_collection#SimpleCollection#add_all on */ } } else { } { -var14 = ((val* (*)(val*))(var_recv->class->vft[COLOR_typing__AExpr__mtype]))(var_recv) /* mtype on */; -} -if (unlikely(var14 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 254); -show_backtrace(1); -} -var_mtype = var14; -{ { /* Inline typing#ASendExpr#callsite= (self,var_callsite) on */ self->attrs[COLOR_typing__ASendExpr___callsite].val = var_callsite; /* _callsite on */ RET_LABEL15:(void)0; @@ -1048,7 +1498,7 @@ RET_LABEL15:(void)0; var18 = var_callsite->attrs[COLOR_typing__CallSite___msignature].val; /* _msignature on */ if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature"); -PRINT_ERROR(" (%s:%d)\n", "src/typing.nit", 429); +PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 490); show_backtrace(1); } var16 = var18; @@ -1100,21 +1550,19 @@ RET_LABEL1:(void)0; } var = NEW_parser_nodes__TAttrid(&type_parser_nodes__TAttrid); { -{ /* Inline parser_nodes#ANode#init (var) on */ -RET_LABEL2:(void)0; -} +((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on */; } self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var; /* _n_id on */ { { /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on */ self->attrs[COLOR_typing__AAttrFormExpr___mproperty].val = var_attribute; /* _mproperty on */ -RET_LABEL3:(void)0; +RET_LABEL2:(void)0; } } { { /* Inline typing#AExpr#mtype= (self,var_t) on */ self->attrs[COLOR_typing__AExpr___mtype].val = var_t; /* _mtype on */ -RET_LABEL4:(void)0; +RET_LABEL3:(void)0; } } RET_LABEL:; @@ -1130,8 +1578,8 @@ val* var_recv /* var recv: AExpr */; val* var_attribute /* var attribute: MAttribute */; val* var_value /* var value: AExpr */; val* var /* : TAttrid */; -val* var4 /* : TAssign */; -val* var7 /* : nullable MType */; +val* var3 /* : TAssign */; +val* var5 /* : nullable MType */; var_recv = p0; var_attribute = p1; var_value = p2; @@ -1144,38 +1592,34 @@ RET_LABEL1:(void)0; } var = NEW_parser_nodes__TAttrid(&type_parser_nodes__TAttrid); { -{ /* Inline parser_nodes#ANode#init (var) on */ -RET_LABEL2:(void)0; -} +((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on */; } self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var; /* _n_id on */ self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_value; /* _n_value on */ { { /* Inline parser_nodes#ANode#parent= (var_value,self) on */ var_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL3:(void)0; +RET_LABEL2:(void)0; } } -var4 = NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign); +var3 = NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign); { -{ /* Inline parser_nodes#ANode#init (var4) on */ -RET_LABEL5:(void)0; +((void (*)(val*))(var3->class->vft[COLOR_kernel__Object__init]))(var3) /* init on */; } -} -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var4; /* _n_assign on */ +self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var3; /* _n_assign on */ { { /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on */ self->attrs[COLOR_typing__AAttrFormExpr___mproperty].val = var_attribute; /* _mproperty on */ -RET_LABEL6:(void)0; +RET_LABEL4:(void)0; } } { -var7 = ((val* (*)(val*))(var_value->class->vft[COLOR_typing__AExpr__mtype]))(var_value) /* mtype on */; +var5 = ((val* (*)(val*))(var_value->class->vft[COLOR_typing__AExpr__mtype]))(var_value) /* mtype on */; } { -{ /* Inline typing#AExpr#mtype= (self,var7) on */ -self->attrs[COLOR_typing__AExpr___mtype].val = var7; /* _mtype on */ -RET_LABEL8:(void)0; +{ /* Inline typing#AExpr#mtype= (self,var5) on */ +self->attrs[COLOR_typing__AExpr___mtype].val = var5; /* _mtype on */ +RET_LABEL6:(void)0; } } RET_LABEL:; @@ -1194,21 +1638,19 @@ var_v = p0; var_mtype = p1; var = NEW_parser_nodes__TId(&type_parser_nodes__TId); { -{ /* Inline parser_nodes#ANode#init (var) on */ -RET_LABEL1:(void)0; -} +((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on */; } self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var; /* _n_id on */ { { /* Inline scope#AVarFormExpr#variable= (self,var_v) on */ self->attrs[COLOR_scope__AVarFormExpr___variable].val = var_v; /* _variable on */ -RET_LABEL2:(void)0; +RET_LABEL1:(void)0; } } { { /* Inline typing#AExpr#mtype= (self,var_mtype) on */ self->attrs[COLOR_typing__AExpr___mtype].val = var_mtype; /* _mtype on */ -RET_LABEL3:(void)0; +RET_LABEL2:(void)0; } } RET_LABEL:; @@ -1223,44 +1665,40 @@ void astbuilder__AVarAssignExpr__make(val* self, val* p0, val* p1) { val* var_v /* var v: Variable */; val* var_value /* var value: AExpr */; val* var /* : TId */; -val* var3 /* : TAssign */; -val* var6 /* : nullable MType */; +val* var2 /* : TAssign */; +val* var4 /* : nullable MType */; var_v = p0; var_value = p1; var = NEW_parser_nodes__TId(&type_parser_nodes__TId); { -{ /* Inline parser_nodes#ANode#init (var) on */ -RET_LABEL1:(void)0; -} +((void (*)(val*))(var->class->vft[COLOR_kernel__Object__init]))(var) /* init on */; } self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var; /* _n_id on */ self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_value; /* _n_value on */ { { /* Inline parser_nodes#ANode#parent= (var_value,self) on */ var_value->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ -RET_LABEL2:(void)0; +RET_LABEL1:(void)0; } } -var3 = NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign); +var2 = NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign); { -{ /* Inline parser_nodes#ANode#init (var3) on */ -RET_LABEL4:(void)0; -} +((void (*)(val*))(var2->class->vft[COLOR_kernel__Object__init]))(var2) /* init on */; } -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var3; /* _n_assign on */ +self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var2; /* _n_assign on */ { { /* Inline scope#AVarFormExpr#variable= (self,var_v) on */ self->attrs[COLOR_scope__AVarFormExpr___variable].val = var_v; /* _variable on */ -RET_LABEL5:(void)0; +RET_LABEL3:(void)0; } } { -var6 = ((val* (*)(val*))(var_value->class->vft[COLOR_typing__AExpr__mtype]))(var_value) /* mtype on */; +var4 = ((val* (*)(val*))(var_value->class->vft[COLOR_typing__AExpr__mtype]))(var_value) /* mtype on */; } { -{ /* Inline typing#AExpr#mtype= (self,var6) on */ -self->attrs[COLOR_typing__AExpr___mtype].val = var6; /* _mtype on */ -RET_LABEL7:(void)0; +{ /* Inline typing#AExpr#mtype= (self,var4) on */ +self->attrs[COLOR_typing__AExpr___mtype].val = var4; /* _mtype on */ +RET_LABEL5:(void)0; } } RET_LABEL:;