X-Git-Url: http://nitlanguage.org diff --git a/c_src/astbuilder.sep.1.c b/c_src/astbuilder.sep.1.c index 8690e71..c029bca 100644 --- a/c_src/astbuilder.sep.1.c +++ b/c_src/astbuilder.sep.1.c @@ -3,11 +3,11 @@ val* astbuilder__ASTBuilder__mmodule(val* self) { val* var /* : MModule */; val* var1 /* : MModule */; -var1 = self->attrs[COLOR_astbuilder__ASTBuilder___64dmmodule].val; /* @mmodule on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodule"); -fprintf(stderr, " (%s:%d)\n", "src/astbuilder.nit", 25); -exit(1); +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); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -17,26 +17,26 @@ return var; val* VIRTUAL_astbuilder__ASTBuilder__mmodule(val* self) { val* var /* : MModule */; val* var1 /* : MModule */; -var1 = astbuilder__ASTBuilder__mmodule(self); -var = var1; -RET_LABEL:; -return var; +val* var3 /* : MModule */; +{ /* Inline astbuilder#ASTBuilder#mmodule (self) on */ +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); +show_backtrace(1); } -/* method astbuilder#ASTBuilder#mmodule= for (self: ASTBuilder, MModule) */ -void astbuilder__ASTBuilder__mmodule_61d(val* self, val* p0) { -self->attrs[COLOR_astbuilder__ASTBuilder___64dmmodule].val = p0; /* @mmodule on */ -RET_LABEL:; +var1 = var3; +RET_LABEL2:(void)0; } -/* method astbuilder#ASTBuilder#mmodule= for (self: Object, MModule) */ -void VIRTUAL_astbuilder__ASTBuilder__mmodule_61d(val* self, val* p0) { -astbuilder__ASTBuilder__mmodule_61d(self, p0); +var = var1; RET_LABEL:; +return var; } /* method astbuilder#ASTBuilder#anchor for (self: ASTBuilder): nullable MClassType */ val* astbuilder__ASTBuilder__anchor(val* self) { val* var /* : nullable MClassType */; val* var1 /* : nullable MClassType */; -var1 = self->attrs[COLOR_astbuilder__ASTBuilder___64danchor].val; /* @anchor on */ +var1 = self->attrs[COLOR_astbuilder__ASTBuilder___anchor].val; /* _anchor on */ var = var1; RET_LABEL:; return var; @@ -45,50 +45,72 @@ return var; val* VIRTUAL_astbuilder__ASTBuilder__anchor(val* self) { val* var /* : nullable MClassType */; val* var1 /* : nullable MClassType */; -var1 = astbuilder__ASTBuilder__anchor(self); +val* var3 /* : nullable MClassType */; +{ /* Inline astbuilder#ASTBuilder#anchor (self) on */ +var3 = self->attrs[COLOR_astbuilder__ASTBuilder___anchor].val; /* _anchor on */ +var1 = var3; +RET_LABEL2:(void)0; +} 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___64danchor].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) { -astbuilder__ASTBuilder__anchor_61d(self, p0); -RET_LABEL:; -} /* method astbuilder#ASTBuilder#make_int for (self: ASTBuilder, Int): AIntExpr */ val* astbuilder__ASTBuilder__make_int(val* self, long p0) { val* var /* : AIntExpr */; long var_value /* var value: Int */; -val* var1 /* : AIntExpr */; +val* var1 /* : ADecIntExpr */; val* var2 /* : MModule */; +val* var4 /* : MModule */; static val* varonce; -val* var3 /* : String */; -char* var4 /* : NativeString */; -long var5 /* : Int */; -val* var6 /* : String */; -val* var7 /* : MClass */; -val* var8 /* : MClassType */; +val* var5 /* : String */; +char* var6 /* : NativeString */; +long var7 /* : Int */; +val* var8 /* : FlatString */; +val* var9 /* : MClass */; +val* var10 /* : MClassType */; +val* var12 /* : MClassType */; var_value = p0; -var1 = NEW_parser_nodes__AIntExpr(&type_parser_nodes__AIntExpr); -var2 = ((val* (*)(val*))(self->class->vft[COLOR_astbuilder__ASTBuilder__mmodule]))(self) /* mmodule on */; +var1 = NEW_parser_nodes__ADecIntExpr(&type_parser_nodes__ADecIntExpr); +{ +{ /* Inline astbuilder#ASTBuilder#mmodule (self) on */ +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); +show_backtrace(1); +} +var2 = var4; +RET_LABEL3:(void)0; +} +} if (varonce) { -var3 = varonce; +var5 = varonce; } else { -var4 = "Int"; -var5 = 3; -var6 = string__NativeString__to_s_with_length(var4, var5); -var3 = var6; -varonce = var3; -} -var7 = ((val* (*)(val*, val*))(var2->class->vft[COLOR_model__MModule__get_primitive_class]))(var2, var3) /* get_primitive_class on */; -var8 = ((val* (*)(val*))(var7->class->vft[COLOR_model__MClass__mclass_type]))(var7) /* mclass_type on */; -((void (*)(val*, long, val*))(var1->class->vft[COLOR_astbuilder__AIntExpr__make]))(var1, var_value, var8) /* make on */; -CHECK_NEW_parser_nodes__AIntExpr(var1); +var6 = "Int"; +var7 = 3; +var8 = string__NativeString__to_s_with_length(var6, var7); +var5 = var8; +varonce = var5; +} +{ +var9 = model__MModule__get_primitive_class(var2, var5); +} +{ +{ /* Inline model#MClass#mclass_type (var9) on */ +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); +show_backtrace(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} +} +{ +astbuilder__ADecIntExpr__make(var1, var_value, var10); /* Direct call astbuilder#ADecIntExpr#make on */ +} var = var1; goto RET_LABEL; RET_LABEL:; @@ -103,93 +125,52 @@ var = var1; RET_LABEL:; return var; } -/* method astbuilder#ASTBuilder#make_new for (self: ASTBuilder, MClassType, MMethod, nullable Array[AExpr]): ANewExpr */ -val* astbuilder__ASTBuilder__make_new(val* self, val* p0, val* p1, val* p2) { +/* method astbuilder#ASTBuilder#make_new for (self: ASTBuilder, CallSite, nullable Array[AExpr]): ANewExpr */ +val* astbuilder__ASTBuilder__make_new(val* self, val* p0, val* p1) { val* var /* : ANewExpr */; -val* var_mtype /* var mtype: MClassType */; -val* var_constructor /* var constructor: MMethod */; +val* var_callsite /* var callsite: CallSite */; val* var_args /* var args: nullable Array[AExpr] */; val* var1 /* : ANewExpr */; -var_mtype = p0; -var_constructor = p1; -var_args = p2; +var_callsite = p0; +var_args = p1; var1 = NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr); -((void (*)(val*, val*, val*, val*))(var1->class->vft[COLOR_astbuilder__ANewExpr__make]))(var1, var_mtype, var_constructor, var_args) /* make on */; -CHECK_NEW_parser_nodes__ANewExpr(var1); +{ +astbuilder__ANewExpr__make(var1, var_callsite, var_args); /* Direct call astbuilder#ANewExpr#make on */ +} var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method astbuilder#ASTBuilder#make_new for (self: Object, MClassType, MMethod, nullable Array[AExpr]): ANewExpr */ -val* VIRTUAL_astbuilder__ASTBuilder__make_new(val* self, val* p0, val* p1, val* p2) { +/* method astbuilder#ASTBuilder#make_new for (self: Object, CallSite, nullable Array[AExpr]): ANewExpr */ +val* VIRTUAL_astbuilder__ASTBuilder__make_new(val* self, val* p0, val* p1) { val* var /* : ANewExpr */; val* var1 /* : ANewExpr */; -var1 = astbuilder__ASTBuilder__make_new(self, p0, p1, p2); +var1 = astbuilder__ASTBuilder__make_new(self, p0, p1); var = var1; RET_LABEL:; return var; } -/* method astbuilder#ASTBuilder#make_call for (self: ASTBuilder, AExpr, MMethod, nullable Array[AExpr]): ACallExpr */ +/* method astbuilder#ASTBuilder#make_call for (self: ASTBuilder, AExpr, CallSite, nullable Array[AExpr]): ACallExpr */ val* astbuilder__ASTBuilder__make_call(val* self, val* p0, val* p1, val* p2) { val* var /* : ACallExpr */; val* var_recv /* var recv: AExpr */; -val* var_mmethod /* var mmethod: MMethod */; +val* var_callsite /* var callsite: CallSite */; val* var_args /* var args: nullable Array[AExpr] */; -val* var1 /* : MPropDef */; -val* var2 /* : nullable MSignature */; -val* var3 /* : nullable MType */; -val* var_mtype /* var mtype: nullable MType */; -val* var4 /* : null */; -short int var5 /* : Bool */; -val* var6 /* : nullable MType */; -val* var7 /* : nullable MClassType */; -val* var8 /* : MModule */; -short int var9 /* : Bool */; -val* var10 /* : MType */; -val* var11 /* : ACallExpr */; +val* var1 /* : ACallExpr */; var_recv = p0; -var_mmethod = p1; +var_callsite = p1; var_args = p2; -var1 = ((val* (*)(val*))(var_mmethod->class->vft[COLOR_model__MProperty__intro]))(var_mmethod) /* intro on */; -var2 = ((val* (*)(val*))(var1->class->vft[COLOR_model__MMethodDef__msignature]))(var1) /* msignature on */; -if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/astbuilder.nit", 47); -exit(1); -} else { -var3 = ((val* (*)(val*))(var2->class->vft[COLOR_model__MSignature__return_mtype]))(var2) /* return_mtype on */; -} -var_mtype = var3; -var4 = NULL; -if (var_mtype == NULL) { -var5 = 0; /* is null */ -} else { -var5 = 1; /* arg is null and recv is not */ +var1 = NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr); +{ +astbuilder__ACallExpr__make(var1, var_recv, var_callsite, var_args); /* Direct call astbuilder#ACallExpr#make on */ } -if (var5){ -var6 = ((val* (*)(val*))(var_recv->class->vft[COLOR_typing__AExpr__mtype]))(var_recv) /* mtype on */; -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/astbuilder.nit", 48); -exit(1); -} -var7 = ((val* (*)(val*))(self->class->vft[COLOR_astbuilder__ASTBuilder__anchor]))(self) /* anchor on */; -var8 = ((val* (*)(val*))(self->class->vft[COLOR_astbuilder__ASTBuilder__mmodule]))(self) /* mmodule on */; -var9 = 1; -var10 = ((val* (*)(val*, val*, val*, val*, short int))(var_mtype->class->vft[COLOR_model__MType__resolve_for]))(var_mtype, var6, var7, var8, var9) /* resolve_for on */; -var_mtype = var10; -} else { -} -var11 = NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr); -((void (*)(val*, val*, val*, val*, val*))(var11->class->vft[COLOR_astbuilder__ACallExpr__make]))(var11, var_recv, var_mmethod, var_args, var_mtype) /* make on */; -CHECK_NEW_parser_nodes__ACallExpr(var11); -var = var11; +var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method astbuilder#ASTBuilder#make_call for (self: Object, AExpr, MMethod, nullable Array[AExpr]): ACallExpr */ +/* method astbuilder#ASTBuilder#make_call for (self: Object, AExpr, CallSite, nullable Array[AExpr]): ACallExpr */ val* VIRTUAL_astbuilder__ASTBuilder__make_call(val* self, val* p0, val* p1, val* p2) { val* var /* : ACallExpr */; val* var1 /* : ACallExpr */; @@ -203,8 +184,9 @@ val* astbuilder__ASTBuilder__make_block(val* self) { val* var /* : ABlockExpr */; val* var1 /* : ABlockExpr */; var1 = NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr); -((void (*)(val*))(var1->class->vft[COLOR_astbuilder__ABlockExpr__make]))(var1) /* make on */; -CHECK_NEW_parser_nodes__ABlockExpr(var1); +{ +astbuilder__ABlockExpr__make(var1); /* Direct call astbuilder#ABlockExpr#make on */ +} var = var1; goto RET_LABEL; RET_LABEL:; @@ -219,25 +201,28 @@ var = var1; RET_LABEL:; return var; } -/* method astbuilder#ASTBuilder#make_var_read for (self: ASTBuilder, Variable): AVarExpr */ -val* astbuilder__ASTBuilder__make_var_read(val* self, val* p0) { +/* 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 */; val* var_variable /* var variable: Variable */; +val* var_mtype /* var mtype: MType */; val* var1 /* : AVarExpr */; var_variable = p0; +var_mtype = p1; var1 = NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr); -((void (*)(val*, val*))(var1->class->vft[COLOR_astbuilder__AVarExpr__make]))(var1, var_variable) /* make on */; -CHECK_NEW_parser_nodes__AVarExpr(var1); +{ +astbuilder__AVarExpr__make(var1, var_variable, var_mtype); /* Direct call astbuilder#AVarExpr#make on */ +} var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method astbuilder#ASTBuilder#make_var_read for (self: Object, Variable): AVarExpr */ -val* VIRTUAL_astbuilder__ASTBuilder__make_var_read(val* self, val* p0) { +/* method astbuilder#ASTBuilder#make_var_read for (self: Object, Variable, MType): AVarExpr */ +val* VIRTUAL_astbuilder__ASTBuilder__make_var_read(val* self, val* p0, val* p1) { val* var /* : AVarExpr */; val* var1 /* : AVarExpr */; -var1 = astbuilder__ASTBuilder__make_var_read(self, p0); +var1 = astbuilder__ASTBuilder__make_var_read(self, p0, p1); var = var1; RET_LABEL:; return var; @@ -251,8 +236,9 @@ val* var1 /* : AVarAssignExpr */; var_variable = p0; var_value = p1; var1 = NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr); -((void (*)(val*, val*, val*))(var1->class->vft[COLOR_astbuilder__AVarAssignExpr__make]))(var1, var_variable, var_value) /* make on */; -CHECK_NEW_parser_nodes__AVarAssignExpr(var1); +{ +astbuilder__AVarAssignExpr__make(var1, var_variable, var_value); /* Direct call astbuilder#AVarAssignExpr#make on */ +} var = var1; goto RET_LABEL; RET_LABEL:; @@ -274,38 +260,69 @@ val* var_recv /* var recv: AExpr */; val* var_attribute /* var attribute: MAttribute */; val* var1 /* : MPropDef */; val* var2 /* : nullable MType */; -val* var3 /* : nullable MType */; -val* var4 /* : nullable MClassType */; -val* var5 /* : MModule */; -short int var6 /* : Bool */; -val* var7 /* : MType */; +val* var4 /* : nullable MType */; +val* var5 /* : nullable MType */; +val* var6 /* : nullable MClassType */; +val* var8 /* : nullable MClassType */; +val* var9 /* : MModule */; +val* var11 /* : MModule */; +short int var12 /* : Bool */; +val* var13 /* : MType */; val* var_mtype /* var mtype: MType */; -val* var8 /* : AAttrExpr */; +val* var14 /* : AAttrExpr */; var_recv = p0; var_attribute = p1; -var1 = ((val* (*)(val*))(var_attribute->class->vft[COLOR_model__MProperty__intro]))(var_attribute) /* intro on */; -var2 = ((val* (*)(val*))(var1->class->vft[COLOR_model__MAttributeDef__static_mtype]))(var1) /* static_mtype on */; -var3 = ((val* (*)(val*))(var_recv->class->vft[COLOR_typing__AExpr__mtype]))(var_recv) /* mtype on */; -if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/astbuilder.nit", 73); -exit(1); -} -var4 = ((val* (*)(val*))(self->class->vft[COLOR_astbuilder__ASTBuilder__anchor]))(self) /* anchor on */; -var5 = ((val* (*)(val*))(self->class->vft[COLOR_astbuilder__ASTBuilder__mmodule]))(self) /* mmodule on */; -var6 = 1; +{ +var1 = model__MProperty__intro(var_attribute); +} +{ +{ /* 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; +} +} +{ +var5 = ((val* (*)(val*))(var_recv->class->vft[COLOR_typing__AExpr__mtype]))(var_recv) /* mtype on */; +} +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 71); +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; +} +} +{ +{ /* Inline astbuilder#ASTBuilder#mmodule (self) on */ +var11 = self->attrs[COLOR_astbuilder__ASTBuilder___mmodule].val; /* _mmodule on */ +if (unlikely(var11 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); +PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 25); +show_backtrace(1); +} +var9 = var11; +RET_LABEL10:(void)0; +} +} +var12 = 1; if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/astbuilder.nit", 73); -exit(1); +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 71); +show_backtrace(1); } else { -var7 = ((val* (*)(val*, val*, val*, val*, short int))(var2->class->vft[COLOR_model__MType__resolve_for]))(var2, var3, var4, var5, var6) /* resolve_for on */; +var13 = ((val* (*)(val*, val*, val*, val*, short int))(var2->class->vft[COLOR_model__MType__resolve_for]))(var2, var5, var6, var9, var12) /* resolve_for on */; } -var_mtype = var7; -var8 = NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr); -((void (*)(val*, val*, val*, val*))(var8->class->vft[COLOR_astbuilder__AAttrExpr__make]))(var8, var_recv, var_attribute, var_mtype) /* make on */; -CHECK_NEW_parser_nodes__AAttrExpr(var8); -var = var8; +var_mtype = var13; +var14 = NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr); +{ +astbuilder__AAttrExpr__make(var14, var_recv, var_attribute, var_mtype); /* Direct call astbuilder#AAttrExpr#make on */ +} +var = var14; goto RET_LABEL; RET_LABEL:; return var; @@ -330,8 +347,9 @@ var_recv = p0; var_attribute = p1; var_value = p2; var1 = NEW_parser_nodes__AAttrAssignExpr(&type_parser_nodes__AAttrAssignExpr); -((void (*)(val*, val*, val*, val*))(var1->class->vft[COLOR_astbuilder__AAttrAssignExpr__make]))(var1, var_recv, var_attribute, var_value) /* make on */; -CHECK_NEW_parser_nodes__AAttrAssignExpr(var1); +{ +astbuilder__AAttrAssignExpr__make(var1, var_recv, var_attribute, var_value); /* Direct call astbuilder#AAttrAssignExpr#make on */ +} var = var1; goto RET_LABEL; RET_LABEL:; @@ -346,27 +364,6 @@ 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); -((void (*)(val*))(var1->class->vft[COLOR_astbuilder__ADoExpr__make]))(var1) /* make on */; -CHECK_NEW_parser_nodes__ADoExpr(var1); -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_if for (self: ASTBuilder, AExpr, nullable MType): AIfExpr */ val* astbuilder__ASTBuilder__make_if(val* self, val* p0, val* p1) { val* var /* : AIfExpr */; @@ -376,8 +373,9 @@ val* var1 /* : AIfExpr */; var_condition = p0; var_mtype = p1; var1 = NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr); -((void (*)(val*, val*, val*))(var1->class->vft[COLOR_astbuilder__AIfExpr__make]))(var1, var_condition, var_mtype) /* make on */; -CHECK_NEW_parser_nodes__AIfExpr(var1); +{ +astbuilder__AIfExpr__make(var1, var_condition, var_mtype); /* Direct call astbuilder#AIfExpr#make on */ +} var = var1; goto RET_LABEL; RET_LABEL:; @@ -394,87 +392,181 @@ 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___64dmmodule].val = p0; /* @mmodule on */ -self->attrs[COLOR_astbuilder__ASTBuilder___64danchor].val = p1; /* @anchor on */ +self->attrs[COLOR_astbuilder__ASTBuilder___mmodule].val = p0; /* _mmodule on */ +self->attrs[COLOR_astbuilder__ASTBuilder___anchor].val = p1; /* _anchor on */ RET_LABEL:; } /* method astbuilder#ASTBuilder#init for (self: Object, MModule, nullable MClassType) */ void VIRTUAL_astbuilder__ASTBuilder__init(val* self, val* p0, val* p1) { -astbuilder__ASTBuilder__init(self, p0, 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 */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method astbuilder#AExpr#make_var_read for (self: AExpr): AVarExpr */ val* astbuilder__AExpr__make_var_read(val* self) { val* var /* : AVarExpr */; val* var1 /* : nullable Variable */; +val* var3 /* : nullable Variable */; val* var_variable /* var variable: nullable Variable */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : nullable ANode */; -val* var5 /* : null */; +val* var4 /* : null */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -val* var7 /* : AExpr */; +val* var_other /* var other: nullable Object */; +short int var8 /* : Bool */; +short int var10 /* : Bool */; +val* var11 /* : nullable ANode */; +val* var13 /* : nullable ANode */; +val* var14 /* : null */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; +val* var_other18 /* var other: nullable Object */; +short int var19 /* : Bool */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +val* var22 /* : AExpr */; val* var_place /* var place: AExpr */; -val* var8 /* : Variable */; +val* var23 /* : Variable */; static val* varonce; -val* var9 /* : String */; -char* var10 /* : NativeString */; -long var11 /* : Int */; -val* var12 /* : String */; -val* var13 /* : nullable MType */; -val* var14 /* : AVarAssignExpr */; +val* var24 /* : String */; +char* var25 /* : NativeString */; +long var26 /* : Int */; +val* var27 /* : FlatString */; +val* var29 /* : nullable MType */; +val* var31 /* : AVarAssignExpr */; val* var_nvar /* var nvar: AVarAssignExpr */; -val* var15 /* : AVarExpr */; -var1 = ((val* (*)(val*))(self->class->vft[COLOR_astbuilder__AExpr__variable_cache]))(self) /* variable_cache on */; +val* var33 /* : AVarExpr */; +val* var34 /* : nullable MType */; +val* var36 /* : nullable MType */; +{ +{ /* Inline astbuilder#AExpr#variable_cache (self) on */ +var3 = self->attrs[COLOR_astbuilder__AExpr___variable_cache].val; /* _variable_cache on */ +var1 = var3; +RET_LABEL2:(void)0; +} +} var_variable = var1; -var2 = NULL; +var4 = NULL; if (var_variable == NULL) { -var3 = 1; /* is null */ +var5 = 1; /* is null */ } else { -var3 = 0; /* arg is null but recv is not */ +var5 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_variable,var4) on */ +var_other = var4; +{ +{ /* Inline kernel#Object#is_same_instance (var_variable,var_other) on */ +var10 = var_variable == var_other; +var8 = var10; +goto RET_LABEL9; +RET_LABEL9:(void)0; +} +} +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +var5 = var6; +} +if (var5){ +{ +{ /* Inline parser_nodes#ANode#parent (self) on */ +var13 = self->attrs[COLOR_parser_nodes__ANode___parent].val; /* _parent on */ +var11 = var13; +RET_LABEL12:(void)0; } -if (var3){ -var4 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__parent]))(self) /* parent on */; -var5 = NULL; -if (var4 == NULL) { -var6 = 0; /* is null */ +} +var14 = NULL; +if (var11 == NULL) { +var15 = 0; /* is null */ } else { -var6 = 1; /* arg is null and recv is not */ +var15 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var11,var14) on */ +var_other18 = var14; +{ +var20 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_other18) /* == on */; +var19 = var20; +} +var21 = !var19; +var16 = var21; +goto RET_LABEL17; +RET_LABEL17:(void)0; +} +var15 = var16; } -if (!var6) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/astbuilder.nit", 107); -exit(1); +if (unlikely(!var15)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 105); +show_backtrace(1); } -var7 = ((val* (*)(val*))(self->class->vft[COLOR_astbuilder__AExpr__detach_with_placeholder]))(self) /* detach_with_placeholder on */; -var_place = var7; -var8 = NEW_scope__Variable(&type_scope__Variable); +{ +var22 = astbuilder__AExpr__detach_with_placeholder(self); +} +var_place = var22; +var23 = NEW_scope__Variable(&type_scope__Variable); if (varonce) { -var9 = varonce; +var24 = varonce; } else { -var10 = ""; -var11 = 0; -var12 = string__NativeString__to_s_with_length(var10, var11); -var9 = var12; -varonce = var9; -} -((void (*)(val*, val*))(var8->class->vft[COLOR_scope__Variable__init]))(var8, var9) /* init on */; -CHECK_NEW_scope__Variable(var8); -var_variable = var8; -var13 = ((val* (*)(val*))(self->class->vft[COLOR_typing__AExpr__mtype]))(self) /* mtype on */; -((void (*)(val*, val*))(var_variable->class->vft[COLOR_typing__Variable__declared_type_61d]))(var_variable, var13) /* declared_type= on */; -var14 = NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr); -((void (*)(val*, val*, val*))(var14->class->vft[COLOR_astbuilder__AVarAssignExpr__make]))(var14, var_variable, self) /* make on */; -CHECK_NEW_parser_nodes__AVarAssignExpr(var14); -var_nvar = var14; -((void (*)(val*, val*))(var_place->class->vft[COLOR_parser_nodes__ANode__replace_with]))(var_place, var_nvar) /* replace_with on */; -((void (*)(val*, val*))(self->class->vft[COLOR_astbuilder__AExpr__variable_cache_61d]))(self, var_variable) /* variable_cache= on */; +var25 = ""; +var26 = 0; +var27 = string__NativeString__to_s_with_length(var25, var26); +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; +} +} +var_variable = var23; +{ +var29 = ((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; +} +} +var31 = NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr); +{ +astbuilder__AVarAssignExpr__make(var31, var_variable, self); /* Direct call astbuilder#AVarAssignExpr#make on */ +} +var_nvar = var31; +{ +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; +} +} } else { } -var15 = NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr); -((void (*)(val*, val*))(var15->class->vft[COLOR_astbuilder__AVarExpr__make]))(var15, var_variable) /* make on */; -CHECK_NEW_parser_nodes__AVarExpr(var15); -var = var15; +var33 = 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; +} +} +if (unlikely(var34 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 113); +show_backtrace(1); +} +{ +astbuilder__AVarExpr__make(var33, var_variable, var34); /* Direct call astbuilder#AVarExpr#make on */ +} +var = var33; goto RET_LABEL; RET_LABEL:; return var; @@ -492,7 +584,7 @@ return var; val* astbuilder__AExpr__variable_cache(val* self) { val* var /* : nullable Variable */; val* var1 /* : nullable Variable */; -var1 = self->attrs[COLOR_astbuilder__AExpr___64dvariable_cache].val; /* @variable_cache on */ +var1 = self->attrs[COLOR_astbuilder__AExpr___variable_cache].val; /* _variable_cache on */ var = var1; RET_LABEL:; return var; @@ -501,19 +593,27 @@ return var; val* VIRTUAL_astbuilder__AExpr__variable_cache(val* self) { val* var /* : nullable Variable */; val* var1 /* : nullable Variable */; -var1 = astbuilder__AExpr__variable_cache(self); +val* var3 /* : nullable Variable */; +{ /* Inline astbuilder#AExpr#variable_cache (self) on */ +var3 = self->attrs[COLOR_astbuilder__AExpr___variable_cache].val; /* _variable_cache on */ +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method astbuilder#AExpr#variable_cache= for (self: AExpr, nullable Variable) */ void astbuilder__AExpr__variable_cache_61d(val* self, val* p0) { -self->attrs[COLOR_astbuilder__AExpr___64dvariable_cache].val = p0; /* @variable_cache on */ +self->attrs[COLOR_astbuilder__AExpr___variable_cache].val = p0; /* _variable_cache on */ RET_LABEL:; } /* method astbuilder#AExpr#variable_cache= for (self: Object, nullable Variable) */ void VIRTUAL_astbuilder__AExpr__variable_cache_61d(val* self, val* p0) { -astbuilder__AExpr__variable_cache_61d(self, p0); +{ /* Inline astbuilder#AExpr#variable_cache= (self,p0) on */ +self->attrs[COLOR_astbuilder__AExpr___variable_cache].val = p0; /* _variable_cache on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method astbuilder#AExpr#detach_with_placeholder for (self: AExpr): AExpr */ @@ -522,10 +622,13 @@ val* var /* : AExpr */; val* var1 /* : APlaceholderExpr */; val* var_h /* var h: APlaceholderExpr */; var1 = NEW_astbuilder__APlaceholderExpr(&type_astbuilder__APlaceholderExpr); -((void (*)(val*))(var1->class->vft[COLOR_astbuilder__APlaceholderExpr__make]))(var1) /* make on */; -CHECK_NEW_astbuilder__APlaceholderExpr(var1); +{ +astbuilder__APlaceholderExpr__make(var1); /* Direct call astbuilder#APlaceholderExpr#make on */ +} var_h = var1; -((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__ANode__replace_with]))(self, var_h) /* replace_with on */; +{ +parser_nodes__Prod__replace_with(self, var_h); /* Direct call parser_nodes#Prod#replace_with on */ +} var = var_h; goto RET_LABEL; RET_LABEL:; @@ -544,131 +647,73 @@ return var; void astbuilder__AExpr__add(val* self, val* p0) { val* var_expr /* var expr: AExpr */; var_expr = p0; -fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/astbuilder.nit", 147); -exit(1); +PRINT_ERROR("Runtime error: %s", "Aborted"); +PRINT_ERROR(" (%s:%d)\n", "src/astbuilder.nit", 145); +show_backtrace(1); RET_LABEL:; } /* method astbuilder#AExpr#add for (self: Object, AExpr) */ void VIRTUAL_astbuilder__AExpr__add(val* self, val* p0) { -astbuilder__AExpr__add(self, p0); +astbuilder__AExpr__add(self, p0); /* Direct call astbuilder#AExpr#add on */ RET_LABEL:; } /* method astbuilder#APlaceholderExpr#make for (self: APlaceholderExpr) */ void astbuilder__APlaceholderExpr__make(val* self) { -((void (*)(val*))(self->class->vft[COLOR_parser_nodes__AExpr__init]))(self) /* init on */; +{ +{ /* Inline parser_nodes#ANode#init (self) on */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } /* method astbuilder#APlaceholderExpr#make for (self: Object) */ void VIRTUAL_astbuilder__APlaceholderExpr__make(val* self) { -astbuilder__APlaceholderExpr__make(self); +astbuilder__APlaceholderExpr__make(self); /* Direct call astbuilder#APlaceholderExpr#make on */ RET_LABEL:; } /* method astbuilder#ABlockExpr#make for (self: ABlockExpr) */ void astbuilder__ABlockExpr__make(val* self) { short int var /* : Bool */; var = 1; -((void (*)(val*, short int))(self->class->vft[COLOR_typing__AExpr__is_typed_61d]))(self, var) /* is_typed= on */; +{ +{ /* Inline typing#AExpr#is_typed= (self,var) on */ +self->attrs[COLOR_typing__AExpr___is_typed].s = var; /* _is_typed on */ +RET_LABEL1:(void)0; +} +} RET_LABEL:; } /* method astbuilder#ABlockExpr#make for (self: Object) */ void VIRTUAL_astbuilder__ABlockExpr__make(val* self) { -astbuilder__ABlockExpr__make(self); +astbuilder__ABlockExpr__make(self); /* Direct call astbuilder#ABlockExpr#make on */ RET_LABEL:; } /* method astbuilder#ABlockExpr#add for (self: ABlockExpr, AExpr) */ void astbuilder__ABlockExpr__add(val* self, val* p0) { val* var_expr /* var expr: AExpr */; val* var /* : ANodes[AExpr] */; +val* var2 /* : ANodes[AExpr] */; var_expr = p0; -var = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ABlockExpr__n_expr]))(self) /* n_expr on */; -((void (*)(val*, val*))(var->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var, var_expr) /* add on */; -RET_LABEL:; +{ +{ /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ +var2 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); +PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424); +show_backtrace(1); } -/* method astbuilder#ABlockExpr#add for (self: Object, AExpr) */ -void VIRTUAL_astbuilder__ABlockExpr__add(val* self, val* p0) { -astbuilder__ABlockExpr__add(self, p0); -RET_LABEL:; -} -/* method astbuilder#ADoExpr#make for (self: ADoExpr) */ -void astbuilder__ADoExpr__make(val* self) { -val* var /* : TKwdo */; -val* var1 /* : EscapeMark */; -val* var2 /* : null */; -short int var3 /* : Bool */; -var = NEW_parser_nodes__TKwdo(&type_parser_nodes__TKwdo); -((void (*)(val*))(var->class->vft[COLOR_parser_nodes__TKwdo__init]))(var) /* init on */; -CHECK_NEW_parser_nodes__TKwdo(var); -self->attrs[COLOR_parser_nodes__ADoExpr___n_kwdo].val = var; /* _n_kwdo on */ -var1 = NEW_scope__EscapeMark(&type_scope__EscapeMark); -var2 = NULL; -var3 = 0; -((void (*)(val*, val*, short int))(var1->class->vft[COLOR_scope__EscapeMark__init]))(var1, var2, var3) /* init on */; -CHECK_NEW_scope__EscapeMark(var1); -((void (*)(val*, val*))(self->class->vft[COLOR_scope__ADoExpr__escapemark_61d]))(self, var1) /* escapemark= on */; -RET_LABEL:; -} -/* method astbuilder#ADoExpr#make for (self: Object) */ -void VIRTUAL_astbuilder__ADoExpr__make(val* self) { -astbuilder__ADoExpr__make(self); -RET_LABEL:; -} -/* method astbuilder#ADoExpr#make_break for (self: ADoExpr): ABreakExpr */ -val* astbuilder__ADoExpr__make_break(val* self) { -val* var /* : ABreakExpr */; -val* var1 /* : nullable EscapeMark */; -val* var_escapemark /* var escapemark: nullable EscapeMark */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : EscapeMark */; -val* var5 /* : null */; -short int var6 /* : Bool */; -val* var7 /* : ABreakExpr */; -var1 = ((val* (*)(val*))(self->class->vft[COLOR_scope__ADoExpr__escapemark]))(self) /* escapemark on */; -var_escapemark = var1; -var2 = NULL; -if (var_escapemark == NULL) { -var3 = 1; /* is null */ -} else { -var3 = 0; /* arg is null but recv is not */ -} -if (var3){ -var4 = NEW_scope__EscapeMark(&type_scope__EscapeMark); -var5 = NULL; -var6 = 0; -((void (*)(val*, val*, short int))(var4->class->vft[COLOR_scope__EscapeMark__init]))(var4, var5, var6) /* init on */; -CHECK_NEW_scope__EscapeMark(var4); -var_escapemark = var4; -((void (*)(val*, val*))(self->class->vft[COLOR_scope__ADoExpr__escapemark_61d]))(self, var_escapemark) /* escapemark= on */; -} else { +var = var2; +RET_LABEL1:(void)0; } -var7 = NEW_parser_nodes__ABreakExpr(&type_parser_nodes__ABreakExpr); -((void (*)(val*, val*))(var7->class->vft[COLOR_astbuilder__ABreakExpr__make]))(var7, var_escapemark) /* make on */; -CHECK_NEW_parser_nodes__ABreakExpr(var7); -var = var7; -goto RET_LABEL; -RET_LABEL:; -return var; } -/* method astbuilder#ADoExpr#make_break for (self: Object): ABreakExpr */ -val* VIRTUAL_astbuilder__ADoExpr__make_break(val* self) { -val* var /* : ABreakExpr */; -val* var1 /* : ABreakExpr */; -var1 = astbuilder__ADoExpr__make_break(self); -var = var1; -RET_LABEL:; -return var; +{ +abstract_collection__Sequence__add(var, var_expr); /* Direct call abstract_collection#Sequence#add on */ } -/* method astbuilder#ABreakExpr#make for (self: ABreakExpr, EscapeMark) */ -void astbuilder__ABreakExpr__make(val* self, val* p0) { -val* var_escapemark /* var escapemark: EscapeMark */; -var_escapemark = p0; -((void (*)(val*, val*))(self->class->vft[COLOR_scope__ABreakExpr__escapemark_61d]))(self, var_escapemark) /* escapemark= on */; RET_LABEL:; } -/* method astbuilder#ABreakExpr#make for (self: Object, EscapeMark) */ -void VIRTUAL_astbuilder__ABreakExpr__make(val* self, val* p0) { -astbuilder__ABreakExpr__make(self, p0); +/* method astbuilder#ABlockExpr#add for (self: Object, AExpr) */ +void VIRTUAL_astbuilder__ABlockExpr__add(val* self, val* p0) { +astbuilder__ABlockExpr__add(self, p0); /* Direct call astbuilder#ABlockExpr#add on */ RET_LABEL:; } /* method astbuilder#AIfExpr#make for (self: AIfExpr, AExpr, nullable MType) */ @@ -676,232 +721,365 @@ 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* var1 /* : AExpr */; -val* var2 /* : ABlockExpr */; -val* var3 /* : ABlockExpr */; -short int var4 /* : Bool */; +val* var2 /* : AExpr */; +val* var4 /* : ABlockExpr */; +val* var5 /* : ABlockExpr */; +short int var7 /* : Bool */; var_condition = p0; var_mtype = p1; var = NEW_parser_nodes__TKwif(&type_parser_nodes__TKwif); -((void (*)(val*))(var->class->vft[COLOR_parser_nodes__TKwif__init]))(var) /* init on */; -CHECK_NEW_parser_nodes__TKwif(var); +{ +{ /* Inline parser_nodes#ANode#init (var) on */ +RET_LABEL1:(void)0; +} +} 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 */ -var1 = self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val; /* _n_expr on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr"); -fprintf(stderr, " (%s:%d)\n", "src/astbuilder.nit", 208); -exit(1); -} -((void (*)(val*, val*))(var1->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var1, self) /* parent= on */; -var2 = NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr); -((void (*)(val*))(var2->class->vft[COLOR_astbuilder__ABlockExpr__make]))(var2) /* make on */; -CHECK_NEW_parser_nodes__ABlockExpr(var2); -self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val = var2; /* _n_then on */ -var3 = NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr); -((void (*)(val*))(var3->class->vft[COLOR_astbuilder__ABlockExpr__make]))(var3) /* make on */; -CHECK_NEW_parser_nodes__ABlockExpr(var3); -self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val = var3; /* _n_else on */ -((void (*)(val*, val*))(self->class->vft[COLOR_typing__AExpr__mtype_61d]))(self, var_mtype) /* mtype= on */; -var4 = 1; -((void (*)(val*, short int))(self->class->vft[COLOR_typing__AExpr__is_typed_61d]))(self, var4) /* is_typed= on */; +var2 = self->attrs[COLOR_parser_nodes__AIfExpr___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/astbuilder.nit", 206); +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; +} +} +var4 = NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr); +{ +astbuilder__ABlockExpr__make(var4); /* 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); +{ +astbuilder__ABlockExpr__make(var5); /* Direct call astbuilder#ABlockExpr#make on */ +} +self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val = var5; /* _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; +} +} +var7 = 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; +} +} RET_LABEL:; } /* method astbuilder#AIfExpr#make for (self: Object, AExpr, nullable MType) */ void VIRTUAL_astbuilder__AIfExpr__make(val* self, val* p0, val* p1) { -astbuilder__AIfExpr__make(self, p0, p1); +astbuilder__AIfExpr__make(self, p0, p1); /* Direct call astbuilder#AIfExpr#make on */ RET_LABEL:; } /* method astbuilder#AType#make for (self: AType) */ void astbuilder__AType__make(val* self) { val* var /* : TClassid */; var = NEW_parser_nodes__TClassid(&type_parser_nodes__TClassid); -((void (*)(val*))(var->class->vft[COLOR_parser_nodes__TClassid__init]))(var) /* init on */; -CHECK_NEW_parser_nodes__TClassid(var); +{ +{ /* Inline parser_nodes#ANode#init (var) on */ +RET_LABEL1:(void)0; +} +} self->attrs[COLOR_parser_nodes__AType___n_id].val = var; /* _n_id on */ RET_LABEL:; } /* method astbuilder#AType#make for (self: Object) */ void VIRTUAL_astbuilder__AType__make(val* self) { -astbuilder__AType__make(self); +astbuilder__AType__make(self); /* Direct call astbuilder#AType#make on */ RET_LABEL:; } -/* method astbuilder#AIntExpr#make for (self: AIntExpr, Int, MType) */ -void astbuilder__AIntExpr__make(val* self, long p0, val* p1) { +/* method astbuilder#ADecIntExpr#make for (self: ADecIntExpr, Int, MType) */ +void astbuilder__ADecIntExpr__make(val* self, long p0, val* p1) { long var_value /* var value: Int */; val* var_t /* var t: MType */; val* var /* : nullable Int */; -val* var1 /* : TNumber */; +val* var2 /* : TNumber */; var_value = p0; var_t = p1; +{ +{ /* Inline literal#AIntExpr#value= (self,var_value) on */ var = BOX_kernel__Int(var_value); /* autobox from Int to nullable Int */ -((void (*)(val*, val*))(self->class->vft[COLOR_literal__AIntExpr__value_61d]))(self, var) /* value= on */; -var1 = NEW_parser_nodes__TNumber(&type_parser_nodes__TNumber); -((void (*)(val*))(var1->class->vft[COLOR_parser_nodes__TNumber__init]))(var1) /* init on */; -CHECK_NEW_parser_nodes__TNumber(var1); -self->attrs[COLOR_parser_nodes__AIntExpr___n_number].val = var1; /* _n_number on */ -((void (*)(val*, val*))(self->class->vft[COLOR_typing__AExpr__mtype_61d]))(self, var_t) /* mtype= on */; +self->attrs[COLOR_literal__AIntExpr___value].val = var; /* _value on */ +RET_LABEL1:(void)0; +} +} +var2 = NEW_parser_nodes__TNumber(&type_parser_nodes__TNumber); +{ +{ /* Inline parser_nodes#ANode#init (var2) on */ +RET_LABEL3:(void)0; +} +} +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_LABEL:; } -/* method astbuilder#AIntExpr#make for (self: Object, Int, MType) */ -void VIRTUAL_astbuilder__AIntExpr__make(val* self, long p0, val* p1) { -astbuilder__AIntExpr__make(self, p0, p1); +/* method astbuilder#ADecIntExpr#make for (self: Object, Int, MType) */ +void VIRTUAL_astbuilder__ADecIntExpr__make(val* self, long p0, val* p1) { +astbuilder__ADecIntExpr__make(self, p0, p1); /* Direct call astbuilder#ADecIntExpr#make on */ RET_LABEL:; } -/* method astbuilder#ANewExpr#make for (self: ANewExpr, MClassType, MMethod, nullable Array[AExpr]) */ -void astbuilder__ANewExpr__make(val* self, val* p0, val* p1, val* p2) { -val* var_mtype /* var mtype: MClassType */; -val* var_mmethod /* var mmethod: MMethod */; +/* method astbuilder#ANewExpr#make for (self: ANewExpr, CallSite, nullable Array[AExpr]) */ +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* var1 /* : AType */; -val* var2 /* : AListExprs */; -val* var3 /* : null */; -short int var4 /* : Bool */; -val* var5 /* : AExprs */; -val* var6 /* : ANodes[AExpr] */; -val* var7 /* : CallSite */; +val* var2 /* : AType */; +val* var3 /* : AListExprs */; +val* var4 /* : null */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var8 /* : Bool */; -val* var9 /* : MPropDef */; -val* var10 /* : MPropDef */; -val* var11 /* : nullable MSignature */; -short int var12 /* : Bool */; -var_mtype = p0; -var_mmethod = p1; -var_args = p2; +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 */; +short int var20 /* : Bool */; +var_callsite = p0; +var_args = p1; var = NEW_parser_nodes__TKwnew(&type_parser_nodes__TKwnew); -((void (*)(val*))(var->class->vft[COLOR_parser_nodes__TKwnew__init]))(var) /* init on */; -CHECK_NEW_parser_nodes__TKwnew(var); +{ +{ /* Inline parser_nodes#ANode#init (var) on */ +RET_LABEL1:(void)0; +} +} self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var; /* _n_kwnew on */ -var1 = NEW_parser_nodes__AType(&type_parser_nodes__AType); -((void (*)(val*))(var1->class->vft[COLOR_astbuilder__AType__make]))(var1) /* make on */; -CHECK_NEW_parser_nodes__AType(var1); -self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var1; /* _n_type on */ -var2 = NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs); -((void (*)(val*))(var2->class->vft[COLOR_parser_nodes__AListExprs__init]))(var2) /* init on */; -CHECK_NEW_parser_nodes__AListExprs(var2); -self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var2; /* _n_args on */ -var3 = NULL; +var2 = NEW_parser_nodes__AType(&type_parser_nodes__AType); +{ +astbuilder__AType__make(var2); /* 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); +{ +parser_nodes__AExprs__init(var3); /* Direct call parser_nodes#AExprs#init on */ +} +self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var3; /* _n_args on */ +var4 = NULL; if (var_args == NULL) { -var4 = 0; /* is null */ +var5 = 0; /* is null */ } else { -var4 = 1; /* arg is null and recv is not */ +var5 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_args,var4) on */ +var_other = var4; +{ +var9 = ((short int (*)(val*, val*))(var_args->class->vft[COLOR_kernel__Object___61d_61d]))(var_args, var_other) /* == on */; +var8 = var9; +} +var10 = !var8; +var6 = var10; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +var5 = var6; +} +if (var5){ +{ +var11 = parser_nodes__ANewExpr__n_args(self); +} +{ +{ /* 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)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); +PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2274); +show_backtrace(1); +} +var12 = var14; +RET_LABEL13:(void)0; +} +} +{ +abstract_collection__SimpleCollection__add_all(var12, var_args); /* Direct call abstract_collection#SimpleCollection#add_all on */ } -if (var4){ -var5 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANewExpr__n_args]))(self) /* n_args on */; -var6 = ((val* (*)(val*))(var5->class->vft[COLOR_parser_nodes__AExprs__n_exprs]))(var5) /* n_exprs on */; -((void (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var6, var_args) /* add_all on */; } else { } -var7 = NEW_typing__CallSite(&type_typing__CallSite); -var8 = 1; -var9 = ((val* (*)(val*))(var_mmethod->class->vft[COLOR_model__MProperty__intro]))(var_mmethod) /* intro on */; -var10 = ((val* (*)(val*))(var_mmethod->class->vft[COLOR_model__MProperty__intro]))(var_mmethod) /* intro on */; -var11 = ((val* (*)(val*))(var10->class->vft[COLOR_model__MMethodDef__msignature]))(var10) /* msignature on */; -if (var11 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/astbuilder.nit", 241); -exit(1); +{ +{ /* Inline typing#ANewExpr#callsite= (self,var_callsite) on */ +self->attrs[COLOR_typing__ANewExpr___callsite].val = var_callsite; /* _callsite on */ +RET_LABEL15:(void)0; +} +} +{ +{ /* Inline typing#CallSite#recv (var_callsite) on */ +var18 = var_callsite->attrs[COLOR_typing__CallSite___recv].val; /* _recv on */ +if (unlikely(var18 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv"); +PRINT_ERROR(" (%s:%d)\n", "src/typing.nit", 408); +show_backtrace(1); +} +var16 = var18; +RET_LABEL17:(void)0; +} +} +{ +{ /* Inline typing#AExpr#mtype= (self,var16) on */ +self->attrs[COLOR_typing__AExpr___mtype].val = var16; /* _mtype on */ +RET_LABEL19:(void)0; +} +} +var20 = 1; +{ +{ /* Inline typing#AExpr#is_typed= (self,var20) on */ +self->attrs[COLOR_typing__AExpr___is_typed].s = var20; /* _is_typed on */ +RET_LABEL21:(void)0; +} } -var12 = 0; -((void (*)(val*, val*, val*, short int, val*, val*, val*, short int))(var7->class->vft[COLOR_typing__CallSite__init]))(var7, self, var_mtype, var8, var_mmethod, var9, var11, var12) /* init on */; -CHECK_NEW_typing__CallSite(var7); -((void (*)(val*, val*))(self->class->vft[COLOR_typing__ANewExpr__callsite_61d]))(self, var7) /* callsite= on */; -((void (*)(val*, val*))(self->class->vft[COLOR_typing__AExpr__mtype_61d]))(self, var_mtype) /* mtype= on */; RET_LABEL:; } -/* method astbuilder#ANewExpr#make for (self: Object, MClassType, MMethod, nullable Array[AExpr]) */ -void VIRTUAL_astbuilder__ANewExpr__make(val* self, val* p0, val* p1, val* p2) { -astbuilder__ANewExpr__make(self, p0, p1, p2); +/* method astbuilder#ANewExpr#make for (self: Object, CallSite, nullable Array[AExpr]) */ +void VIRTUAL_astbuilder__ANewExpr__make(val* self, val* p0, val* p1) { +astbuilder__ANewExpr__make(self, p0, p1); /* Direct call astbuilder#ANewExpr#make on */ RET_LABEL:; } -/* method astbuilder#ACallExpr#make for (self: ACallExpr, AExpr, MMethod, nullable Array[AExpr], nullable MType) */ -void astbuilder__ACallExpr__make(val* self, val* p0, val* p1, val* p2, val* p3) { +/* method astbuilder#ACallExpr#make for (self: ACallExpr, AExpr, CallSite, nullable Array[AExpr]) */ +void astbuilder__ACallExpr__make(val* self, val* p0, val* p1, val* p2) { val* var_recv /* var recv: AExpr */; -val* var_mmethod /* var mmethod: MMethod */; +val* var_callsite /* var callsite: CallSite */; val* var_args /* var args: nullable Array[AExpr] */; -val* var_t /* var t: nullable MType */; -val* var /* : Array[AExpr] */; -val* var1 /* : Array[AExpr] */; -val* var2 /* : AListExprs */; -val* var3 /* : TId */; -val* var4 /* : null */; +val* var /* : AListExprs */; +val* var1 /* : TId */; +val* var3 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -val* var6 /* : AExprs */; -val* var7 /* : ANodes[AExpr] */; -val* var8 /* : nullable MType */; +val* var_other /* var other: nullable Object */; +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 /* : CallSite */; -short int var10 /* : Bool */; -val* var11 /* : MPropDef */; -val* var12 /* : MPropDef */; -val* var13 /* : nullable MSignature */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; +val* var16 /* : MSignature */; +val* var18 /* : MSignature */; +val* var19 /* : nullable MType */; +val* var21 /* : nullable MType */; +short int var23 /* : Bool */; var_recv = p0; -var_mmethod = p1; +var_callsite = p1; var_args = p2; -var_t = p3; self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_recv; /* _n_expr on */ -((void (*)(val*, val*))(var_recv->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_recv, self) /* parent= on */; -if (var_args!=NULL) { -var = var_args; -} else { -var1 = NEW_array__Array(&type_array__Arrayparser_nodes__AExpr); -((void (*)(val*))(var1->class->vft[COLOR_array__Array__init]))(var1) /* init on */; -CHECK_NEW_array__Array(var1); -var = var1; +var = NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs); +{ +parser_nodes__AExprs__init(var); /* Direct call parser_nodes#AExprs#init on */ } -((void (*)(val*, val*))(self->class->vft[COLOR_typing__ASendExpr__raw_arguments_61d]))(self, var) /* raw_arguments= on */; -var2 = NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs); -((void (*)(val*))(var2->class->vft[COLOR_parser_nodes__AListExprs__init]))(var2) /* init on */; -CHECK_NEW_parser_nodes__AListExprs(var2); -self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var2; /* _n_args on */ -var3 = NEW_parser_nodes__TId(&type_parser_nodes__TId); -((void (*)(val*))(var3->class->vft[COLOR_parser_nodes__TId__init]))(var3) /* init on */; -CHECK_NEW_parser_nodes__TId(var3); -self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var3; /* _n_id on */ -var4 = NULL; +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; +} +} +self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var1; /* _n_id 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,var3) on */ +var_other = var3; +{ +var8 = ((short int (*)(val*, val*))(var_args->class->vft[COLOR_kernel__Object___61d_61d]))(var_args, var_other) /* == on */; +var7 = var8; +} +var9 = !var7; +var5 = var9; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +var4 = var5; +} +if (var4){ +{ +var10 = parser_nodes__ACallFormExpr__n_args(self); +} +{ +{ /* 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)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs"); +PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2274); +show_backtrace(1); +} +var11 = var13; +RET_LABEL12:(void)0; +} +} +{ +abstract_collection__SimpleCollection__add_all(var11, var_args); /* Direct call abstract_collection#SimpleCollection#add_all on */ } -if (var5){ -var6 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ACallFormExpr__n_args]))(self) /* n_args on */; -var7 = ((val* (*)(val*))(var6->class->vft[COLOR_parser_nodes__AExprs__n_exprs]))(var6) /* n_exprs on */; -((void (*)(val*, val*))(var7->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var7, var_args) /* add_all on */; } else { } -var8 = ((val* (*)(val*))(var_recv->class->vft[COLOR_typing__AExpr__mtype]))(var_recv) /* mtype on */; -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/astbuilder.nit", 257); -exit(1); -} -var_mtype = var8; -var9 = NEW_typing__CallSite(&type_typing__CallSite); -var10 = 1; -var11 = ((val* (*)(val*))(var_mmethod->class->vft[COLOR_model__MProperty__intro]))(var_mmethod) /* intro on */; -var12 = ((val* (*)(val*))(var_mmethod->class->vft[COLOR_model__MProperty__intro]))(var_mmethod) /* intro on */; -var13 = ((val* (*)(val*))(var12->class->vft[COLOR_model__MMethodDef__msignature]))(var12) /* msignature on */; -if (var13 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/astbuilder.nit", 258); -exit(1); -} -var14 = 0; -((void (*)(val*, val*, val*, short int, val*, val*, val*, short int))(var9->class->vft[COLOR_typing__CallSite__init]))(var9, self, var_mtype, var10, var_mmethod, var11, var13, var14) /* init on */; -CHECK_NEW_typing__CallSite(var9); -((void (*)(val*, val*))(self->class->vft[COLOR_typing__ASendExpr__callsite_61d]))(self, var9) /* callsite= on */; -((void (*)(val*, val*))(self->class->vft[COLOR_typing__AExpr__mtype_61d]))(self, var_t) /* mtype= on */; -var15 = 1; -((void (*)(val*, short int))(self->class->vft[COLOR_typing__AExpr__is_typed_61d]))(self, var15) /* is_typed= on */; -RET_LABEL:; -} -/* method astbuilder#ACallExpr#make for (self: Object, AExpr, MMethod, nullable Array[AExpr], nullable MType) */ -void VIRTUAL_astbuilder__ACallExpr__make(val* self, val* p0, val* p1, val* p2, val* p3) { -astbuilder__ACallExpr__make(self, p0, p1, p2, p3); +{ +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; +} +} +{ +{ /* Inline typing#CallSite#msignature (var_callsite) on */ +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); +show_backtrace(1); +} +var16 = var18; +RET_LABEL17:(void)0; +} +} +{ +{ /* Inline model#MSignature#return_mtype (var16) on */ +var21 = var16->attrs[COLOR_model__MSignature___return_mtype].val; /* _return_mtype on */ +var19 = var21; +RET_LABEL20:(void)0; +} +} +{ +{ /* Inline typing#AExpr#mtype= (self,var19) on */ +self->attrs[COLOR_typing__AExpr___mtype].val = var19; /* _mtype on */ +RET_LABEL22:(void)0; +} +} +var23 = 1; +{ +{ /* Inline typing#AExpr#is_typed= (self,var23) on */ +self->attrs[COLOR_typing__AExpr___is_typed].s = var23; /* _is_typed on */ +RET_LABEL24:(void)0; +} +} +RET_LABEL:; +} +/* method astbuilder#ACallExpr#make for (self: Object, AExpr, CallSite, nullable Array[AExpr]) */ +void VIRTUAL_astbuilder__ACallExpr__make(val* self, val* p0, val* p1, val* p2) { +astbuilder__ACallExpr__make(self, p0, p1, p2); /* Direct call astbuilder#ACallExpr#make on */ RET_LABEL:; } /* method astbuilder#AAttrExpr#make for (self: AAttrExpr, AExpr, MAttribute, MType) */ @@ -914,18 +1092,36 @@ var_recv = p0; var_attribute = p1; var_t = p2; self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_recv; /* _n_expr on */ -((void (*)(val*, val*))(var_recv->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_recv, self) /* parent= on */; +{ +{ /* Inline parser_nodes#ANode#parent= (var_recv,self) on */ +var_recv->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} var = NEW_parser_nodes__TAttrid(&type_parser_nodes__TAttrid); -((void (*)(val*))(var->class->vft[COLOR_parser_nodes__TAttrid__init]))(var) /* init on */; -CHECK_NEW_parser_nodes__TAttrid(var); +{ +{ /* Inline parser_nodes#ANode#init (var) on */ +RET_LABEL2:(void)0; +} +} self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var; /* _n_id on */ -((void (*)(val*, val*))(self->class->vft[COLOR_typing__AAttrFormExpr__mproperty_61d]))(self, var_attribute) /* mproperty= on */; -((void (*)(val*, val*))(self->class->vft[COLOR_typing__AExpr__mtype_61d]))(self, var_t) /* mtype= on */; +{ +{ /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on */ +self->attrs[COLOR_typing__AAttrFormExpr___mproperty].val = var_attribute; /* _mproperty on */ +RET_LABEL3:(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_LABEL:; } /* method astbuilder#AAttrExpr#make for (self: Object, AExpr, MAttribute, MType) */ void VIRTUAL_astbuilder__AAttrExpr__make(val* self, val* p0, val* p1, val* p2) { -astbuilder__AAttrExpr__make(self, p0, p1, p2); +astbuilder__AAttrExpr__make(self, p0, p1, p2); /* Direct call astbuilder#AAttrExpr#make on */ RET_LABEL:; } /* method astbuilder#AAttrAssignExpr#make for (self: AAttrAssignExpr, AExpr, MAttribute, AExpr) */ @@ -934,51 +1130,92 @@ val* var_recv /* var recv: AExpr */; val* var_attribute /* var attribute: MAttribute */; val* var_value /* var value: AExpr */; val* var /* : TAttrid */; -val* var1 /* : TAssign */; -val* var2 /* : nullable MType */; +val* var4 /* : TAssign */; +val* var7 /* : nullable MType */; var_recv = p0; var_attribute = p1; var_value = p2; self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_recv; /* _n_expr on */ -((void (*)(val*, val*))(var_recv->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_recv, self) /* parent= on */; +{ +{ /* Inline parser_nodes#ANode#parent= (var_recv,self) on */ +var_recv->attrs[COLOR_parser_nodes__ANode___parent].val = self; /* _parent on */ +RET_LABEL1:(void)0; +} +} var = NEW_parser_nodes__TAttrid(&type_parser_nodes__TAttrid); -((void (*)(val*))(var->class->vft[COLOR_parser_nodes__TAttrid__init]))(var) /* init on */; -CHECK_NEW_parser_nodes__TAttrid(var); +{ +{ /* Inline parser_nodes#ANode#init (var) on */ +RET_LABEL2:(void)0; +} +} 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 */ -((void (*)(val*, val*))(var_value->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_value, self) /* parent= on */; -var1 = NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign); -((void (*)(val*))(var1->class->vft[COLOR_parser_nodes__TAssign__init]))(var1) /* init on */; -CHECK_NEW_parser_nodes__TAssign(var1); -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var1; /* _n_assign on */ -((void (*)(val*, val*))(self->class->vft[COLOR_typing__AAttrFormExpr__mproperty_61d]))(self, var_attribute) /* mproperty= on */; -var2 = ((val* (*)(val*))(var_value->class->vft[COLOR_typing__AExpr__mtype]))(var_value) /* mtype on */; -((void (*)(val*, val*))(self->class->vft[COLOR_typing__AExpr__mtype_61d]))(self, var2) /* mtype= 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; +} +} +var4 = NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign); +{ +{ /* Inline parser_nodes#ANode#init (var4) on */ +RET_LABEL5:(void)0; +} +} +self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var4; /* _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; +} +} +{ +var7 = ((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; +} +} RET_LABEL:; } /* method astbuilder#AAttrAssignExpr#make for (self: Object, AExpr, MAttribute, AExpr) */ void VIRTUAL_astbuilder__AAttrAssignExpr__make(val* self, val* p0, val* p1, val* p2) { -astbuilder__AAttrAssignExpr__make(self, p0, p1, p2); +astbuilder__AAttrAssignExpr__make(self, p0, p1, p2); /* Direct call astbuilder#AAttrAssignExpr#make on */ RET_LABEL:; } -/* method astbuilder#AVarExpr#make for (self: AVarExpr, Variable) */ -void astbuilder__AVarExpr__make(val* self, val* p0) { +/* method astbuilder#AVarExpr#make for (self: AVarExpr, Variable, MType) */ +void astbuilder__AVarExpr__make(val* self, val* p0, val* p1) { val* var_v /* var v: Variable */; +val* var_mtype /* var mtype: MType */; val* var /* : TId */; -val* var1 /* : nullable MType */; var_v = p0; +var_mtype = p1; var = NEW_parser_nodes__TId(&type_parser_nodes__TId); -((void (*)(val*))(var->class->vft[COLOR_parser_nodes__TId__init]))(var) /* init on */; -CHECK_NEW_parser_nodes__TId(var); +{ +{ /* Inline parser_nodes#ANode#init (var) on */ +RET_LABEL1:(void)0; +} +} self->attrs[COLOR_parser_nodes__AVarFormExpr___n_id].val = var; /* _n_id on */ -((void (*)(val*, val*))(self->class->vft[COLOR_scope__AVarFormExpr__variable_61d]))(self, var_v) /* variable= on */; -var1 = ((val* (*)(val*))(var_v->class->vft[COLOR_typing__Variable__declared_type]))(var_v) /* declared_type on */; -((void (*)(val*, val*))(self->class->vft[COLOR_typing__AExpr__mtype_61d]))(self, var1) /* mtype= on */; +{ +{ /* Inline scope#AVarFormExpr#variable= (self,var_v) on */ +self->attrs[COLOR_scope__AVarFormExpr___variable].val = var_v; /* _variable on */ +RET_LABEL2:(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_LABEL:; } -/* method astbuilder#AVarExpr#make for (self: Object, Variable) */ -void VIRTUAL_astbuilder__AVarExpr__make(val* self, val* p0) { -astbuilder__AVarExpr__make(self, p0); +/* method astbuilder#AVarExpr#make for (self: Object, Variable, MType) */ +void VIRTUAL_astbuilder__AVarExpr__make(val* self, val* p0, val* p1) { +astbuilder__AVarExpr__make(self, p0, p1); /* Direct call astbuilder#AVarExpr#make on */ RET_LABEL:; } /* method astbuilder#AVarAssignExpr#make for (self: AVarAssignExpr, Variable, AExpr) */ @@ -986,27 +1223,50 @@ 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* var1 /* : TAssign */; -val* var2 /* : nullable MType */; +val* var3 /* : TAssign */; +val* var6 /* : nullable MType */; var_v = p0; var_value = p1; var = NEW_parser_nodes__TId(&type_parser_nodes__TId); -((void (*)(val*))(var->class->vft[COLOR_parser_nodes__TId__init]))(var) /* init on */; -CHECK_NEW_parser_nodes__TId(var); +{ +{ /* Inline parser_nodes#ANode#init (var) on */ +RET_LABEL1:(void)0; +} +} 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 */ -((void (*)(val*, val*))(var_value->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_value, self) /* parent= on */; -var1 = NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign); -((void (*)(val*))(var1->class->vft[COLOR_parser_nodes__TAssign__init]))(var1) /* init on */; -CHECK_NEW_parser_nodes__TAssign(var1); -self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var1; /* _n_assign on */ -((void (*)(val*, val*))(self->class->vft[COLOR_scope__AVarFormExpr__variable_61d]))(self, var_v) /* variable= on */; -var2 = ((val* (*)(val*))(var_value->class->vft[COLOR_typing__AExpr__mtype]))(var_value) /* mtype on */; -((void (*)(val*, val*))(self->class->vft[COLOR_typing__AExpr__mtype_61d]))(self, var2) /* mtype= 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; +} +} +var3 = NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign); +{ +{ /* Inline parser_nodes#ANode#init (var3) on */ +RET_LABEL4:(void)0; +} +} +self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var3; /* _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; +} +} +{ +var6 = ((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; +} +} RET_LABEL:; } /* method astbuilder#AVarAssignExpr#make for (self: Object, Variable, AExpr) */ void VIRTUAL_astbuilder__AVarAssignExpr__make(val* self, val* p0, val* p1) { -astbuilder__AVarAssignExpr__make(self, p0, p1); +astbuilder__AVarAssignExpr__make(self, p0, p1); /* Direct call astbuilder#AVarAssignExpr#make on */ RET_LABEL:; }