X-Git-Url: http://nitlanguage.org diff --git a/c_src/nitc__typing.sep.1.c b/c_src/nitc__typing.sep.1.c index a47cce2..d72d350 100644 --- a/c_src/nitc__typing.sep.1.c +++ b/c_src/nitc__typing.sep.1.c @@ -1,10 +1,13 @@ #include "nitc__typing.sep.0.h" -/* method typing#ToolContext#typing_phase for (self: ToolContext): Phase */ +/* method typing$ToolContext$typing_phase for (self: ToolContext): Phase */ val* nitc__typing___ToolContext___typing_phase(val* self) { val* var /* : Phase */; val* var1 /* : Phase */; var1 = self->attrs[COLOR_nitc__typing__ToolContext___typing_phase].val; /* _typing_phase on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _typing_phase"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 26); fatal_exit(1); @@ -13,7 +16,7 @@ var = var1; RET_LABEL:; return var; } -/* method typing#TypingPhase#process_npropdef for (self: TypingPhase, APropdef) */ +/* method typing$TypingPhase$process_npropdef for (self: TypingPhase, APropdef) */ void nitc__typing___nitc__typing__TypingPhase___nitc__phase__Phase__process_npropdef(val* self, val* p0) { val* var_npropdef /* var npropdef: APropdef */; val* var /* : ToolContext */; @@ -21,11 +24,14 @@ val* var2 /* : ToolContext */; val* var3 /* : ModelBuilder */; var_npropdef = p0; { -{ /* Inline phase#Phase#toolcontext (self) on */ +{ /* Inline phase$Phase$toolcontext (self) on */ var2 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 200); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 210); fatal_exit(1); } var = var2; @@ -40,12 +46,15 @@ var3 = nitc__modelbuilder_base___ToolContext___modelbuilder(var); } RET_LABEL:; } -/* method typing#TypeVisitor#modelbuilder for (self: TypeVisitor): ModelBuilder */ +/* method typing$TypeVisitor$modelbuilder for (self: TypeVisitor): ModelBuilder */ val* nitc__typing___nitc__typing__TypeVisitor___modelbuilder(val* self) { val* var /* : ModelBuilder */; val* var1 /* : ModelBuilder */; var1 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -54,17 +63,20 @@ var = var1; RET_LABEL:; return var; } -/* method typing#TypeVisitor#modelbuilder= for (self: TypeVisitor, ModelBuilder) */ +/* method typing$TypeVisitor$modelbuilder= for (self: TypeVisitor, ModelBuilder) */ void nitc__typing___nitc__typing__TypeVisitor___modelbuilder_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val = p0; /* _modelbuilder on */ RET_LABEL:; } -/* method typing#TypeVisitor#mmodule for (self: TypeVisitor): MModule */ +/* method typing$TypeVisitor$mmodule for (self: TypeVisitor): MModule */ val* nitc__typing___nitc__typing__TypeVisitor___mmodule(val* self) { val* var /* : MModule */; val* var1 /* : MModule */; var1 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 37); fatal_exit(1); @@ -73,12 +85,12 @@ var = var1; RET_LABEL:; return var; } -/* method typing#TypeVisitor#mmodule= for (self: TypeVisitor, MModule) */ +/* method typing$TypeVisitor$mmodule= for (self: TypeVisitor, MModule) */ void nitc__typing___nitc__typing__TypeVisitor___mmodule_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val = p0; /* _mmodule on */ RET_LABEL:; } -/* method typing#TypeVisitor#anchor for (self: TypeVisitor): nullable MClassType */ +/* method typing$TypeVisitor$anchor for (self: TypeVisitor): nullable MClassType */ val* nitc__typing___nitc__typing__TypeVisitor___anchor(val* self) { val* var /* : nullable MClassType */; val* var1 /* : nullable MClassType */; @@ -87,12 +99,12 @@ var = var1; RET_LABEL:; return var; } -/* method typing#TypeVisitor#anchor= for (self: TypeVisitor, nullable MClassType) */ +/* method typing$TypeVisitor$anchor= for (self: TypeVisitor, nullable MClassType) */ void nitc__typing___nitc__typing__TypeVisitor___anchor_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__TypeVisitor___anchor].val = p0; /* _anchor on */ RET_LABEL:; } -/* method typing#TypeVisitor#mclassdef for (self: TypeVisitor): nullable MClassDef */ +/* method typing$TypeVisitor$mclassdef for (self: TypeVisitor): nullable MClassDef */ val* nitc__typing___nitc__typing__TypeVisitor___mclassdef(val* self) { val* var /* : nullable MClassDef */; val* var1 /* : nullable MClassDef */; @@ -101,12 +113,12 @@ var = var1; RET_LABEL:; return var; } -/* method typing#TypeVisitor#mclassdef= for (self: TypeVisitor, nullable MClassDef) */ +/* method typing$TypeVisitor$mclassdef= for (self: TypeVisitor, nullable MClassDef) */ void nitc__typing___nitc__typing__TypeVisitor___mclassdef_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__TypeVisitor___mclassdef].val = p0; /* _mclassdef on */ RET_LABEL:; } -/* method typing#TypeVisitor#mpropdef for (self: TypeVisitor): nullable MPropDef */ +/* method typing$TypeVisitor$mpropdef for (self: TypeVisitor): nullable MPropDef */ val* nitc__typing___nitc__typing__TypeVisitor___mpropdef(val* self) { val* var /* : nullable MPropDef */; val* var1 /* : nullable MPropDef */; @@ -115,17 +127,20 @@ var = var1; RET_LABEL:; return var; } -/* method typing#TypeVisitor#mpropdef= for (self: TypeVisitor, nullable MPropDef) */ +/* method typing$TypeVisitor$mpropdef= for (self: TypeVisitor, nullable MPropDef) */ void nitc__typing___nitc__typing__TypeVisitor___mpropdef_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__TypeVisitor___mpropdef].val = p0; /* _mpropdef on */ RET_LABEL:; } -/* method typing#TypeVisitor#selfvariable for (self: TypeVisitor): Variable */ +/* method typing$TypeVisitor$selfvariable for (self: TypeVisitor): Variable */ val* nitc__typing___nitc__typing__TypeVisitor___selfvariable(val* self) { val* var /* : Variable */; val* var1 /* : Variable */; var1 = self->attrs[COLOR_nitc__typing__TypeVisitor___selfvariable].val; /* _selfvariable on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 51); fatal_exit(1); @@ -134,12 +149,12 @@ var = var1; RET_LABEL:; return var; } -/* method typing#TypeVisitor#selfvariable= for (self: TypeVisitor, Variable) */ +/* method typing$TypeVisitor$selfvariable= for (self: TypeVisitor, Variable) */ void nitc__typing___nitc__typing__TypeVisitor___selfvariable_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__TypeVisitor___selfvariable].val = p0; /* _selfvariable on */ RET_LABEL:; } -/* method typing#TypeVisitor#is_toplevel_context for (self: TypeVisitor): Bool */ +/* method typing$TypeVisitor$is_toplevel_context for (self: TypeVisitor): Bool */ short int nitc__typing___nitc__typing__TypeVisitor___is_toplevel_context(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -148,12 +163,12 @@ var = var1; RET_LABEL:; return var; } -/* method typing#TypeVisitor#is_toplevel_context= for (self: TypeVisitor, Bool) */ +/* method typing$TypeVisitor$is_toplevel_context= for (self: TypeVisitor, Bool) */ void nitc__typing___nitc__typing__TypeVisitor___is_toplevel_context_61d(val* self, short int p0) { self->attrs[COLOR_nitc__typing__TypeVisitor___is_toplevel_context].s = p0; /* _is_toplevel_context on */ RET_LABEL:; } -/* method typing#TypeVisitor#init for (self: TypeVisitor) */ +/* method typing$TypeVisitor$init for (self: TypeVisitor) */ void nitc__typing___nitc__typing__TypeVisitor___core__kernel__Object__init(val* self) { val* var /* : nullable MPropDef */; val* var2 /* : nullable MPropDef */; @@ -174,26 +189,30 @@ val* var_mclass /* var mclass: MClass */; val* var20 /* : Variable */; static val* varonce; val* var21 /* : String */; -char* var22 /* : NativeString */; +char* var22 /* : CString */; val* var23 /* : String */; +val* var24 /* : nullable Int */; +val* var25 /* : nullable Int */; +val* var26 /* : nullable Bool */; +val* var27 /* : nullable Bool */; val* var_selfvariable /* var selfvariable: Variable */; -val* var25 /* : MClassType */; -val* var27 /* : MClassType */; -val* var29 /* : MProperty */; -val* var31 /* : MProperty */; +val* var29 /* : MClassType */; +val* var31 /* : MClassType */; +val* var33 /* : MProperty */; +val* var35 /* : MProperty */; val* var_mprop /* var mprop: MProperty */; -short int var32 /* : Bool */; -short int var33 /* : Bool */; +short int var36 /* : Bool */; +short int var37 /* : Bool */; int cltype; int idtype; short int var_ /* var : Bool */; -short int var34 /* : Bool */; -short int var36 /* : Bool */; +short int var38 /* : Bool */; +short int var40 /* : Bool */; { ((void(*)(val* self))(self->class->vft[COLOR_nitc__typing___nitc__typing__TypeVisitor___core__kernel__Object__init]))(self); /* init on */ } { -{ /* Inline typing#TypeVisitor#mpropdef (self) on */ +{ /* Inline typing$TypeVisitor$mpropdef (self) on */ var2 = self->attrs[COLOR_nitc__typing__TypeVisitor___mpropdef].val; /* _mpropdef on */ var = var2; RET_LABEL1:(void)0; @@ -206,7 +225,7 @@ var3 = 0; /* is null */ var3 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mpropdef,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_mpropdef,((val*)NULL)) on */ var_other = ((val*)NULL); { var6 = ((short int(*)(val* self, val* p0))(var_mpropdef->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mpropdef, var_other); /* == on */ @@ -220,17 +239,20 @@ var3 = var4; } if (var3){ { -{ /* Inline typing#TypeVisitor#mpropdef= (self,var_mpropdef) on */ +{ /* Inline typing$TypeVisitor$mpropdef= (self,var_mpropdef) on */ self->attrs[COLOR_nitc__typing__TypeVisitor___mpropdef].val = var_mpropdef; /* _mpropdef on */ RET_LABEL8:(void)0; } } { -{ /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ +{ /* Inline model$MPropDef$mclassdef (var_mpropdef) on */ var11 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mclassdef].val; /* _mclassdef on */ if (unlikely(var11 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2227); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2354); fatal_exit(1); } var9 = var11; @@ -239,17 +261,20 @@ RET_LABEL10:(void)0; } var_mclassdef = var9; { -{ /* Inline typing#TypeVisitor#mclassdef= (self,var_mclassdef) on */ +{ /* Inline typing$TypeVisitor$mclassdef= (self,var_mclassdef) on */ self->attrs[COLOR_nitc__typing__TypeVisitor___mclassdef].val = var_mclassdef; /* _mclassdef on */ RET_LABEL12:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ +{ /* Inline model$MClassDef$bound_mtype (var_mclassdef) on */ var15 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ if (unlikely(var15 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 579); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 594); fatal_exit(1); } var13 = var15; @@ -257,17 +282,20 @@ RET_LABEL14:(void)0; } } { -{ /* Inline typing#TypeVisitor#anchor= (self,var13) on */ +{ /* Inline typing$TypeVisitor$anchor= (self,var13) on */ self->attrs[COLOR_nitc__typing__TypeVisitor___anchor].val = var13; /* _anchor on */ RET_LABEL16:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ +{ /* Inline model$MClassDef$mclass (var_mclassdef) on */ var19 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___mclass].val; /* _mclass on */ if (unlikely(var19 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 576); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 591); fatal_exit(1); } var17 = var19; @@ -280,7 +308,11 @@ if (likely(varonce!=NULL)) { var21 = varonce; } else { var22 = "self"; -var23 = core__flat___NativeString___to_s_full(var22, 4l, 4l); +var24 = (val*)(4l<<2|1); +var25 = (val*)(4l<<2|1); +var26 = (val*)((long)(0)<<2|3); +var27 = (val*)((long)(0)<<2|3); +var23 = core__flat___CString___to_s_unsafe(var22, var24, var25, var26, var27); var21 = var23; varonce = var21; } @@ -292,68 +324,74 @@ varonce = var21; } var_selfvariable = var20; { -{ /* Inline typing#TypeVisitor#selfvariable= (self,var_selfvariable) on */ +{ /* Inline typing$TypeVisitor$selfvariable= (self,var_selfvariable) on */ self->attrs[COLOR_nitc__typing__TypeVisitor___selfvariable].val = var_selfvariable; /* _selfvariable on */ -RET_LABEL24:(void)0; +RET_LABEL28:(void)0; } } { -{ /* Inline model#MClass#mclass_type (var_mclass) on */ -var27 = var_mclass->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var27 == NULL)) { +{ /* Inline model$MClass$mclass_type (var_mclass) on */ +var31 = var_mclass->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var31 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 507); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 520); fatal_exit(1); } -var25 = var27; -RET_LABEL26:(void)0; +var29 = var31; +RET_LABEL30:(void)0; } } { -{ /* Inline typing#Variable#declared_type= (var_selfvariable,var25) on */ -var_selfvariable->attrs[COLOR_nitc__typing__Variable___declared_type].val = var25; /* _declared_type on */ -RET_LABEL28:(void)0; +{ /* Inline typing$Variable$declared_type= (var_selfvariable,var29) on */ +var_selfvariable->attrs[COLOR_nitc__typing__Variable___declared_type].val = var29; /* _declared_type on */ +RET_LABEL32:(void)0; } } { -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var31 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var31 == NULL)) { +{ /* Inline model$MPropDef$mproperty (var_mpropdef) on */ +var35 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var35 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2230); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2357); fatal_exit(1); } -var29 = var31; -RET_LABEL30:(void)0; +var33 = var35; +RET_LABEL34:(void)0; } } -var_mprop = var29; +var_mprop = var33; /* isa MMethod */ cltype = type_nitc__MMethod.color; idtype = type_nitc__MMethod.id; if(cltype >= var_mprop->type->table_size) { -var33 = 0; +var37 = 0; } else { -var33 = var_mprop->type->type_table[cltype] == idtype; +var37 = var_mprop->type->type_table[cltype] == idtype; } -var_ = var33; -if (var33){ +var_ = var37; +if (var37){ { -{ /* Inline model#MMethod#is_new (var_mprop) on */ -var36 = var_mprop->attrs[COLOR_nitc__model__MMethod___is_new].s; /* _is_new on */ -var34 = var36; -RET_LABEL35:(void)0; +{ /* Inline model$MMethod$is_new (var_mprop) on */ +var40 = var_mprop->attrs[COLOR_nitc__model__MMethod___is_new].s; /* _is_new on */ +var38 = var40; +RET_LABEL39:(void)0; } } -var32 = var34; +var36 = var38; } else { -var32 = var_; +var36 = var_; } -if (var32){ +if (var36){ { -{ /* Inline typing#TypeVisitor#is_toplevel_context= (self,1) on */ +{ /* Inline typing$TypeVisitor$is_toplevel_context= (self,1) on */ self->attrs[COLOR_nitc__typing__TypeVisitor___is_toplevel_context].s = 1; /* _is_toplevel_context on */ -RET_LABEL37:(void)0; +RET_LABEL41:(void)0; } } } else { @@ -362,7 +400,7 @@ RET_LABEL37:(void)0; } RET_LABEL:; } -/* method typing#TypeVisitor#anchor_to for (self: TypeVisitor, MType): MType */ +/* method typing$TypeVisitor$anchor_to for (self: TypeVisitor, MType): MType */ val* nitc__typing___nitc__typing__TypeVisitor___anchor_to(val* self, val* p0) { val* var /* : MType */; val* var_mtype /* var mtype: MType */; @@ -381,7 +419,7 @@ val* var14 /* : MModule */; val* var15 /* : MType */; var_mtype = p0; { -{ /* Inline typing#TypeVisitor#anchor (self) on */ +{ /* Inline typing$TypeVisitor$anchor (self) on */ var3 = self->attrs[COLOR_nitc__typing__TypeVisitor___anchor].val; /* _anchor on */ var1 = var3; RET_LABEL2:(void)0; @@ -394,10 +432,10 @@ var4 = 1; /* is null */ var4 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_anchor,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_anchor,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_anchor,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_anchor,var_other) on */ var9 = var_anchor == var_other; var7 = var9; goto RET_LABEL8; @@ -416,6 +454,9 @@ var10 = ((short int(*)(val* self))(var_mtype->class->vft[COLOR_nitc__model__MTyp } var11 = !var10; if (unlikely(!var11)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Assert failed"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 86); fatal_exit(1); @@ -425,9 +466,12 @@ goto RET_LABEL; } else { } { -{ /* Inline typing#TypeVisitor#mmodule (self) on */ +{ /* Inline typing$TypeVisitor$mmodule (self) on */ var14 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ if (unlikely(var14 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 37); fatal_exit(1); @@ -444,7 +488,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#is_subtype for (self: TypeVisitor, MType, MType): Bool */ +/* method typing$TypeVisitor$is_subtype for (self: TypeVisitor, MType, MType): Bool */ short int nitc__typing___nitc__typing__TypeVisitor___is_subtype(val* self, val* p0, val* p1) { short int var /* : Bool */; val* var_sub /* var sub: MType */; @@ -457,9 +501,12 @@ short int var7 /* : Bool */; var_sub = p0; var_sup = p1; { -{ /* Inline typing#TypeVisitor#mmodule (self) on */ +{ /* Inline typing$TypeVisitor$mmodule (self) on */ var3 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 37); fatal_exit(1); @@ -469,7 +516,7 @@ RET_LABEL2:(void)0; } } { -{ /* Inline typing#TypeVisitor#anchor (self) on */ +{ /* Inline typing$TypeVisitor$anchor (self) on */ var6 = self->attrs[COLOR_nitc__typing__TypeVisitor___anchor].val; /* _anchor on */ var4 = var6; RET_LABEL5:(void)0; @@ -483,7 +530,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#resolve_for for (self: TypeVisitor, MType, MType, Bool): MType */ +/* method typing$TypeVisitor$resolve_for for (self: TypeVisitor, MType, MType, Bool): MType */ val* nitc__typing___nitc__typing__TypeVisitor___resolve_for(val* self, val* p0, val* p1, short int p2) { val* var /* : MType */; val* var_mtype /* var mtype: MType */; @@ -500,16 +547,19 @@ var_mtype = p0; var_subtype = p1; var_for_self = p2; { -{ /* Inline typing#TypeVisitor#anchor (self) on */ +{ /* Inline typing$TypeVisitor$anchor (self) on */ var3 = self->attrs[COLOR_nitc__typing__TypeVisitor___anchor].val; /* _anchor on */ var1 = var3; RET_LABEL2:(void)0; } } { -{ /* Inline typing#TypeVisitor#mmodule (self) on */ +{ /* Inline typing$TypeVisitor$mmodule (self) on */ var6 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 37); fatal_exit(1); @@ -528,7 +578,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#check_subtype for (self: TypeVisitor, ANode, MType, MType, Bool): nullable MType */ +/* method typing$TypeVisitor$check_subtype for (self: TypeVisitor, ANode, MType, MType, Bool): nullable MType */ val* nitc__typing___nitc__typing__TypeVisitor___check_subtype(val* self, val* p0, val* p1, val* p2, short int p3) { val* var /* : nullable MType */; val* var_node /* var node: ANode */; @@ -552,43 +602,71 @@ val* var11 /* : NativeArray[String] */; static val* varonce; static val* varonce12; val* var13 /* : String */; -char* var14 /* : NativeString */; +char* var14 /* : CString */; val* var15 /* : String */; -static val* varonce16; -val* var17 /* : String */; -char* var18 /* : NativeString */; -val* var19 /* : String */; +val* var16 /* : nullable Int */; +val* var17 /* : nullable Int */; +val* var18 /* : nullable Bool */; +val* var19 /* : nullable Bool */; static val* varonce20; val* var21 /* : String */; -char* var22 /* : NativeString */; +char* var22 /* : CString */; val* var23 /* : String */; -static val* varonce24; -val* var25 /* : String */; -char* var26 /* : NativeString */; -val* var27 /* : String */; -val* var28 /* : String */; +val* var24 /* : nullable Int */; +val* var25 /* : nullable Int */; +val* var26 /* : nullable Bool */; +val* var27 /* : nullable Bool */; +static val* varonce28; val* var29 /* : String */; -val* var30 /* : String */; +char* var30 /* : CString */; val* var31 /* : String */; -val* var32 /* : ModelBuilder */; -val* var34 /* : ModelBuilder */; -val* var36 /* : NativeArray[String] */; -static val* varonce35; -static val* varonce37; -val* var38 /* : String */; -char* var39 /* : NativeString */; -val* var40 /* : String */; -static val* varonce41; -val* var42 /* : String */; -char* var43 /* : NativeString */; +val* var32 /* : nullable Int */; +val* var33 /* : nullable Int */; +val* var34 /* : nullable Bool */; +val* var35 /* : nullable Bool */; +static val* varonce36; +val* var37 /* : String */; +char* var38 /* : CString */; +val* var39 /* : String */; +val* var40 /* : nullable Int */; +val* var41 /* : nullable Int */; +val* var42 /* : nullable Bool */; +val* var43 /* : nullable Bool */; val* var44 /* : String */; -static val* varonce45; +val* var45 /* : String */; val* var46 /* : String */; -char* var47 /* : NativeString */; -val* var48 /* : String */; -val* var49 /* : String */; -val* var50 /* : String */; -val* var51 /* : String */; +val* var47 /* : String */; +val* var48 /* : ModelBuilder */; +val* var50 /* : ModelBuilder */; +val* var52 /* : NativeArray[String] */; +static val* varonce51; +static val* varonce53; +val* var54 /* : String */; +char* var55 /* : CString */; +val* var56 /* : String */; +val* var57 /* : nullable Int */; +val* var58 /* : nullable Int */; +val* var59 /* : nullable Bool */; +val* var60 /* : nullable Bool */; +static val* varonce61; +val* var62 /* : String */; +char* var63 /* : CString */; +val* var64 /* : String */; +val* var65 /* : nullable Int */; +val* var66 /* : nullable Int */; +val* var67 /* : nullable Bool */; +val* var68 /* : nullable Bool */; +static val* varonce69; +val* var70 /* : String */; +char* var71 /* : CString */; +val* var72 /* : String */; +val* var73 /* : nullable Int */; +val* var74 /* : nullable Int */; +val* var75 /* : nullable Bool */; +val* var76 /* : nullable Bool */; +val* var77 /* : String */; +val* var78 /* : String */; +val* var79 /* : String */; var_node = p0; var_sub = p1; var_sup = p2; @@ -618,9 +696,9 @@ var = var_sup; goto RET_LABEL; } else { } -/* isa MBottomType */ -cltype = type_nitc__MBottomType.color; -idtype = type_nitc__MBottomType.id; +/* isa MErrorType */ +cltype = type_nitc__MErrorType.color; +idtype = type_nitc__MErrorType.id; if(cltype >= var_sup->type->table_size) { var5 = 0; } else { @@ -640,9 +718,12 @@ var7 = nitc__typing___nitc__typing__TypeVisitor___anchor_to(self, var_sub); } var_u = var7; { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ var10 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var10 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -652,126 +733,157 @@ RET_LABEL9:(void)0; } } if (unlikely(varonce==NULL)) { -var11 = NEW_core__NativeArray(7l, &type_core__NativeArray__core__String); +var11 = NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String); if (likely(varonce12!=NULL)) { var13 = varonce12; } else { var14 = "Type Error: expected `"; -var15 = core__flat___NativeString___to_s_full(var14, 22l, 22l); +var16 = (val*)(22l<<2|1); +var17 = (val*)(22l<<2|1); +var18 = (val*)((long)(0)<<2|3); +var19 = (val*)((long)(0)<<2|3); +var15 = core__flat___CString___to_s_unsafe(var14, var16, var17, var18, var19); var13 = var15; varonce12 = var13; } ((struct instance_core__NativeArray*)var11)->values[0]=var13; -if (likely(varonce16!=NULL)) { -var17 = varonce16; -} else { -var18 = "`, got `"; -var19 = core__flat___NativeString___to_s_full(var18, 8l, 8l); -var17 = var19; -varonce16 = var17; -} -((struct instance_core__NativeArray*)var11)->values[2]=var17; if (likely(varonce20!=NULL)) { var21 = varonce20; } else { -var22 = ": "; -var23 = core__flat___NativeString___to_s_full(var22, 2l, 2l); +var22 = "`, got `"; +var24 = (val*)(8l<<2|1); +var25 = (val*)(8l<<2|1); +var26 = (val*)((long)(0)<<2|3); +var27 = (val*)((long)(0)<<2|3); +var23 = core__flat___CString___to_s_unsafe(var22, var24, var25, var26, var27); var21 = var23; varonce20 = var21; } -((struct instance_core__NativeArray*)var11)->values[4]=var21; -if (likely(varonce24!=NULL)) { -var25 = varonce24; +((struct instance_core__NativeArray*)var11)->values[2]=var21; +if (likely(varonce28!=NULL)) { +var29 = varonce28; } else { -var26 = "`."; -var27 = core__flat___NativeString___to_s_full(var26, 2l, 2l); -var25 = var27; -varonce24 = var25; +var30 = ": "; +var32 = (val*)(2l<<2|1); +var33 = (val*)(2l<<2|1); +var34 = (val*)((long)(0)<<2|3); +var35 = (val*)((long)(0)<<2|3); +var31 = core__flat___CString___to_s_unsafe(var30, var32, var33, var34, var35); +var29 = var31; +varonce28 = var29; +} +((struct instance_core__NativeArray*)var11)->values[4]=var29; +if (likely(varonce36!=NULL)) { +var37 = varonce36; +} else { +var38 = "`."; +var40 = (val*)(2l<<2|1); +var41 = (val*)(2l<<2|1); +var42 = (val*)((long)(0)<<2|3); +var43 = (val*)((long)(0)<<2|3); +var39 = core__flat___CString___to_s_unsafe(var38, var40, var41, var42, var43); +var37 = var39; +varonce36 = var37; } -((struct instance_core__NativeArray*)var11)->values[6]=var25; +((struct instance_core__NativeArray*)var11)->values[6]=var37; } else { var11 = varonce; varonce = NULL; } { -var28 = ((val*(*)(val* self))(var_sup->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sup); /* to_s on */ +var44 = ((val*(*)(val* self))(var_sup->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sup); /* to_s on */ } -((struct instance_core__NativeArray*)var11)->values[1]=var28; +((struct instance_core__NativeArray*)var11)->values[1]=var44; { -var29 = ((val*(*)(val* self))(var_sub->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sub); /* to_s on */ +var45 = ((val*(*)(val* self))(var_sub->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sub); /* to_s on */ } -((struct instance_core__NativeArray*)var11)->values[3]=var29; +((struct instance_core__NativeArray*)var11)->values[3]=var45; { -var30 = ((val*(*)(val* self))(var_u->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_u); /* to_s on */ +var46 = ((val*(*)(val* self))(var_u->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_u); /* to_s on */ } -((struct instance_core__NativeArray*)var11)->values[5]=var30; +((struct instance_core__NativeArray*)var11)->values[5]=var46; { -var31 = ((val*(*)(val* self))(var11->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var11); /* native_to_s on */ +var47 = ((val*(*)(val* self))(var11->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var11); /* native_to_s on */ } varonce = var11; { -nitc___nitc__ModelBuilder___error(var8, var_node, var31); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var8, var_node, var47); /* Direct call modelbuilder_base$ModelBuilder$error on */ } } else { { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var34 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var34 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var50 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var50 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var32 = var34; -RET_LABEL33:(void)0; +var48 = var50; +RET_LABEL49:(void)0; } } -if (unlikely(varonce35==NULL)) { -var36 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String); -if (likely(varonce37!=NULL)) { -var38 = varonce37; +if (unlikely(varonce51==NULL)) { +var52 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String); +if (likely(varonce53!=NULL)) { +var54 = varonce53; } else { -var39 = "Type Error: expected `"; -var40 = core__flat___NativeString___to_s_full(var39, 22l, 22l); -var38 = var40; -varonce37 = var38; +var55 = "Type Error: expected `"; +var57 = (val*)(22l<<2|1); +var58 = (val*)(22l<<2|1); +var59 = (val*)((long)(0)<<2|3); +var60 = (val*)((long)(0)<<2|3); +var56 = core__flat___CString___to_s_unsafe(var55, var57, var58, var59, var60); +var54 = var56; +varonce53 = var54; } -((struct instance_core__NativeArray*)var36)->values[0]=var38; -if (likely(varonce41!=NULL)) { -var42 = varonce41; +((struct instance_core__NativeArray*)var52)->values[0]=var54; +if (likely(varonce61!=NULL)) { +var62 = varonce61; } else { -var43 = "`, got `"; -var44 = core__flat___NativeString___to_s_full(var43, 8l, 8l); -var42 = var44; -varonce41 = var42; +var63 = "`, got `"; +var65 = (val*)(8l<<2|1); +var66 = (val*)(8l<<2|1); +var67 = (val*)((long)(0)<<2|3); +var68 = (val*)((long)(0)<<2|3); +var64 = core__flat___CString___to_s_unsafe(var63, var65, var66, var67, var68); +var62 = var64; +varonce61 = var62; } -((struct instance_core__NativeArray*)var36)->values[2]=var42; -if (likely(varonce45!=NULL)) { -var46 = varonce45; +((struct instance_core__NativeArray*)var52)->values[2]=var62; +if (likely(varonce69!=NULL)) { +var70 = varonce69; } else { -var47 = "`."; -var48 = core__flat___NativeString___to_s_full(var47, 2l, 2l); -var46 = var48; -varonce45 = var46; +var71 = "`."; +var73 = (val*)(2l<<2|1); +var74 = (val*)(2l<<2|1); +var75 = (val*)((long)(0)<<2|3); +var76 = (val*)((long)(0)<<2|3); +var72 = core__flat___CString___to_s_unsafe(var71, var73, var74, var75, var76); +var70 = var72; +varonce69 = var70; } -((struct instance_core__NativeArray*)var36)->values[4]=var46; +((struct instance_core__NativeArray*)var52)->values[4]=var70; } else { -var36 = varonce35; -varonce35 = NULL; +var52 = varonce51; +varonce51 = NULL; } { -var49 = ((val*(*)(val* self))(var_sup->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sup); /* to_s on */ +var77 = ((val*(*)(val* self))(var_sup->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sup); /* to_s on */ } -((struct instance_core__NativeArray*)var36)->values[1]=var49; +((struct instance_core__NativeArray*)var52)->values[1]=var77; { -var50 = ((val*(*)(val* self))(var_sub->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sub); /* to_s on */ +var78 = ((val*(*)(val* self))(var_sub->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sub); /* to_s on */ } -((struct instance_core__NativeArray*)var36)->values[3]=var50; +((struct instance_core__NativeArray*)var52)->values[3]=var78; { -var51 = ((val*(*)(val* self))(var36->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var36); /* native_to_s on */ +var79 = ((val*(*)(val* self))(var52->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var52); /* native_to_s on */ } -varonce35 = var36; +varonce51 = var52; { -nitc___nitc__ModelBuilder___error(var32, var_node, var51); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var48, var_node, var79); /* Direct call modelbuilder_base$ModelBuilder$error on */ } } var = ((val*)NULL); @@ -779,7 +891,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#visit_stmt for (self: TypeVisitor, nullable AExpr) */ +/* method typing$TypeVisitor$visit_stmt for (self: TypeVisitor, nullable AExpr) */ void nitc__typing___nitc__typing__TypeVisitor___visit_stmt(val* self, val* p0) { val* var_nexpr /* var nexpr: nullable AExpr */; short int var /* : Bool */; @@ -794,10 +906,10 @@ var = 1; /* is null */ var = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_nexpr,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_nexpr,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_nexpr,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_nexpr,var_other) on */ var5 = var_nexpr == var_other; var3 = var5; goto RET_LABEL4; @@ -819,7 +931,7 @@ goto RET_LABEL; } RET_LABEL:; } -/* method typing#TypeVisitor#visit_expr for (self: TypeVisitor, AExpr): nullable MType */ +/* method typing$TypeVisitor$visit_expr for (self: TypeVisitor, AExpr): nullable MType */ val* nitc__typing___nitc__typing__TypeVisitor___visit_expr(val* self, val* p0) { val* var /* : nullable MType */; val* var_nexpr /* var nexpr: AExpr */; @@ -860,12 +972,59 @@ const char* var_class_name39; short int var40 /* : Bool */; static val* varonce; val* var41 /* : String */; -char* var42 /* : NativeString */; +char* var42 /* : CString */; val* var43 /* : String */; -static val* varonce44; -val* var45 /* : String */; -char* var46 /* : NativeString */; -val* var47 /* : String */; +val* var44 /* : nullable Int */; +val* var45 /* : nullable Int */; +val* var46 /* : nullable Bool */; +val* var47 /* : nullable Bool */; +val* var_more_message /* var more_message: nullable Object */; +val* var48 /* : nullable ANode */; +val* var50 /* : nullable ANode */; +val* var_p /* var p: nullable ANode */; +short int var51 /* : Bool */; +short int var52 /* : Bool */; +short int var54 /* : Bool */; +short int var55 /* : Bool */; +val* var56 /* : nullable String */; +short int var57 /* : Bool */; +short int var58 /* : Bool */; +static val* varonce59; +val* var60 /* : String */; +char* var61 /* : CString */; +val* var62 /* : String */; +val* var63 /* : nullable Int */; +val* var64 /* : nullable Int */; +val* var65 /* : nullable Bool */; +val* var66 /* : nullable Bool */; +static val* varonce67; +val* var68 /* : String */; +char* var69 /* : CString */; +val* var70 /* : String */; +val* var71 /* : nullable Int */; +val* var72 /* : nullable Int */; +val* var73 /* : nullable Bool */; +val* var74 /* : nullable Bool */; +val* var75 /* : Text */; +val* var77 /* : NativeArray[String] */; +static val* varonce76; +static val* varonce78; +val* var79 /* : String */; +char* var80 /* : CString */; +val* var81 /* : String */; +val* var82 /* : nullable Int */; +val* var83 /* : nullable Int */; +val* var84 /* : nullable Bool */; +val* var85 /* : nullable Bool */; +static val* varonce86; +val* var87 /* : String */; +char* var88 /* : CString */; +val* var89 /* : String */; +val* var90 /* : nullable Int */; +val* var91 /* : nullable Int */; +val* var92 /* : nullable Bool */; +val* var93 /* : nullable Bool */; +val* var94 /* : String */; var_nexpr = p0; { ((void(*)(val* self, val* p0))(var_nexpr->class->vft[COLOR_nitc__typing__AExpr__accept_typing]))(var_nexpr, self); /* accept_typing on */ @@ -880,7 +1039,7 @@ var2 = 0; /* is null */ var2 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mtype,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_mtype,((val*)NULL)) on */ var_other = ((val*)NULL); { var5 = ((short int(*)(val* self, val* p0))(var_mtype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mtype, var_other); /* == on */ @@ -898,7 +1057,7 @@ goto RET_LABEL; } else { } { -{ /* Inline typing#AExpr#is_typed (var_nexpr) on */ +{ /* Inline typing$AExpr$is_typed (var_nexpr) on */ var9 = var_nexpr->attrs[COLOR_nitc__typing__AExpr___is_typed].s; /* _is_typed on */ var7 = var9; RET_LABEL8:(void)0; @@ -907,9 +1066,12 @@ RET_LABEL8:(void)0; var10 = !var7; if (var10){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ var13 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var13 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -919,9 +1081,12 @@ RET_LABEL12:(void)0; } } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var11) on */ +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (var11) on */ var16 = var11->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ if (unlikely(var16 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47); fatal_exit(1); @@ -931,21 +1096,21 @@ RET_LABEL15:(void)0; } } { -{ /* Inline toolcontext#ToolContext#error_count (var14) on */ +{ /* Inline toolcontext$ToolContext$error_count (var14) on */ var19 = var14->attrs[COLOR_nitc__toolcontext__ToolContext___error_count].l; /* _error_count on */ var17 = var19; RET_LABEL18:(void)0; } } { -{ /* Inline kernel#Int#> (var17,0l) on */ +{ /* Inline kernel$Int$> (var17,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ var22 = 1; /* easy <0l:Int> isa OTHER*/ if (unlikely(!var22)) { var_class_name = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); fatal_exit(1); } var23 = var17 > 0l; @@ -957,9 +1122,12 @@ RET_LABEL21:(void)0; var24 = !var20; if (var24){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ var27 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var27 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -969,9 +1137,12 @@ RET_LABEL26:(void)0; } } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var25) on */ +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (var25) on */ var30 = var25->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ if (unlikely(var30 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47); fatal_exit(1); @@ -981,21 +1152,21 @@ RET_LABEL29:(void)0; } } { -{ /* Inline toolcontext#ToolContext#verbose_level (var28) on */ +{ /* Inline toolcontext$ToolContext$verbose_level (var28) on */ var33 = var28->attrs[COLOR_nitc__toolcontext__ToolContext___verbose_level].l; /* _verbose_level on */ var31 = var33; RET_LABEL32:(void)0; } } { -{ /* Inline kernel#Int#> (var31,1l) on */ +{ /* Inline kernel$Int$> (var31,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var36 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var36)) { var_class_name39 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); fatal_exit(1); } var40 = var31 > 1l; @@ -1009,12 +1180,16 @@ if (likely(varonce!=NULL)) { var41 = varonce; } else { var42 = "No return type but no error."; -var43 = core__flat___NativeString___to_s_full(var42, 28l, 28l); +var44 = (val*)(28l<<2|1); +var45 = (val*)(28l<<2|1); +var46 = (val*)((long)(0)<<2|3); +var47 = (val*)((long)(0)<<2|3); +var43 = core__flat___CString___to_s_unsafe(var42, var44, var45, var46, var47); var41 = var43; varonce = var41; } { -nitc___nitc__ANode___debug(var_nexpr, var41); /* Direct call parser_nodes#ANode#debug on */ +nitc___nitc__ANode___debug(var_nexpr, var41); /* Direct call parser_nodes$ANode$debug on */ } } else { } @@ -1024,23 +1199,127 @@ var = ((val*)NULL); goto RET_LABEL; } else { } -if (likely(varonce44!=NULL)) { -var45 = varonce44; +var_more_message = ((val*)NULL); +{ +{ /* Inline parser_nodes$ANode$parent (var_nexpr) on */ +var50 = var_nexpr->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on */ +var48 = var50; +RET_LABEL49:(void)0; +} +} +var_p = var48; +if (var_p == NULL) { +var51 = 0; /* is null */ } else { -var46 = "Error: expected an expression."; -var47 = core__flat___NativeString___to_s_full(var46, 30l, 30l); -var45 = var47; -varonce44 = var45; +var51 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel$Object$!= (var_p,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var54 = ((short int(*)(val* self, val* p0))(var_p->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_p, var_other); /* == on */ +} +var55 = !var54; +var52 = var55; +goto RET_LABEL53; +RET_LABEL53:(void)0; +} +var51 = var52; +} +if (var51){ +{ +var56 = ((val*(*)(val* self, val* p0))(var_p->class->vft[COLOR_nitc__typing__ANode__bad_expr_message]))(var_p, var_nexpr); /* bad_expr_message on */ +} +var_more_message = var56; +} else { +} +if (var_more_message == NULL) { +var57 = 1; /* is null */ +} else { +var57 = 0; /* arg is null but recv is not */ +} +if (0) { +var58 = ((short int(*)(val* self, val* p0))(var_more_message->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_more_message, ((val*)NULL)); /* == on */ +var57 = var58; +} +if (var57){ +if (likely(varonce59!=NULL)) { +var60 = varonce59; +} else { +var61 = ""; +var63 = (val*)(0l<<2|1); +var64 = (val*)(0l<<2|1); +var65 = (val*)((long)(0)<<2|3); +var66 = (val*)((long)(0)<<2|3); +var62 = core__flat___CString___to_s_unsafe(var61, var63, var64, var65, var66); +var60 = var62; +varonce59 = var60; +} +var_more_message = var60; +} else { +if (likely(varonce67!=NULL)) { +var68 = varonce67; +} else { +var69 = " "; +var71 = (val*)(1l<<2|1); +var72 = (val*)(1l<<2|1); +var73 = (val*)((long)(0)<<2|3); +var74 = (val*)((long)(0)<<2|3); +var70 = core__flat___CString___to_s_unsafe(var69, var71, var72, var73, var74); +var68 = var70; +varonce67 = var68; +} +{ +var75 = ((val*(*)(val* self, val* p0))(var68->class->vft[COLOR_core__abstract_text__Text___43d]))(var68, var_more_message); /* + on */ +} +var_more_message = var75; +} +if (unlikely(varonce76==NULL)) { +var77 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce78!=NULL)) { +var79 = varonce78; +} else { +var80 = "Error: expected an expression"; +var82 = (val*)(29l<<2|1); +var83 = (val*)(29l<<2|1); +var84 = (val*)((long)(0)<<2|3); +var85 = (val*)((long)(0)<<2|3); +var81 = core__flat___CString___to_s_unsafe(var80, var82, var83, var84, var85); +var79 = var81; +varonce78 = var79; +} +((struct instance_core__NativeArray*)var77)->values[0]=var79; +if (likely(varonce86!=NULL)) { +var87 = varonce86; +} else { +var88 = "."; +var90 = (val*)(1l<<2|1); +var91 = (val*)(1l<<2|1); +var92 = (val*)((long)(0)<<2|3); +var93 = (val*)((long)(0)<<2|3); +var89 = core__flat___CString___to_s_unsafe(var88, var90, var91, var92, var93); +var87 = var89; +varonce86 = var87; +} +((struct instance_core__NativeArray*)var77)->values[2]=var87; +} else { +var77 = varonce76; +varonce76 = NULL; } +((struct instance_core__NativeArray*)var77)->values[1]=var_more_message; { -nitc__typing___nitc__typing__TypeVisitor___error(self, var_nexpr, var45); /* Direct call typing#TypeVisitor#error on */ +var94 = ((val*(*)(val* self))(var77->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var77); /* native_to_s on */ +} +varonce76 = var77; +{ +nitc__typing___nitc__typing__TypeVisitor___error(self, var_nexpr, var94); /* Direct call typing$TypeVisitor$error on */ } var = ((val*)NULL); goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#visit_expr_subtype for (self: TypeVisitor, AExpr, nullable MType): nullable MType */ +/* method typing$TypeVisitor$visit_expr_subtype for (self: TypeVisitor, AExpr, nullable MType): nullable MType */ val* nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(val* self, val* p0, val* p1) { val* var /* : nullable MType */; val* var_nexpr /* var nexpr: AExpr */; @@ -1075,10 +1354,10 @@ var2 = 1; /* is null */ var2 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_sub,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_sub,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_sub,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_sub,var_other) on */ var7 = var_sub == var_other; var5 = var7; goto RET_LABEL6; @@ -1102,10 +1381,10 @@ var8 = 1; /* is null */ var8 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_sup,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_sup,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_sup,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_sup,var_other) on */ var13 = var_sup == var_other; var11 = var13; goto RET_LABEL12; @@ -1130,7 +1409,7 @@ var_res = var14; if (var_res == NULL) { var15 = 1; /* cannot be null */ } else { -{ /* Inline kernel#Object#!= (var_res,var_sub) on */ +{ /* Inline kernel$Object$!= (var_res,var_sub) on */ var_other18 = var_sub; { var19 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res, var_other18); /* == on */ @@ -1144,7 +1423,7 @@ var15 = var16; } if (var15){ { -{ /* Inline typing#AExpr#implicit_cast_to= (var_nexpr,var_res) on */ +{ /* Inline typing$AExpr$implicit_cast_to= (var_nexpr,var_res) on */ var_nexpr->attrs[COLOR_nitc__typing__AExpr___implicit_cast_to].val = var_res; /* _implicit_cast_to on */ RET_LABEL21:(void)0; } @@ -1156,7 +1435,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#visit_expr_bool for (self: TypeVisitor, AExpr): nullable MType */ +/* method typing$TypeVisitor$visit_expr_bool for (self: TypeVisitor, AExpr): nullable MType */ val* nitc__typing___nitc__typing__TypeVisitor___visit_expr_bool(val* self, val* p0) { val* var /* : nullable MType */; val* var_nexpr /* var nexpr: AExpr */; @@ -1174,7 +1453,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#check_expr_cast for (self: TypeVisitor, ANode, AExpr, AType): nullable MType */ +/* method typing$TypeVisitor$check_expr_cast for (self: TypeVisitor, ANode, AExpr, AType): nullable MType */ val* nitc__typing___nitc__typing__TypeVisitor___check_expr_cast(val* self, val* p0, val* p1, val* p2) { val* var /* : nullable MType */; val* var_node /* var node: ANode */; @@ -1201,44 +1480,72 @@ val* var22 /* : ModelBuilder */; val* var24 /* : ModelBuilder */; static val* varonce; val* var25 /* : String */; -char* var26 /* : NativeString */; +char* var26 /* : CString */; val* var27 /* : String */; -val* var29 /* : NativeArray[String] */; -static val* varonce28; -static val* varonce30; -val* var31 /* : String */; -char* var32 /* : NativeString */; -val* var33 /* : String */; +val* var28 /* : nullable Int */; +val* var29 /* : nullable Int */; +val* var30 /* : nullable Bool */; +val* var31 /* : nullable Bool */; +val* var33 /* : NativeArray[String] */; +static val* varonce32; static val* varonce34; val* var35 /* : String */; -char* var36 /* : NativeString */; +char* var36 /* : CString */; val* var37 /* : String */; -val* var38 /* : String */; -val* var39 /* : String */; -short int var40 /* : Bool */; -val* var41 /* : ModelBuilder */; -val* var43 /* : ModelBuilder */; -static val* varonce44; +val* var38 /* : nullable Int */; +val* var39 /* : nullable Int */; +val* var40 /* : nullable Bool */; +val* var41 /* : nullable Bool */; +static val* varonce42; +val* var43 /* : String */; +char* var44 /* : CString */; val* var45 /* : String */; -char* var46 /* : NativeString */; -val* var47 /* : String */; -val* var49 /* : NativeArray[String] */; -static val* varonce48; -static val* varonce50; +val* var46 /* : nullable Int */; +val* var47 /* : nullable Int */; +val* var48 /* : nullable Bool */; +val* var49 /* : nullable Bool */; +val* var50 /* : String */; val* var51 /* : String */; -char* var52 /* : NativeString */; -val* var53 /* : String */; -static val* varonce54; -val* var55 /* : String */; -char* var56 /* : NativeString */; +short int var52 /* : Bool */; +val* var53 /* : ModelBuilder */; +val* var55 /* : ModelBuilder */; +static val* varonce56; val* var57 /* : String */; -static val* varonce58; +char* var58 /* : CString */; val* var59 /* : String */; -char* var60 /* : NativeString */; -val* var61 /* : String */; -val* var62 /* : String */; -val* var63 /* : String */; -val* var64 /* : String */; +val* var60 /* : nullable Int */; +val* var61 /* : nullable Int */; +val* var62 /* : nullable Bool */; +val* var63 /* : nullable Bool */; +val* var65 /* : NativeArray[String] */; +static val* varonce64; +static val* varonce66; +val* var67 /* : String */; +char* var68 /* : CString */; +val* var69 /* : String */; +val* var70 /* : nullable Int */; +val* var71 /* : nullable Int */; +val* var72 /* : nullable Bool */; +val* var73 /* : nullable Bool */; +static val* varonce74; +val* var75 /* : String */; +char* var76 /* : CString */; +val* var77 /* : String */; +val* var78 /* : nullable Int */; +val* var79 /* : nullable Int */; +val* var80 /* : nullable Bool */; +val* var81 /* : nullable Bool */; +static val* varonce82; +val* var83 /* : String */; +char* var84 /* : CString */; +val* var85 /* : String */; +val* var86 /* : nullable Int */; +val* var87 /* : nullable Int */; +val* var88 /* : nullable Bool */; +val* var89 /* : nullable Bool */; +val* var90 /* : String */; +val* var91 /* : String */; +val* var92 /* : String */; var_node = p0; var_nexpr = p1; var_ntype = p2; @@ -1252,10 +1559,10 @@ var2 = 1; /* is null */ var2 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_sub,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_sub,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_sub,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_sub,var_other) on */ var7 = var_sub == var_other; var5 = var7; goto RET_LABEL6; @@ -1274,7 +1581,7 @@ goto RET_LABEL; } else { } { -{ /* Inline modelbuilder_base#AType#mtype (var_ntype) on */ +{ /* Inline modelbuilder_base$AType$mtype (var_ntype) on */ var10 = var_ntype->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val; /* _mtype on */ var8 = var10; RET_LABEL9:(void)0; @@ -1287,10 +1594,10 @@ var11 = 1; /* is null */ var11 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_sup,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_sup,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_sup,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_sup,var_other) on */ var16 = var_sup == var_other; var14 = var16; goto RET_LABEL15; @@ -1309,10 +1616,10 @@ goto RET_LABEL; } else { } { -{ /* Inline kernel#Object#== (var_sup,var_sub) on */ +{ /* Inline kernel$Object$== (var_sup,var_sub) on */ var_other = var_sub; { -{ /* Inline kernel#Object#is_same_instance (var_sup,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_sup,var_other) on */ var21 = var_sup == var_other; var19 = var21; goto RET_LABEL20; @@ -1326,9 +1633,12 @@ RET_LABEL18:(void)0; } if (var17){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ var24 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var24 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -1341,117 +1651,148 @@ if (likely(varonce!=NULL)) { var25 = varonce; } else { var26 = "useless-type-test"; -var27 = core__flat___NativeString___to_s_full(var26, 17l, 17l); +var28 = (val*)(17l<<2|1); +var29 = (val*)(17l<<2|1); +var30 = (val*)((long)(0)<<2|3); +var31 = (val*)((long)(0)<<2|3); +var27 = core__flat___CString___to_s_unsafe(var26, var28, var29, var30, var31); var25 = var27; varonce = var25; } -if (unlikely(varonce28==NULL)) { -var29 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce30!=NULL)) { -var31 = varonce30; -} else { -var32 = "Warning: expression is already a `"; -var33 = core__flat___NativeString___to_s_full(var32, 34l, 34l); -var31 = var33; -varonce30 = var31; -} -((struct instance_core__NativeArray*)var29)->values[0]=var31; +if (unlikely(varonce32==NULL)) { +var33 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); if (likely(varonce34!=NULL)) { var35 = varonce34; } else { -var36 = "`."; -var37 = core__flat___NativeString___to_s_full(var36, 2l, 2l); +var36 = "Warning: expression is already a `"; +var38 = (val*)(34l<<2|1); +var39 = (val*)(34l<<2|1); +var40 = (val*)((long)(0)<<2|3); +var41 = (val*)((long)(0)<<2|3); +var37 = core__flat___CString___to_s_unsafe(var36, var38, var39, var40, var41); var35 = var37; varonce34 = var35; } -((struct instance_core__NativeArray*)var29)->values[2]=var35; +((struct instance_core__NativeArray*)var33)->values[0]=var35; +if (likely(varonce42!=NULL)) { +var43 = varonce42; } else { -var29 = varonce28; -varonce28 = NULL; +var44 = "`."; +var46 = (val*)(2l<<2|1); +var47 = (val*)(2l<<2|1); +var48 = (val*)((long)(0)<<2|3); +var49 = (val*)((long)(0)<<2|3); +var45 = core__flat___CString___to_s_unsafe(var44, var46, var47, var48, var49); +var43 = var45; +varonce42 = var43; +} +((struct instance_core__NativeArray*)var33)->values[2]=var43; +} else { +var33 = varonce32; +varonce32 = NULL; } { -var38 = ((val*(*)(val* self))(var_sup->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sup); /* to_s on */ +var50 = ((val*(*)(val* self))(var_sup->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sup); /* to_s on */ } -((struct instance_core__NativeArray*)var29)->values[1]=var38; +((struct instance_core__NativeArray*)var33)->values[1]=var50; { -var39 = ((val*(*)(val* self))(var29->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var29); /* native_to_s on */ +var51 = ((val*(*)(val* self))(var33->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var33); /* native_to_s on */ } -varonce28 = var29; +varonce32 = var33; { -nitc___nitc__ModelBuilder___warning(var22, var_node, var25, var39); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nitc___nitc__ModelBuilder___warning(var22, var_node, var25, var51); /* Direct call modelbuilder_base$ModelBuilder$warning on */ } } else { { -var40 = nitc__typing___nitc__typing__TypeVisitor___is_subtype(self, var_sub, var_sup); +var52 = nitc__typing___nitc__typing__TypeVisitor___is_subtype(self, var_sub, var_sup); } -if (var40){ +if (var52){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var43 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var43 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var55 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var55 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var41 = var43; -RET_LABEL42:(void)0; -} -} -if (likely(varonce44!=NULL)) { -var45 = varonce44; -} else { -var46 = "useless-type-test"; -var47 = core__flat___NativeString___to_s_full(var46, 17l, 17l); -var45 = var47; -varonce44 = var45; +var53 = var55; +RET_LABEL54:(void)0; } -if (unlikely(varonce48==NULL)) { -var49 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String); -if (likely(varonce50!=NULL)) { -var51 = varonce50; -} else { -var52 = "Warning: expression is already a `"; -var53 = core__flat___NativeString___to_s_full(var52, 34l, 34l); -var51 = var53; -varonce50 = var51; } -((struct instance_core__NativeArray*)var49)->values[0]=var51; -if (likely(varonce54!=NULL)) { -var55 = varonce54; +if (likely(varonce56!=NULL)) { +var57 = varonce56; } else { -var56 = "` since it is a `"; -var57 = core__flat___NativeString___to_s_full(var56, 17l, 17l); -var55 = var57; -varonce54 = var55; +var58 = "useless-type-test"; +var60 = (val*)(17l<<2|1); +var61 = (val*)(17l<<2|1); +var62 = (val*)((long)(0)<<2|3); +var63 = (val*)((long)(0)<<2|3); +var59 = core__flat___CString___to_s_unsafe(var58, var60, var61, var62, var63); +var57 = var59; +varonce56 = var57; +} +if (unlikely(varonce64==NULL)) { +var65 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String); +if (likely(varonce66!=NULL)) { +var67 = varonce66; +} else { +var68 = "Warning: expression is already a `"; +var70 = (val*)(34l<<2|1); +var71 = (val*)(34l<<2|1); +var72 = (val*)((long)(0)<<2|3); +var73 = (val*)((long)(0)<<2|3); +var69 = core__flat___CString___to_s_unsafe(var68, var70, var71, var72, var73); +var67 = var69; +varonce66 = var67; +} +((struct instance_core__NativeArray*)var65)->values[0]=var67; +if (likely(varonce74!=NULL)) { +var75 = varonce74; +} else { +var76 = "` since it is a `"; +var78 = (val*)(17l<<2|1); +var79 = (val*)(17l<<2|1); +var80 = (val*)((long)(0)<<2|3); +var81 = (val*)((long)(0)<<2|3); +var77 = core__flat___CString___to_s_unsafe(var76, var78, var79, var80, var81); +var75 = var77; +varonce74 = var75; } -((struct instance_core__NativeArray*)var49)->values[2]=var55; -if (likely(varonce58!=NULL)) { -var59 = varonce58; +((struct instance_core__NativeArray*)var65)->values[2]=var75; +if (likely(varonce82!=NULL)) { +var83 = varonce82; } else { -var60 = "`."; -var61 = core__flat___NativeString___to_s_full(var60, 2l, 2l); -var59 = var61; -varonce58 = var59; +var84 = "`."; +var86 = (val*)(2l<<2|1); +var87 = (val*)(2l<<2|1); +var88 = (val*)((long)(0)<<2|3); +var89 = (val*)((long)(0)<<2|3); +var85 = core__flat___CString___to_s_unsafe(var84, var86, var87, var88, var89); +var83 = var85; +varonce82 = var83; } -((struct instance_core__NativeArray*)var49)->values[4]=var59; +((struct instance_core__NativeArray*)var65)->values[4]=var83; } else { -var49 = varonce48; -varonce48 = NULL; +var65 = varonce64; +varonce64 = NULL; } { -var62 = ((val*(*)(val* self))(var_sup->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sup); /* to_s on */ +var90 = ((val*(*)(val* self))(var_sup->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sup); /* to_s on */ } -((struct instance_core__NativeArray*)var49)->values[1]=var62; +((struct instance_core__NativeArray*)var65)->values[1]=var90; { -var63 = ((val*(*)(val* self))(var_sub->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sub); /* to_s on */ +var91 = ((val*(*)(val* self))(var_sub->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_sub); /* to_s on */ } -((struct instance_core__NativeArray*)var49)->values[3]=var63; +((struct instance_core__NativeArray*)var65)->values[3]=var91; { -var64 = ((val*(*)(val* self))(var49->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var49); /* native_to_s on */ +var92 = ((val*(*)(val* self))(var65->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var65); /* native_to_s on */ } -varonce48 = var49; +varonce64 = var65; { -nitc___nitc__ModelBuilder___warning(var41, var_node, var45, var64); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nitc___nitc__ModelBuilder___warning(var53, var_node, var57, var92); /* Direct call modelbuilder_base$ModelBuilder$warning on */ } } else { } @@ -1461,7 +1802,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#can_be_null for (self: TypeVisitor, MType): Bool */ +/* method typing$TypeVisitor$can_be_null for (self: TypeVisitor, MType): Bool */ short int nitc__typing___nitc__typing__TypeVisitor___can_be_null(val* self, val* p0) { short int var /* : Bool */; val* var_mtype /* var mtype: MType */; @@ -1561,7 +1902,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#check_can_be_null for (self: TypeVisitor, ANode, MType): Bool */ +/* method typing$TypeVisitor$check_can_be_null for (self: TypeVisitor, ANode, MType): Bool */ short int nitc__typing___nitc__typing__TypeVisitor___check_can_be_null(val* self, val* p0, val* p1) { short int var /* : Bool */; val* var_anode /* var anode: ANode */; @@ -1573,59 +1914,95 @@ val* var2 /* : ModelBuilder */; val* var4 /* : ModelBuilder */; static val* varonce; val* var5 /* : String */; -char* var6 /* : NativeString */; +char* var6 /* : CString */; val* var7 /* : String */; -static val* varonce8; -val* var9 /* : String */; -char* var10 /* : NativeString */; -val* var11 /* : String */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -val* var16 /* : MType */; +val* var8 /* : nullable Int */; +val* var9 /* : nullable Int */; +val* var10 /* : nullable Bool */; +val* var11 /* : nullable Bool */; +static val* varonce12; +val* var13 /* : String */; +char* var14 /* : CString */; +val* var15 /* : String */; +val* var16 /* : nullable Int */; +val* var17 /* : nullable Int */; +val* var18 /* : nullable Bool */; +val* var19 /* : nullable Bool */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +val* var24 /* : MType */; val* var_res /* var res: MType */; -val* var17 /* : ModelBuilder */; -val* var19 /* : ModelBuilder */; -static val* varonce20; -val* var21 /* : String */; -char* var22 /* : NativeString */; -val* var23 /* : String */; -val* var25 /* : NativeArray[String] */; -static val* varonce24; -static val* varonce26; -val* var27 /* : String */; -char* var28 /* : NativeString */; +val* var25 /* : ModelBuilder */; +val* var27 /* : ModelBuilder */; +static val* varonce28; val* var29 /* : String */; -static val* varonce30; +char* var30 /* : CString */; val* var31 /* : String */; -char* var32 /* : NativeString */; -val* var33 /* : String */; -static val* varonce34; -val* var35 /* : String */; -char* var36 /* : NativeString */; -val* var37 /* : String */; -val* var38 /* : String */; +val* var32 /* : nullable Int */; +val* var33 /* : nullable Int */; +val* var34 /* : nullable Bool */; +val* var35 /* : nullable Bool */; +val* var37 /* : NativeArray[String] */; +static val* varonce36; +static val* varonce38; val* var39 /* : String */; -val* var40 /* : String */; -val* var41 /* : ModelBuilder */; -val* var43 /* : ModelBuilder */; -static val* varonce44; -val* var45 /* : String */; -char* var46 /* : NativeString */; +char* var40 /* : CString */; +val* var41 /* : String */; +val* var42 /* : nullable Int */; +val* var43 /* : nullable Int */; +val* var44 /* : nullable Bool */; +val* var45 /* : nullable Bool */; +static val* varonce46; val* var47 /* : String */; -val* var49 /* : NativeArray[String] */; -static val* varonce48; -static val* varonce50; -val* var51 /* : String */; -char* var52 /* : NativeString */; -val* var53 /* : String */; +char* var48 /* : CString */; +val* var49 /* : String */; +val* var50 /* : nullable Int */; +val* var51 /* : nullable Int */; +val* var52 /* : nullable Bool */; +val* var53 /* : nullable Bool */; static val* varonce54; val* var55 /* : String */; -char* var56 /* : NativeString */; +char* var56 /* : CString */; val* var57 /* : String */; -val* var58 /* : String */; -val* var59 /* : String */; +val* var58 /* : nullable Int */; +val* var59 /* : nullable Int */; +val* var60 /* : nullable Bool */; +val* var61 /* : nullable Bool */; +val* var62 /* : String */; +val* var63 /* : String */; +val* var64 /* : String */; +val* var65 /* : ModelBuilder */; +val* var67 /* : ModelBuilder */; +static val* varonce68; +val* var69 /* : String */; +char* var70 /* : CString */; +val* var71 /* : String */; +val* var72 /* : nullable Int */; +val* var73 /* : nullable Int */; +val* var74 /* : nullable Bool */; +val* var75 /* : nullable Bool */; +val* var77 /* : NativeArray[String] */; +static val* varonce76; +static val* varonce78; +val* var79 /* : String */; +char* var80 /* : CString */; +val* var81 /* : String */; +val* var82 /* : nullable Int */; +val* var83 /* : nullable Int */; +val* var84 /* : nullable Bool */; +val* var85 /* : nullable Bool */; +static val* varonce86; +val* var87 /* : String */; +char* var88 /* : CString */; +val* var89 /* : String */; +val* var90 /* : nullable Int */; +val* var91 /* : nullable Int */; +val* var92 /* : nullable Bool */; +val* var93 /* : nullable Bool */; +val* var94 /* : String */; +val* var95 /* : String */; var_anode = p0; var_mtype = p1; /* isa MNullType */ @@ -1638,9 +2015,12 @@ var1 = var_mtype->type->type_table[cltype] == idtype; } if (var1){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ var4 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var4 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -1653,169 +2033,211 @@ if (likely(varonce!=NULL)) { var5 = varonce; } else { var6 = "useless-null-test"; -var7 = core__flat___NativeString___to_s_full(var6, 17l, 17l); +var8 = (val*)(17l<<2|1); +var9 = (val*)(17l<<2|1); +var10 = (val*)((long)(0)<<2|3); +var11 = (val*)((long)(0)<<2|3); +var7 = core__flat___CString___to_s_unsafe(var6, var8, var9, var10, var11); var5 = var7; varonce = var5; } -if (likely(varonce8!=NULL)) { -var9 = varonce8; +if (likely(varonce12!=NULL)) { +var13 = varonce12; } else { -var10 = "Warning: expression is always `null`."; -var11 = core__flat___NativeString___to_s_full(var10, 37l, 37l); -var9 = var11; -varonce8 = var9; +var14 = "Warning: expression is always `null`."; +var16 = (val*)(37l<<2|1); +var17 = (val*)(37l<<2|1); +var18 = (val*)((long)(0)<<2|3); +var19 = (val*)((long)(0)<<2|3); +var15 = core__flat___CString___to_s_unsafe(var14, var16, var17, var18, var19); +var13 = var15; +varonce12 = var13; } { -nitc___nitc__ModelBuilder___warning(var2, var_anode, var5, var9); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nitc___nitc__ModelBuilder___warning(var2, var_anode, var5, var13); /* Direct call modelbuilder_base$ModelBuilder$warning on */ } var = 1; goto RET_LABEL; } else { } { -var12 = nitc__typing___nitc__typing__TypeVisitor___can_be_null(self, var_mtype); +var20 = nitc__typing___nitc__typing__TypeVisitor___can_be_null(self, var_mtype); } -if (var12){ +if (var20){ var = 1; goto RET_LABEL; } else { } /* isa MFormalType */ -cltype14 = type_nitc__MFormalType.color; -idtype15 = type_nitc__MFormalType.id; -if(cltype14 >= var_mtype->type->table_size) { -var13 = 0; +cltype22 = type_nitc__MFormalType.color; +idtype23 = type_nitc__MFormalType.id; +if(cltype22 >= var_mtype->type->table_size) { +var21 = 0; } else { -var13 = var_mtype->type->type_table[cltype14] == idtype15; +var21 = var_mtype->type->type_table[cltype22] == idtype23; } -if (var13){ +if (var21){ { -var16 = nitc__typing___nitc__typing__TypeVisitor___anchor_to(self, var_mtype); +var24 = nitc__typing___nitc__typing__TypeVisitor___anchor_to(self, var_mtype); } -var_res = var16; +var_res = var24; { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var19 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var19 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var27 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var27 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var17 = var19; -RET_LABEL18:(void)0; +var25 = var27; +RET_LABEL26:(void)0; } } -if (likely(varonce20!=NULL)) { -var21 = varonce20; +if (likely(varonce28!=NULL)) { +var29 = varonce28; } else { -var22 = "useless-null-test"; -var23 = core__flat___NativeString___to_s_full(var22, 17l, 17l); -var21 = var23; -varonce20 = var21; +var30 = "useless-null-test"; +var32 = (val*)(17l<<2|1); +var33 = (val*)(17l<<2|1); +var34 = (val*)((long)(0)<<2|3); +var35 = (val*)((long)(0)<<2|3); +var31 = core__flat___CString___to_s_unsafe(var30, var32, var33, var34, var35); +var29 = var31; +varonce28 = var29; } -if (unlikely(varonce24==NULL)) { -var25 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String); -if (likely(varonce26!=NULL)) { -var27 = varonce26; +if (unlikely(varonce36==NULL)) { +var37 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String); +if (likely(varonce38!=NULL)) { +var39 = varonce38; } else { -var28 = "Warning: expression is not null, since it is a `"; -var29 = core__flat___NativeString___to_s_full(var28, 48l, 48l); -var27 = var29; -varonce26 = var27; +var40 = "Warning: expression is not null, since it is a `"; +var42 = (val*)(48l<<2|1); +var43 = (val*)(48l<<2|1); +var44 = (val*)((long)(0)<<2|3); +var45 = (val*)((long)(0)<<2|3); +var41 = core__flat___CString___to_s_unsafe(var40, var42, var43, var44, var45); +var39 = var41; +varonce38 = var39; } -((struct instance_core__NativeArray*)var25)->values[0]=var27; -if (likely(varonce30!=NULL)) { -var31 = varonce30; +((struct instance_core__NativeArray*)var37)->values[0]=var39; +if (likely(varonce46!=NULL)) { +var47 = varonce46; } else { -var32 = ": "; -var33 = core__flat___NativeString___to_s_full(var32, 2l, 2l); -var31 = var33; -varonce30 = var31; +var48 = ": "; +var50 = (val*)(2l<<2|1); +var51 = (val*)(2l<<2|1); +var52 = (val*)((long)(0)<<2|3); +var53 = (val*)((long)(0)<<2|3); +var49 = core__flat___CString___to_s_unsafe(var48, var50, var51, var52, var53); +var47 = var49; +varonce46 = var47; } -((struct instance_core__NativeArray*)var25)->values[2]=var31; -if (likely(varonce34!=NULL)) { -var35 = varonce34; +((struct instance_core__NativeArray*)var37)->values[2]=var47; +if (likely(varonce54!=NULL)) { +var55 = varonce54; } else { -var36 = "`."; -var37 = core__flat___NativeString___to_s_full(var36, 2l, 2l); -var35 = var37; -varonce34 = var35; +var56 = "`."; +var58 = (val*)(2l<<2|1); +var59 = (val*)(2l<<2|1); +var60 = (val*)((long)(0)<<2|3); +var61 = (val*)((long)(0)<<2|3); +var57 = core__flat___CString___to_s_unsafe(var56, var58, var59, var60, var61); +var55 = var57; +varonce54 = var55; } -((struct instance_core__NativeArray*)var25)->values[4]=var35; +((struct instance_core__NativeArray*)var37)->values[4]=var55; } else { -var25 = varonce24; -varonce24 = NULL; +var37 = varonce36; +varonce36 = NULL; } { -var38 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mtype); /* to_s on */ +var62 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mtype); /* to_s on */ } -((struct instance_core__NativeArray*)var25)->values[1]=var38; +((struct instance_core__NativeArray*)var37)->values[1]=var62; { -var39 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on */ +var63 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on */ } -((struct instance_core__NativeArray*)var25)->values[3]=var39; +((struct instance_core__NativeArray*)var37)->values[3]=var63; { -var40 = ((val*(*)(val* self))(var25->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var25); /* native_to_s on */ +var64 = ((val*(*)(val* self))(var37->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var37); /* native_to_s on */ } -varonce24 = var25; +varonce36 = var37; { -nitc___nitc__ModelBuilder___warning(var17, var_anode, var21, var40); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nitc___nitc__ModelBuilder___warning(var25, var_anode, var29, var64); /* Direct call modelbuilder_base$ModelBuilder$warning on */ } } else { { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var43 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var43 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var67 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var67 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var41 = var43; -RET_LABEL42:(void)0; -} -} -if (likely(varonce44!=NULL)) { -var45 = varonce44; -} else { -var46 = "useless-null-test"; -var47 = core__flat___NativeString___to_s_full(var46, 17l, 17l); -var45 = var47; -varonce44 = var45; +var65 = var67; +RET_LABEL66:(void)0; } -if (unlikely(varonce48==NULL)) { -var49 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce50!=NULL)) { -var51 = varonce50; -} else { -var52 = "Warning: expression is not null, since it is a `"; -var53 = core__flat___NativeString___to_s_full(var52, 48l, 48l); -var51 = var53; -varonce50 = var51; } -((struct instance_core__NativeArray*)var49)->values[0]=var51; -if (likely(varonce54!=NULL)) { -var55 = varonce54; +if (likely(varonce68!=NULL)) { +var69 = varonce68; +} else { +var70 = "useless-null-test"; +var72 = (val*)(17l<<2|1); +var73 = (val*)(17l<<2|1); +var74 = (val*)((long)(0)<<2|3); +var75 = (val*)((long)(0)<<2|3); +var71 = core__flat___CString___to_s_unsafe(var70, var72, var73, var74, var75); +var69 = var71; +varonce68 = var69; +} +if (unlikely(varonce76==NULL)) { +var77 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce78!=NULL)) { +var79 = varonce78; +} else { +var80 = "Warning: expression is not null, since it is a `"; +var82 = (val*)(48l<<2|1); +var83 = (val*)(48l<<2|1); +var84 = (val*)((long)(0)<<2|3); +var85 = (val*)((long)(0)<<2|3); +var81 = core__flat___CString___to_s_unsafe(var80, var82, var83, var84, var85); +var79 = var81; +varonce78 = var79; +} +((struct instance_core__NativeArray*)var77)->values[0]=var79; +if (likely(varonce86!=NULL)) { +var87 = varonce86; } else { -var56 = "`."; -var57 = core__flat___NativeString___to_s_full(var56, 2l, 2l); -var55 = var57; -varonce54 = var55; +var88 = "`."; +var90 = (val*)(2l<<2|1); +var91 = (val*)(2l<<2|1); +var92 = (val*)((long)(0)<<2|3); +var93 = (val*)((long)(0)<<2|3); +var89 = core__flat___CString___to_s_unsafe(var88, var90, var91, var92, var93); +var87 = var89; +varonce86 = var87; } -((struct instance_core__NativeArray*)var49)->values[2]=var55; +((struct instance_core__NativeArray*)var77)->values[2]=var87; } else { -var49 = varonce48; -varonce48 = NULL; +var77 = varonce76; +varonce76 = NULL; } { -var58 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mtype); /* to_s on */ +var94 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mtype); /* to_s on */ } -((struct instance_core__NativeArray*)var49)->values[1]=var58; +((struct instance_core__NativeArray*)var77)->values[1]=var94; { -var59 = ((val*(*)(val* self))(var49->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var49); /* native_to_s on */ +var95 = ((val*(*)(val* self))(var77->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var77); /* native_to_s on */ } -varonce48 = var49; +varonce76 = var77; { -nitc___nitc__ModelBuilder___warning(var41, var_anode, var45, var59); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nitc___nitc__ModelBuilder___warning(var65, var_anode, var69, var95); /* Direct call modelbuilder_base$ModelBuilder$warning on */ } } var = 0; @@ -1823,7 +2245,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#null_test for (self: TypeVisitor, ABinopExpr) */ +/* method typing$TypeVisitor$null_test for (self: TypeVisitor, ABinopExpr) */ void nitc__typing___nitc__typing__TypeVisitor___null_test(val* self, val* p0) { val* var_anode /* var anode: ABinopExpr */; val* var /* : AExpr */; @@ -1887,11 +2309,14 @@ val* var66 /* : FlowContext */; val* var68 /* : FlowContext */; var_anode = p0; { -{ /* Inline parser_nodes#ASendExpr#n_expr (var_anode) on */ +{ /* Inline parser_nodes$ASendExpr$n_expr (var_anode) on */ var2 = var_anode->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2022); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2103); fatal_exit(1); } var = var2; @@ -1903,11 +2328,14 @@ var3 = ((val*(*)(val* self))(var->class->vft[COLOR_nitc__typing__AExpr__mtype])) } var_mtype = var3; { -{ /* Inline parser_nodes#ABinopExpr#n_expr2 (var_anode) on */ +{ /* Inline parser_nodes$ABinopExpr$n_expr2 (var_anode) on */ var6 = var_anode->attrs[COLOR_nitc__parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2033); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2114); fatal_exit(1); } var4 = var6; @@ -1924,10 +2352,10 @@ var9 = 1; /* is null */ var9 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_mtype,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_mtype,var_other) on */ var14 = var_mtype == var_other; var12 = var14; goto RET_LABEL13; @@ -1950,10 +2378,10 @@ var15 = 1; /* is null */ var15 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mtype2,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_mtype2,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mtype2,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_mtype2,var_other) on */ var20 = var_mtype2 == var_other; var18 = var20; goto RET_LABEL19; @@ -2010,11 +2438,14 @@ var28 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_nitc__model__MType__as var_mtype = var28; } { -{ /* Inline parser_nodes#ASendExpr#n_expr (var_anode) on */ +{ /* Inline parser_nodes$ASendExpr$n_expr (var_anode) on */ var31 = var_anode->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on */ if (unlikely(var31 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2022); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2103); fatal_exit(1); } var29 = var31; @@ -2031,10 +2462,10 @@ var33 = 1; /* is null */ var33 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_variable,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_variable,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_variable,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_variable,var_other) on */ var38 = var_variable == var_other; var36 = var38; goto RET_LABEL37; @@ -2061,25 +2492,34 @@ var39 = var_anode->type->type_table[cltype40] == idtype41; } if (var39){ { -{ /* Inline flow#AExpr#after_flow_context (var_anode) on */ +{ /* Inline flow$AExpr$after_flow_context (var_anode) on */ var44 = var_anode->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on */ var42 = var44; RET_LABEL43:(void)0; } } if (var42 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 265); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 269); fatal_exit(1); } else { -{ /* Inline flow#FlowContext#when_true (var42) on */ +{ /* Inline flow$FlowContext$when_true (var42) on */ if (unlikely(var42 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); } var47 = var42->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var47 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -2089,28 +2529,37 @@ RET_LABEL46:(void)0; } } { -nitc__typing___FlowContext___set_var(var45, self, var_variable, var_mtype2); /* Direct call typing#FlowContext#set_var on */ +nitc__typing___FlowContext___set_var(var45, self, var_variable, var_mtype2); /* Direct call typing$FlowContext$set_var on */ } { -{ /* Inline flow#AExpr#after_flow_context (var_anode) on */ +{ /* Inline flow$AExpr$after_flow_context (var_anode) on */ var50 = var_anode->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on */ var48 = var50; RET_LABEL49:(void)0; } } if (var48 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 266); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 270); fatal_exit(1); } else { -{ /* Inline flow#FlowContext#when_false (var48) on */ +{ /* Inline flow$FlowContext$when_false (var48) on */ if (unlikely(var48 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); } var53 = var48->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var53 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -2120,7 +2569,7 @@ RET_LABEL52:(void)0; } } { -nitc__typing___FlowContext___set_var(var51, self, var_variable, var_mtype); /* Direct call typing#FlowContext#set_var on */ +nitc__typing___FlowContext___set_var(var51, self, var_variable, var_mtype); /* Direct call typing$FlowContext$set_var on */ } } else { /* isa ANeExpr */ @@ -2133,25 +2582,34 @@ var54 = var_anode->type->type_table[cltype55] == idtype56; } if (var54){ { -{ /* Inline flow#AExpr#after_flow_context (var_anode) on */ +{ /* Inline flow$AExpr$after_flow_context (var_anode) on */ var59 = var_anode->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on */ var57 = var59; RET_LABEL58:(void)0; } } if (var57 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 268); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 272); fatal_exit(1); } else { -{ /* Inline flow#FlowContext#when_false (var57) on */ +{ /* Inline flow$FlowContext$when_false (var57) on */ if (unlikely(var57 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); } var62 = var57->attrs[COLOR_nitc__flow__FlowContext___when_false].val; /* _when_false on */ if (unlikely(var62 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_false"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 228); fatal_exit(1); @@ -2161,28 +2619,37 @@ RET_LABEL61:(void)0; } } { -nitc__typing___FlowContext___set_var(var60, self, var_variable, var_mtype2); /* Direct call typing#FlowContext#set_var on */ +nitc__typing___FlowContext___set_var(var60, self, var_variable, var_mtype2); /* Direct call typing$FlowContext$set_var on */ } { -{ /* Inline flow#AExpr#after_flow_context (var_anode) on */ +{ /* Inline flow$AExpr$after_flow_context (var_anode) on */ var65 = var_anode->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on */ var63 = var65; RET_LABEL64:(void)0; } } if (var63 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 269); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 273); fatal_exit(1); } else { -{ /* Inline flow#FlowContext#when_true (var63) on */ +{ /* Inline flow$FlowContext$when_true (var63) on */ if (unlikely(var63 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); } var68 = var63->attrs[COLOR_nitc__flow__FlowContext___when_true].val; /* _when_true on */ if (unlikely(var68 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _when_true"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 225); fatal_exit(1); @@ -2192,17 +2659,20 @@ RET_LABEL67:(void)0; } } { -nitc__typing___FlowContext___set_var(var66, self, var_variable, var_mtype); /* Direct call typing#FlowContext#set_var on */ +nitc__typing___FlowContext___set_var(var66, self, var_variable, var_mtype); /* Direct call typing$FlowContext$set_var on */ } } else { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 271); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 275); fatal_exit(1); } } RET_LABEL:; } -/* method typing#TypeVisitor#try_get_mproperty_by_name2 for (self: TypeVisitor, ANode, MType, String): nullable MProperty */ +/* method typing$TypeVisitor$try_get_mproperty_by_name2 for (self: TypeVisitor, ANode, MType, String): nullable MProperty */ val* nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(val* self, val* p0, val* p1, val* p2) { val* var /* : nullable MProperty */; val* var_anode /* var anode: ANode */; @@ -2217,9 +2687,12 @@ var_anode = p0; var_mtype = p1; var_name = p2; { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ var3 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -2229,9 +2702,12 @@ RET_LABEL2:(void)0; } } { -{ /* Inline typing#TypeVisitor#mmodule (self) on */ +{ /* Inline typing$TypeVisitor$mmodule (self) on */ var6 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 37); fatal_exit(1); @@ -2248,7 +2724,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#resolve_mtype for (self: TypeVisitor, AType): nullable MType */ +/* method typing$TypeVisitor$resolve_mtype for (self: TypeVisitor, AType): nullable MType */ val* nitc__typing___nitc__typing__TypeVisitor___resolve_mtype(val* self, val* p0) { val* var /* : nullable MType */; val* var_node /* var node: AType */; @@ -2261,9 +2737,12 @@ val* var9 /* : nullable MClassDef */; val* var10 /* : nullable MType */; var_node = p0; { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ var3 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -2273,9 +2752,12 @@ RET_LABEL2:(void)0; } } { -{ /* Inline typing#TypeVisitor#mmodule (self) on */ +{ /* Inline typing$TypeVisitor$mmodule (self) on */ var6 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 37); fatal_exit(1); @@ -2285,7 +2767,7 @@ RET_LABEL5:(void)0; } } { -{ /* Inline typing#TypeVisitor#mclassdef (self) on */ +{ /* Inline typing$TypeVisitor$mclassdef (self) on */ var9 = self->attrs[COLOR_nitc__typing__TypeVisitor___mclassdef].val; /* _mclassdef on */ var7 = var9; RET_LABEL8:(void)0; @@ -2299,7 +2781,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#try_get_mclass for (self: TypeVisitor, ANode, String): nullable MClass */ +/* method typing$TypeVisitor$try_get_mclass for (self: TypeVisitor, ANode, String): nullable MClass */ val* nitc__typing___nitc__typing__TypeVisitor___try_get_mclass(val* self, val* p0, val* p1) { val* var /* : nullable MClass */; val* var_node /* var node: ANode */; @@ -2313,9 +2795,12 @@ val* var_mclass /* var mclass: nullable MClass */; var_node = p0; var_name = p1; { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ var3 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -2325,9 +2810,12 @@ RET_LABEL2:(void)0; } } { -{ /* Inline typing#TypeVisitor#mmodule (self) on */ +{ /* Inline typing$TypeVisitor$mmodule (self) on */ var6 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 37); fatal_exit(1); @@ -2345,7 +2833,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#get_mclass for (self: TypeVisitor, ANode, String): nullable MClass */ +/* method typing$TypeVisitor$get_mclass for (self: TypeVisitor, ANode, String): nullable MClass */ val* nitc__typing___nitc__typing__TypeVisitor___get_mclass(val* self, val* p0, val* p1) { val* var /* : nullable MClass */; val* var_node /* var node: ANode */; @@ -2359,9 +2847,12 @@ val* var_mclass /* var mclass: nullable MClass */; var_node = p0; var_name = p1; { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ var3 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -2371,9 +2862,12 @@ RET_LABEL2:(void)0; } } { -{ /* Inline typing#TypeVisitor#mmodule (self) on */ +{ /* Inline typing$TypeVisitor$mmodule (self) on */ var6 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 37); fatal_exit(1); @@ -2391,81 +2885,92 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#type_bool for (self: TypeVisitor, ANode): nullable MType */ +/* method typing$TypeVisitor$type_bool for (self: TypeVisitor, ANode): nullable MType */ val* nitc__typing___nitc__typing__TypeVisitor___type_bool(val* self, val* p0) { val* var /* : nullable MType */; val* var_node /* var node: ANode */; static val* varonce; val* var1 /* : String */; -char* var2 /* : NativeString */; +char* var2 /* : CString */; val* var3 /* : String */; -val* var4 /* : nullable MClass */; +val* var4 /* : nullable Int */; +val* var5 /* : nullable Int */; +val* var6 /* : nullable Bool */; +val* var7 /* : nullable Bool */; +val* var8 /* : nullable MClass */; val* var_mclass /* var mclass: nullable MClass */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var8 /* : Bool */; +short int var9 /* : Bool */; short int var10 /* : Bool */; -val* var11 /* : MClassType */; -val* var13 /* : MClassType */; +val* var_other /* var other: nullable Object */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +val* var15 /* : MClassType */; +val* var17 /* : MClassType */; var_node = p0; if (likely(varonce!=NULL)) { var1 = varonce; } else { var2 = "Bool"; -var3 = core__flat___NativeString___to_s_full(var2, 4l, 4l); +var4 = (val*)(4l<<2|1); +var5 = (val*)(4l<<2|1); +var6 = (val*)((long)(0)<<2|3); +var7 = (val*)((long)(0)<<2|3); +var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7); var1 = var3; varonce = var1; } { -var4 = nitc__typing___nitc__typing__TypeVisitor___get_mclass(self, var_node, var1); +var8 = nitc__typing___nitc__typing__TypeVisitor___get_mclass(self, var_node, var1); } -var_mclass = var4; +var_mclass = var8; if (var_mclass == NULL) { -var5 = 1; /* is null */ +var9 = 1; /* is null */ } else { -var5 = 0; /* arg is null but recv is not */ +var9 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_mclass,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on */ -var10 = var_mclass == var_other; -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_mclass,var_other) on */ +var14 = var_mclass == var_other; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } -var5 = var6; +var9 = var10; } -if (var5){ +if (var9){ var = ((val*)NULL); goto RET_LABEL; } else { } { -{ /* Inline model#MClass#mclass_type (var_mclass) on */ -var13 = var_mclass->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var13 == NULL)) { +{ /* Inline model$MClass$mclass_type (var_mclass) on */ +var17 = var_mclass->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var17 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 507); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 520); fatal_exit(1); } -var11 = var13; -RET_LABEL12:(void)0; +var15 = var17; +RET_LABEL16:(void)0; } } -var = var11; +var = var15; goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#get_method for (self: TypeVisitor, ANode, MType, String, Bool): nullable CallSite */ +/* method typing$TypeVisitor$get_method for (self: TypeVisitor, ANode, MType, String, Bool): nullable CallSite */ val* nitc__typing___nitc__typing__TypeVisitor___get_method(val* self, val* p0, val* p1, val* p2, short int p3) { val* var /* : nullable CallSite */; val* var_node /* var node: ANode */; @@ -2479,398 +2984,550 @@ int cltype; int idtype; static val* varonce; val* var3 /* : String */; -char* var4 /* : NativeString */; +char* var4 /* : CString */; val* var5 /* : String */; -val* var6 /* : nullable MClass */; +val* var6 /* : nullable Int */; +val* var7 /* : nullable Int */; +val* var8 /* : nullable Bool */; +val* var9 /* : nullable Bool */; +val* var10 /* : nullable MClass */; val* var_objclass /* var objclass: nullable MClass */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var10 /* : Bool */; +short int var11 /* : Bool */; short int var12 /* : Bool */; -val* var13 /* : MClassType */; -val* var15 /* : MClassType */; -val* var16 /* : nullable MProperty */; +val* var_other /* var other: nullable Object */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; +val* var17 /* : MClassType */; +val* var19 /* : MClassType */; +val* var20 /* : nullable MProperty */; val* var_mproperty /* var mproperty: nullable MProperty */; -short int var17 /* : Bool */; -static val* varonce18; -val* var19 /* : String */; -char* var20 /* : NativeString */; -val* var21 /* : String */; -short int var22 /* : Bool */; +short int var21 /* : Bool */; +static val* varonce22; +val* var23 /* : String */; +char* var24 /* : CString */; +val* var25 /* : String */; +val* var26 /* : nullable Int */; +val* var27 /* : nullable Int */; +val* var28 /* : nullable Bool */; +val* var29 /* : nullable Bool */; +short int var30 /* : Bool */; short int var_ /* var : Bool */; -short int var23 /* : Bool */; -short int var24 /* : Bool */; -short int var26 /* : Bool */; -short int var28 /* : Bool */; -static val* varonce29; -val* var30 /* : String */; -char* var31 /* : NativeString */; -val* var32 /* : String */; -val* var33 /* : nullable MProperty */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; short int var34 /* : Bool */; -short int var35 /* : Bool */; -short int var37 /* : Bool */; -short int var39 /* : Bool */; -val* var40 /* : ModelBuilder */; -val* var42 /* : ModelBuilder */; -val* var44 /* : NativeArray[String] */; -static val* varonce43; -static val* varonce45; -val* var46 /* : String */; -char* var47 /* : NativeString */; -val* var48 /* : String */; -static val* varonce49; -val* var50 /* : String */; -char* var51 /* : NativeString */; -val* var52 /* : String */; -static val* varonce53; -val* var54 /* : String */; -char* var55 /* : NativeString */; -val* var56 /* : String */; -val* var57 /* : String */; +short int var36 /* : Bool */; +static val* varonce37; +val* var38 /* : String */; +char* var39 /* : CString */; +val* var40 /* : String */; +val* var41 /* : nullable Int */; +val* var42 /* : nullable Int */; +val* var43 /* : nullable Bool */; +val* var44 /* : nullable Bool */; +val* var45 /* : nullable MProperty */; +short int var46 /* : Bool */; +short int var47 /* : Bool */; +short int var49 /* : Bool */; +short int var51 /* : Bool */; +val* var52 /* : ModelBuilder */; +val* var54 /* : ModelBuilder */; +val* var56 /* : NativeArray[String] */; +static val* varonce55; +static val* varonce57; val* var58 /* : String */; -short int var59 /* : Bool */; -val* var60 /* : ModelBuilder */; -val* var62 /* : ModelBuilder */; -val* var64 /* : NativeArray[String] */; -static val* varonce63; +char* var59 /* : CString */; +val* var60 /* : String */; +val* var61 /* : nullable Int */; +val* var62 /* : nullable Int */; +val* var63 /* : nullable Bool */; +val* var64 /* : nullable Bool */; static val* varonce65; val* var66 /* : String */; -char* var67 /* : NativeString */; +char* var67 /* : CString */; val* var68 /* : String */; -static val* varonce69; -val* var70 /* : String */; -char* var71 /* : NativeString */; -val* var72 /* : String */; +val* var69 /* : nullable Int */; +val* var70 /* : nullable Int */; +val* var71 /* : nullable Bool */; +val* var72 /* : nullable Bool */; static val* varonce73; val* var74 /* : String */; -char* var75 /* : NativeString */; +char* var75 /* : CString */; val* var76 /* : String */; -static val* varonce77; -val* var78 /* : String */; -char* var79 /* : NativeString */; -val* var80 /* : String */; +val* var77 /* : nullable Int */; +val* var78 /* : nullable Int */; +val* var79 /* : nullable Bool */; +val* var80 /* : nullable Bool */; val* var81 /* : String */; val* var82 /* : String */; -val* var83 /* : String */; +short int var83 /* : Bool */; val* var84 /* : ModelBuilder */; val* var86 /* : ModelBuilder */; val* var88 /* : NativeArray[String] */; static val* varonce87; static val* varonce89; val* var90 /* : String */; -char* var91 /* : NativeString */; +char* var91 /* : CString */; val* var92 /* : String */; -static val* varonce93; -val* var94 /* : String */; -char* var95 /* : NativeString */; -val* var96 /* : String */; +val* var93 /* : nullable Int */; +val* var94 /* : nullable Int */; +val* var95 /* : nullable Bool */; +val* var96 /* : nullable Bool */; static val* varonce97; val* var98 /* : String */; -char* var99 /* : NativeString */; +char* var99 /* : CString */; val* var100 /* : String */; -val* var101 /* : String */; -val* var102 /* : String */; -short int var103 /* : Bool */; -int cltype104; -int idtype105; -short int var106 /* : Bool */; -short int var107 /* : Bool */; -int cltype108; -int idtype109; -short int var_110 /* var : Bool */; -short int var111 /* : Bool */; -short int var112 /* : Bool */; -val* var114 /* : NativeArray[String] */; +val* var101 /* : nullable Int */; +val* var102 /* : nullable Int */; +val* var103 /* : nullable Bool */; +val* var104 /* : nullable Bool */; +static val* varonce105; +val* var106 /* : String */; +char* var107 /* : CString */; +val* var108 /* : String */; +val* var109 /* : nullable Int */; +val* var110 /* : nullable Int */; +val* var111 /* : nullable Bool */; +val* var112 /* : nullable Bool */; static val* varonce113; -static val* varonce115; +val* var114 /* : String */; +char* var115 /* : CString */; val* var116 /* : String */; -char* var117 /* : NativeString */; -val* var118 /* : String */; -static val* varonce119; -val* var120 /* : String */; -char* var121 /* : NativeString */; +val* var117 /* : nullable Int */; +val* var118 /* : nullable Int */; +val* var119 /* : nullable Bool */; +val* var120 /* : nullable Bool */; +val* var121 /* : String */; val* var122 /* : String */; val* var123 /* : String */; -short int var124 /* : Bool */; -short int var125 /* : Bool */; -int cltype126; -int idtype127; -short int var_128 /* var : Bool */; -short int var129 /* : Bool */; -short int var130 /* : Bool */; -val* var131 /* : ModelBuilder */; -val* var133 /* : ModelBuilder */; -static val* varonce134; -val* var135 /* : String */; -char* var136 /* : NativeString */; -val* var137 /* : String */; -val* var139 /* : NativeArray[String] */; -static val* varonce138; -static val* varonce140; -val* var141 /* : String */; -char* var142 /* : NativeString */; -val* var143 /* : String */; -static val* varonce144; -val* var145 /* : String */; -char* var146 /* : NativeString */; -val* var147 /* : String */; +val* var124 /* : ModelBuilder */; +val* var126 /* : ModelBuilder */; +val* var128 /* : NativeArray[String] */; +static val* varonce127; +static val* varonce129; +val* var130 /* : String */; +char* var131 /* : CString */; +val* var132 /* : String */; +val* var133 /* : nullable Int */; +val* var134 /* : nullable Int */; +val* var135 /* : nullable Bool */; +val* var136 /* : nullable Bool */; +static val* varonce137; +val* var138 /* : String */; +char* var139 /* : CString */; +val* var140 /* : String */; +val* var141 /* : nullable Int */; +val* var142 /* : nullable Int */; +val* var143 /* : nullable Bool */; +val* var144 /* : nullable Bool */; +static val* varonce145; +val* var146 /* : String */; +char* var147 /* : CString */; val* var148 /* : String */; -val* var149 /* : String */; -short int var150 /* : Bool */; -short int var151 /* : Bool */; -short int var152 /* : Bool */; -short int var154 /* : Bool */; -short int var_155 /* var : Bool */; -short int var_156 /* var : Bool */; -short int var157 /* : Bool */; +val* var149 /* : nullable Int */; +val* var150 /* : nullable Int */; +val* var151 /* : nullable Bool */; +val* var152 /* : nullable Bool */; +val* var153 /* : String */; +val* var154 /* : String */; +short int var155 /* : Bool */; +int cltype156; +int idtype157; +short int var158 /* : Bool */; short int var159 /* : Bool */; -short int var160 /* : Bool */; -val* var162 /* : NativeArray[String] */; -static val* varonce161; -static val* varonce163; -val* var164 /* : String */; -char* var165 /* : NativeString */; -val* var166 /* : String */; +int cltype160; +int idtype161; +short int var_162 /* var : Bool */; +short int var163 /* : Bool */; +short int var164 /* : Bool */; +val* var166 /* : NativeArray[String] */; +static val* varonce165; static val* varonce167; val* var168 /* : String */; -char* var169 /* : NativeString */; +char* var169 /* : CString */; val* var170 /* : String */; -val* var171 /* : String */; -short int var172 /* : Bool */; -short int var173 /* : Bool */; -short int var_174 /* var : Bool */; -short int var175 /* : Bool */; -short int var177 /* : Bool */; -val* var179 /* : NativeArray[String] */; -static val* varonce178; -static val* varonce180; -val* var181 /* : String */; -char* var182 /* : NativeString */; +val* var171 /* : nullable Int */; +val* var172 /* : nullable Int */; +val* var173 /* : nullable Bool */; +val* var174 /* : nullable Bool */; +static val* varonce175; +val* var176 /* : String */; +char* var177 /* : CString */; +val* var178 /* : String */; +val* var179 /* : nullable Int */; +val* var180 /* : nullable Int */; +val* var181 /* : nullable Bool */; +val* var182 /* : nullable Bool */; val* var183 /* : String */; -static val* varonce184; -val* var185 /* : String */; -char* var186 /* : NativeString */; -val* var187 /* : String */; -val* var188 /* : String */; +short int var184 /* : Bool */; +short int var185 /* : Bool */; +int cltype186; +int idtype187; +short int var_188 /* var : Bool */; short int var189 /* : Bool */; short int var190 /* : Bool */; -short int var191 /* : Bool */; -val* var192 /* : MVisibility */; -val* var194 /* : MVisibility */; -val* var195 /* : Sys */; -val* var196 /* : MVisibility */; -short int var197 /* : Bool */; -short int var199 /* : Bool */; -short int var201 /* : Bool */; -short int var_202 /* var : Bool */; -short int var203 /* : Bool */; -short int var_204 /* var : Bool */; -val* var205 /* : MModule */; -val* var207 /* : MModule */; -val* var208 /* : MClassDef */; -val* var210 /* : MClassDef */; -val* var211 /* : MModule */; -val* var213 /* : MModule */; -val* var214 /* : MVisibility */; -val* var215 /* : Sys */; -val* var216 /* : MVisibility */; -short int var217 /* : Bool */; -short int var_218 /* var : Bool */; -val* var219 /* : ModelBuilder */; -val* var221 /* : ModelBuilder */; -val* var222 /* : ToolContext */; -val* var224 /* : ToolContext */; -val* var225 /* : OptionBool */; -val* var227 /* : OptionBool */; -val* var228 /* : nullable Object */; -val* var230 /* : nullable Object */; +val* var191 /* : ModelBuilder */; +val* var193 /* : ModelBuilder */; +static val* varonce194; +val* var195 /* : String */; +char* var196 /* : CString */; +val* var197 /* : String */; +val* var198 /* : nullable Int */; +val* var199 /* : nullable Int */; +val* var200 /* : nullable Bool */; +val* var201 /* : nullable Bool */; +val* var203 /* : NativeArray[String] */; +static val* varonce202; +static val* varonce204; +val* var205 /* : String */; +char* var206 /* : CString */; +val* var207 /* : String */; +val* var208 /* : nullable Int */; +val* var209 /* : nullable Int */; +val* var210 /* : nullable Bool */; +val* var211 /* : nullable Bool */; +static val* varonce212; +val* var213 /* : String */; +char* var214 /* : CString */; +val* var215 /* : String */; +val* var216 /* : nullable Int */; +val* var217 /* : nullable Int */; +val* var218 /* : nullable Bool */; +val* var219 /* : nullable Bool */; +val* var220 /* : String */; +val* var221 /* : String */; +short int var222 /* : Bool */; +short int var223 /* : Bool */; +short int var224 /* : Bool */; +short int var226 /* : Bool */; +short int var_227 /* var : Bool */; +short int var_228 /* var : Bool */; +short int var229 /* : Bool */; short int var231 /* : Bool */; short int var232 /* : Bool */; -val* var233 /* : ModelBuilder */; -val* var235 /* : ModelBuilder */; -val* var237 /* : NativeArray[String] */; -static val* varonce236; -static val* varonce238; -val* var239 /* : String */; -char* var240 /* : NativeString */; -val* var241 /* : String */; -static val* varonce242; -val* var243 /* : String */; -char* var244 /* : NativeString */; -val* var245 /* : String */; +val* var234 /* : NativeArray[String] */; +static val* varonce233; +static val* varonce235; +val* var236 /* : String */; +char* var237 /* : CString */; +val* var238 /* : String */; +val* var239 /* : nullable Int */; +val* var240 /* : nullable Int */; +val* var241 /* : nullable Bool */; +val* var242 /* : nullable Bool */; +static val* varonce243; +val* var244 /* : String */; +char* var245 /* : CString */; val* var246 /* : String */; -val* var247 /* : nullable MDeprecationInfo */; -val* var249 /* : nullable MDeprecationInfo */; -val* var_info /* var info: nullable MDeprecationInfo */; -short int var250 /* : Bool */; -short int var251 /* : Bool */; +val* var247 /* : nullable Int */; +val* var248 /* : nullable Int */; +val* var249 /* : nullable Bool */; +val* var250 /* : nullable Bool */; +val* var251 /* : String */; short int var252 /* : Bool */; -val* var_other254 /* var other: nullable Object */; +short int var253 /* : Bool */; +short int var_254 /* var : Bool */; short int var255 /* : Bool */; -short int var256 /* : Bool */; -short int var_257 /* var : Bool */; -val* var258 /* : nullable MPropDef */; -val* var260 /* : nullable MPropDef */; -val* var261 /* : MProperty */; -val* var263 /* : MProperty */; -val* var264 /* : nullable MDeprecationInfo */; -val* var266 /* : nullable MDeprecationInfo */; -short int var267 /* : Bool */; -short int var268 /* : Bool */; -short int var270 /* : Bool */; -short int var272 /* : Bool */; -val* var273 /* : nullable MDoc */; -val* var275 /* : nullable MDoc */; -val* var_mdoc /* var mdoc: nullable MDoc */; -short int var276 /* : Bool */; +short int var257 /* : Bool */; +val* var259 /* : NativeArray[String] */; +static val* varonce258; +static val* varonce260; +val* var261 /* : String */; +char* var262 /* : CString */; +val* var263 /* : String */; +val* var264 /* : nullable Int */; +val* var265 /* : nullable Int */; +val* var266 /* : nullable Bool */; +val* var267 /* : nullable Bool */; +static val* varonce268; +val* var269 /* : String */; +char* var270 /* : CString */; +val* var271 /* : String */; +val* var272 /* : nullable Int */; +val* var273 /* : nullable Int */; +val* var274 /* : nullable Bool */; +val* var275 /* : nullable Bool */; +val* var276 /* : String */; short int var277 /* : Bool */; +short int var278 /* : Bool */; short int var279 /* : Bool */; -short int var280 /* : Bool */; -val* var281 /* : ModelBuilder */; -val* var283 /* : ModelBuilder */; -static val* varonce284; -val* var285 /* : String */; -char* var286 /* : NativeString */; -val* var287 /* : String */; -val* var289 /* : NativeArray[String] */; -static val* varonce288; -static val* varonce290; -val* var291 /* : String */; -char* var292 /* : NativeString */; -val* var293 /* : String */; -static val* varonce294; -val* var295 /* : String */; -char* var296 /* : NativeString */; -val* var297 /* : String */; -val* var298 /* : Array[String] */; -val* var300 /* : Array[String] */; -val* var301 /* : nullable Object */; -val* var302 /* : String */; -val* var303 /* : ModelBuilder */; -val* var305 /* : ModelBuilder */; -static val* varonce306; -val* var307 /* : String */; -char* var308 /* : NativeString */; -val* var309 /* : String */; -val* var311 /* : NativeArray[String] */; -static val* varonce310; -static val* varonce312; -val* var313 /* : String */; -char* var314 /* : NativeString */; -val* var315 /* : String */; -static val* varonce316; -val* var317 /* : String */; -char* var318 /* : NativeString */; -val* var319 /* : String */; -val* var320 /* : String */; -val* var321 /* : MModule */; -val* var323 /* : MModule */; -val* var324 /* : Array[MPropDef] */; -val* var_propdefs /* var propdefs: Array[MMethodDef] */; -long var325 /* : Int */; -long var327 /* : Int */; -short int var328 /* : Bool */; -short int var330 /* : Bool */; -val* var331 /* : ModelBuilder */; -val* var333 /* : ModelBuilder */; -val* var335 /* : NativeArray[String] */; +val* var280 /* : MVisibility */; +val* var282 /* : MVisibility */; +val* var283 /* : Sys */; +val* var284 /* : MVisibility */; +short int var285 /* : Bool */; +short int var287 /* : Bool */; +short int var289 /* : Bool */; +short int var_290 /* var : Bool */; +short int var291 /* : Bool */; +short int var_292 /* var : Bool */; +val* var293 /* : MModule */; +val* var295 /* : MModule */; +val* var296 /* : MClassDef */; +val* var298 /* : MClassDef */; +val* var299 /* : MModule */; +val* var301 /* : MModule */; +val* var302 /* : MVisibility */; +val* var303 /* : Sys */; +val* var304 /* : MVisibility */; +short int var305 /* : Bool */; +short int var_306 /* var : Bool */; +val* var307 /* : ModelBuilder */; +val* var309 /* : ModelBuilder */; +val* var310 /* : ToolContext */; +val* var312 /* : ToolContext */; +val* var313 /* : OptionBool */; +val* var315 /* : OptionBool */; +val* var316 /* : nullable Object */; +val* var318 /* : nullable Object */; +short int var319 /* : Bool */; +short int var320 /* : Bool */; +val* var321 /* : ModelBuilder */; +val* var323 /* : ModelBuilder */; +val* var325 /* : NativeArray[String] */; +static val* varonce324; +static val* varonce326; +val* var327 /* : String */; +char* var328 /* : CString */; +val* var329 /* : String */; +val* var330 /* : nullable Int */; +val* var331 /* : nullable Int */; +val* var332 /* : nullable Bool */; +val* var333 /* : nullable Bool */; static val* varonce334; -static val* varonce336; +val* var335 /* : String */; +char* var336 /* : CString */; val* var337 /* : String */; -char* var338 /* : NativeString */; -val* var339 /* : String */; -static val* varonce340; -val* var341 /* : String */; -char* var342 /* : NativeString */; -val* var343 /* : String */; -static val* varonce344; -val* var345 /* : String */; -char* var346 /* : NativeString */; -val* var347 /* : String */; -val* var348 /* : String */; -val* var349 /* : String */; -long var350 /* : Int */; -long var352 /* : Int */; -short int var353 /* : Bool */; -short int var355 /* : Bool */; -val* var356 /* : nullable Object */; -val* var_mpropdef /* var mpropdef: nullable Object */; -val* var357 /* : ModelBuilder */; -val* var359 /* : ModelBuilder */; -static val* varonce360; -val* var361 /* : String */; -char* var362 /* : NativeString */; -val* var363 /* : String */; -val* var365 /* : NativeArray[String] */; -static val* varonce364; -static val* varonce366; -val* var367 /* : String */; -char* var368 /* : NativeString */; -val* var369 /* : String */; -static val* varonce370; -val* var371 /* : String */; -char* var372 /* : NativeString */; -val* var373 /* : String */; -static val* varonce374; -val* var375 /* : String */; -char* var376 /* : NativeString */; -val* var377 /* : String */; -val* var378 /* : String */; -static val* varonce379; -val* var380 /* : String */; -char* var381 /* : NativeString */; -val* var382 /* : String */; +val* var338 /* : nullable Int */; +val* var339 /* : nullable Int */; +val* var340 /* : nullable Bool */; +val* var341 /* : nullable Bool */; +val* var342 /* : String */; +val* var343 /* : nullable MDeprecationInfo */; +val* var345 /* : nullable MDeprecationInfo */; +val* var_info /* var info: nullable MDeprecationInfo */; +short int var346 /* : Bool */; +short int var347 /* : Bool */; +short int var348 /* : Bool */; +val* var_other350 /* var other: nullable Object */; +short int var351 /* : Bool */; +short int var352 /* : Bool */; +short int var_353 /* var : Bool */; +val* var354 /* : nullable MPropDef */; +val* var356 /* : nullable MPropDef */; +val* var357 /* : MProperty */; +val* var359 /* : MProperty */; +val* var360 /* : nullable MDeprecationInfo */; +val* var362 /* : nullable MDeprecationInfo */; +short int var363 /* : Bool */; +short int var364 /* : Bool */; +short int var366 /* : Bool */; +short int var368 /* : Bool */; +val* var369 /* : nullable MDoc */; +val* var371 /* : nullable MDoc */; +val* var_mdoc /* var mdoc: nullable MDoc */; +short int var372 /* : Bool */; +short int var373 /* : Bool */; +short int var375 /* : Bool */; +short int var376 /* : Bool */; +val* var377 /* : ModelBuilder */; +val* var379 /* : ModelBuilder */; +static val* varonce380; +val* var381 /* : String */; +char* var382 /* : CString */; val* var383 /* : String */; -val* var384 /* : String */; -val* var385 /* : MPropDef */; -val* var387 /* : MPropDef */; -val* var388 /* : nullable MSignature */; -val* var389 /* : nullable MSignature */; -val* var391 /* : nullable MSignature */; -val* var392 /* : nullable MSignature */; -val* var394 /* : nullable MSignature */; +val* var384 /* : nullable Int */; +val* var385 /* : nullable Int */; +val* var386 /* : nullable Bool */; +val* var387 /* : nullable Bool */; +val* var389 /* : NativeArray[String] */; +static val* varonce388; +static val* varonce390; +val* var391 /* : String */; +char* var392 /* : CString */; +val* var393 /* : String */; +val* var394 /* : nullable Int */; +val* var395 /* : nullable Int */; +val* var396 /* : nullable Bool */; +val* var397 /* : nullable Bool */; +static val* varonce398; +val* var399 /* : String */; +char* var400 /* : CString */; +val* var401 /* : String */; +val* var402 /* : nullable Int */; +val* var403 /* : nullable Int */; +val* var404 /* : nullable Bool */; +val* var405 /* : nullable Bool */; +val* var406 /* : Array[String] */; +val* var408 /* : Array[String] */; +val* var409 /* : nullable Object */; +val* var410 /* : String */; +val* var411 /* : ModelBuilder */; +val* var413 /* : ModelBuilder */; +static val* varonce414; +val* var415 /* : String */; +char* var416 /* : CString */; +val* var417 /* : String */; +val* var418 /* : nullable Int */; +val* var419 /* : nullable Int */; +val* var420 /* : nullable Bool */; +val* var421 /* : nullable Bool */; +val* var423 /* : NativeArray[String] */; +static val* varonce422; +static val* varonce424; +val* var425 /* : String */; +char* var426 /* : CString */; +val* var427 /* : String */; +val* var428 /* : nullable Int */; +val* var429 /* : nullable Int */; +val* var430 /* : nullable Bool */; +val* var431 /* : nullable Bool */; +static val* varonce432; +val* var433 /* : String */; +char* var434 /* : CString */; +val* var435 /* : String */; +val* var436 /* : nullable Int */; +val* var437 /* : nullable Int */; +val* var438 /* : nullable Bool */; +val* var439 /* : nullable Bool */; +val* var440 /* : String */; +val* var441 /* : MModule */; +val* var443 /* : MModule */; +val* var444 /* : Array[MPropDef] */; +val* var_propdefs /* var propdefs: Array[MMethodDef] */; +long var445 /* : Int */; +long var447 /* : Int */; +short int var448 /* : Bool */; +short int var450 /* : Bool */; +val* var451 /* : ModelBuilder */; +val* var453 /* : ModelBuilder */; +val* var455 /* : NativeArray[String] */; +static val* varonce454; +static val* varonce456; +val* var457 /* : String */; +char* var458 /* : CString */; +val* var459 /* : String */; +val* var460 /* : nullable Int */; +val* var461 /* : nullable Int */; +val* var462 /* : nullable Bool */; +val* var463 /* : nullable Bool */; +static val* varonce464; +val* var465 /* : String */; +char* var466 /* : CString */; +val* var467 /* : String */; +val* var468 /* : nullable Int */; +val* var469 /* : nullable Int */; +val* var470 /* : nullable Bool */; +val* var471 /* : nullable Bool */; +static val* varonce472; +val* var473 /* : String */; +char* var474 /* : CString */; +val* var475 /* : String */; +val* var476 /* : nullable Int */; +val* var477 /* : nullable Int */; +val* var478 /* : nullable Bool */; +val* var479 /* : nullable Bool */; +val* var480 /* : String */; +val* var481 /* : String */; +long var482 /* : Int */; +long var484 /* : Int */; +short int var485 /* : Bool */; +short int var487 /* : Bool */; +val* var488 /* : nullable Object */; +val* var_mpropdef /* var mpropdef: nullable Object */; +val* var489 /* : ModelBuilder */; +val* var491 /* : ModelBuilder */; +static val* varonce492; +val* var493 /* : String */; +char* var494 /* : CString */; +val* var495 /* : String */; +val* var496 /* : nullable Int */; +val* var497 /* : nullable Int */; +val* var498 /* : nullable Bool */; +val* var499 /* : nullable Bool */; +val* var501 /* : NativeArray[String] */; +static val* varonce500; +static val* varonce502; +val* var503 /* : String */; +char* var504 /* : CString */; +val* var505 /* : String */; +val* var506 /* : nullable Int */; +val* var507 /* : nullable Int */; +val* var508 /* : nullable Bool */; +val* var509 /* : nullable Bool */; +static val* varonce510; +val* var511 /* : String */; +char* var512 /* : CString */; +val* var513 /* : String */; +val* var514 /* : nullable Int */; +val* var515 /* : nullable Int */; +val* var516 /* : nullable Bool */; +val* var517 /* : nullable Bool */; +static val* varonce518; +val* var519 /* : String */; +char* var520 /* : CString */; +val* var521 /* : String */; +val* var522 /* : nullable Int */; +val* var523 /* : nullable Int */; +val* var524 /* : nullable Bool */; +val* var525 /* : nullable Bool */; +val* var526 /* : String */; +static val* varonce527; +val* var528 /* : String */; +char* var529 /* : CString */; +val* var530 /* : String */; +val* var531 /* : nullable Int */; +val* var532 /* : nullable Int */; +val* var533 /* : nullable Bool */; +val* var534 /* : nullable Bool */; +val* var535 /* : String */; +val* var536 /* : String */; +val* var537 /* : MPropDef */; +val* var539 /* : MPropDef */; +val* var540 /* : nullable MSignature */; +val* var541 /* : nullable MSignature */; +val* var543 /* : nullable MSignature */; +val* var544 /* : nullable MSignature */; +val* var546 /* : nullable MSignature */; val* var_msignature /* var msignature: nullable MSignature */; -short int var395 /* : Bool */; -short int var396 /* : Bool */; -short int var398 /* : Bool */; -short int var400 /* : Bool */; -val* var401 /* : MType */; -short int var402 /* : Bool */; -int cltype403; -int idtype404; +short int var547 /* : Bool */; +short int var548 /* : Bool */; +short int var550 /* : Bool */; +short int var552 /* : Bool */; +val* var553 /* : MType */; +short int var554 /* : Bool */; +int cltype555; +int idtype556; const char* var_class_name; short int var_erasure_cast /* var erasure_cast: Bool */; -val* var405 /* : nullable MSignature */; -val* var407 /* : nullable MSignature */; -val* var408 /* : nullable MType */; -val* var410 /* : nullable MType */; +val* var557 /* : nullable MSignature */; +val* var559 /* : nullable MSignature */; +val* var560 /* : nullable MType */; +val* var562 /* : nullable MType */; val* var_rettype /* var rettype: nullable MType */; -short int var411 /* : Bool */; -short int var412 /* : Bool */; -short int var_413 /* var : Bool */; -short int var414 /* : Bool */; -short int var415 /* : Bool */; -short int var417 /* : Bool */; -short int var418 /* : Bool */; -val* var419 /* : MType */; -short int var420 /* : Bool */; -int cltype421; -int idtype422; -val* var423 /* : nullable MType */; -val* var425 /* : nullable MType */; +short int var563 /* : Bool */; +short int var564 /* : Bool */; +short int var_565 /* var : Bool */; +short int var566 /* : Bool */; +short int var567 /* : Bool */; +short int var569 /* : Bool */; +short int var570 /* : Bool */; +val* var571 /* : MType */; +short int var572 /* : Bool */; +int cltype573; +int idtype574; +val* var575 /* : nullable MType */; +val* var577 /* : nullable MType */; val* var_erased_rettype /* var erased_rettype: nullable MType */; -short int var426 /* : Bool */; -short int var427 /* : Bool */; -short int var429 /* : Bool */; -short int var430 /* : Bool */; -val* var431 /* : CallSite */; -val* var432 /* : Location */; -val* var433 /* : MModule */; -val* var435 /* : MModule */; -val* var436 /* : nullable MClassType */; -val* var438 /* : nullable MClassType */; +short int var578 /* : Bool */; +short int var579 /* : Bool */; +short int var581 /* : Bool */; +short int var582 /* : Bool */; +val* var583 /* : CallSite */; +val* var584 /* : Location */; +val* var585 /* : MModule */; +val* var587 /* : MModule */; +val* var588 /* : nullable MClassType */; +val* var590 /* : nullable MClassType */; val* var_callsite /* var callsite: CallSite */; var_node = p0; var_recvtype = p1; @@ -2893,276 +3550,238 @@ if (likely(varonce!=NULL)) { var3 = varonce; } else { var4 = "Object"; -var5 = core__flat___NativeString___to_s_full(var4, 6l, 6l); +var6 = (val*)(6l<<2|1); +var7 = (val*)(6l<<2|1); +var8 = (val*)((long)(0)<<2|3); +var9 = (val*)((long)(0)<<2|3); +var5 = core__flat___CString___to_s_unsafe(var4, var6, var7, var8, var9); var3 = var5; varonce = var3; } { -var6 = nitc__typing___nitc__typing__TypeVisitor___get_mclass(self, var_node, var3); +var10 = nitc__typing___nitc__typing__TypeVisitor___get_mclass(self, var_node, var3); } -var_objclass = var6; +var_objclass = var10; if (var_objclass == NULL) { -var7 = 1; /* is null */ +var11 = 1; /* is null */ } else { -var7 = 0; /* arg is null but recv is not */ +var11 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_objclass,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_objclass,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_objclass,var_other) on */ -var12 = var_objclass == var_other; -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_objclass,var_other) on */ +var16 = var_objclass == var_other; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; } } -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -var7 = var8; +var11 = var12; } -if (var7){ +if (var11){ var = ((val*)NULL); goto RET_LABEL; } else { } { -{ /* Inline model#MClass#mclass_type (var_objclass) on */ -var15 = var_objclass->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var15 == NULL)) { +{ /* Inline model$MClass$mclass_type (var_objclass) on */ +var19 = var_objclass->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var19 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 507); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 520); fatal_exit(1); } -var13 = var15; -RET_LABEL14:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } -var_unsafe_type = var13; +var_unsafe_type = var17; } else { } { -var16 = nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(self, var_node, var_unsafe_type, var_name); +var20 = nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(self, var_node, var_unsafe_type, var_name); } -var_mproperty = var16; -if (likely(varonce18!=NULL)) { -var19 = varonce18; +var_mproperty = var20; +if (likely(varonce22!=NULL)) { +var23 = varonce22; } else { -var20 = "new"; -var21 = core__flat___NativeString___to_s_full(var20, 3l, 3l); -var19 = var21; -varonce18 = var19; +var24 = "new"; +var26 = (val*)(3l<<2|1); +var27 = (val*)(3l<<2|1); +var28 = (val*)((long)(0)<<2|3); +var29 = (val*)((long)(0)<<2|3); +var25 = core__flat___CString___to_s_unsafe(var24, var26, var27, var28, var29); +var23 = var25; +varonce22 = var23; } { -var22 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var19); /* == on */ +var30 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var23); /* == on */ } -var_ = var22; -if (var22){ +var_ = var30; +if (var30){ if (var_mproperty == NULL) { -var23 = 1; /* is null */ +var31 = 1; /* is null */ } else { -var23 = 0; /* arg is null but recv is not */ +var31 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mproperty,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_mproperty,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mproperty,var_other) on */ -var28 = var_mproperty == var_other; -var26 = var28; -goto RET_LABEL27; -RET_LABEL27:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_mproperty,var_other) on */ +var36 = var_mproperty == var_other; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } -var24 = var26; -goto RET_LABEL25; -RET_LABEL25:(void)0; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -var23 = var24; +var31 = var32; } -var17 = var23; +var21 = var31; } else { -var17 = var_; +var21 = var_; } -if (var17){ -if (likely(varonce29!=NULL)) { -var30 = varonce29; +if (var21){ +if (likely(varonce37!=NULL)) { +var38 = varonce37; } else { -var31 = "init"; -var32 = core__flat___NativeString___to_s_full(var31, 4l, 4l); -var30 = var32; -varonce29 = var30; +var39 = "init"; +var41 = (val*)(4l<<2|1); +var42 = (val*)(4l<<2|1); +var43 = (val*)((long)(0)<<2|3); +var44 = (val*)((long)(0)<<2|3); +var40 = core__flat___CString___to_s_unsafe(var39, var41, var42, var43, var44); +var38 = var40; +varonce37 = var38; } -var_name = var30; +var_name = var38; { -var33 = nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(self, var_node, var_unsafe_type, var_name); +var45 = nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(self, var_node, var_unsafe_type, var_name); } -var_mproperty = var33; +var_mproperty = var45; } else { } if (var_mproperty == NULL) { -var34 = 1; /* is null */ +var46 = 1; /* is null */ } else { -var34 = 0; /* arg is null but recv is not */ +var46 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mproperty,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_mproperty,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mproperty,var_other) on */ -var39 = var_mproperty == var_other; -var37 = var39; -goto RET_LABEL38; -RET_LABEL38:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_mproperty,var_other) on */ +var51 = var_mproperty == var_other; +var49 = var51; +goto RET_LABEL50; +RET_LABEL50:(void)0; } } -var35 = var37; -goto RET_LABEL36; -RET_LABEL36:(void)0; +var47 = var49; +goto RET_LABEL48; +RET_LABEL48:(void)0; } -var34 = var35; +var46 = var47; } -if (var34){ +if (var46){ if (var_recv_is_self){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var42 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var42 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var54 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var54 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var40 = var42; -RET_LABEL41:(void)0; -} -} -if (unlikely(varonce43==NULL)) { -var44 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String); -if (likely(varonce45!=NULL)) { -var46 = varonce45; -} else { -var47 = "Error: method or variable `"; -var48 = core__flat___NativeString___to_s_full(var47, 27l, 27l); -var46 = var48; -varonce45 = var46; -} -((struct instance_core__NativeArray*)var44)->values[0]=var46; -if (likely(varonce49!=NULL)) { -var50 = varonce49; -} else { -var51 = "` unknown in `"; -var52 = core__flat___NativeString___to_s_full(var51, 14l, 14l); -var50 = var52; -varonce49 = var50; -} -((struct instance_core__NativeArray*)var44)->values[2]=var50; -if (likely(varonce53!=NULL)) { -var54 = varonce53; -} else { -var55 = "`."; -var56 = core__flat___NativeString___to_s_full(var55, 2l, 2l); -var54 = var56; -varonce53 = var54; -} -((struct instance_core__NativeArray*)var44)->values[4]=var54; -} else { -var44 = varonce43; -varonce43 = NULL; -} -((struct instance_core__NativeArray*)var44)->values[1]=var_name; -{ -var57 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_recvtype); /* to_s on */ -} -((struct instance_core__NativeArray*)var44)->values[3]=var57; -{ -var58 = ((val*(*)(val* self))(var44->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var44); /* native_to_s on */ +var52 = var54; +RET_LABEL53:(void)0; } -varonce43 = var44; -{ -nitc___nitc__ModelBuilder___error(var40, var_node, var58); /* Direct call modelbuilder_base#ModelBuilder#error on */ } +if (unlikely(varonce55==NULL)) { +var56 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String); +if (likely(varonce57!=NULL)) { +var58 = varonce57; } else { -{ -var59 = ((short int(*)(val* self))(var_recvtype->class->vft[COLOR_nitc__model__MType__need_anchor]))(var_recvtype); /* need_anchor on */ -} -if (var59){ -{ -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var62 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var62 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); -fatal_exit(1); -} -var60 = var62; -RET_LABEL61:(void)0; -} +var59 = "Error: method or variable `"; +var61 = (val*)(27l<<2|1); +var62 = (val*)(27l<<2|1); +var63 = (val*)((long)(0)<<2|3); +var64 = (val*)((long)(0)<<2|3); +var60 = core__flat___CString___to_s_unsafe(var59, var61, var62, var63, var64); +var58 = var60; +varonce57 = var58; } -if (unlikely(varonce63==NULL)) { -var64 = NEW_core__NativeArray(7l, &type_core__NativeArray__core__String); +((struct instance_core__NativeArray*)var56)->values[0]=var58; if (likely(varonce65!=NULL)) { var66 = varonce65; } else { -var67 = "Error: method `"; -var68 = core__flat___NativeString___to_s_full(var67, 15l, 15l); +var67 = "` unknown in `"; +var69 = (val*)(14l<<2|1); +var70 = (val*)(14l<<2|1); +var71 = (val*)((long)(0)<<2|3); +var72 = (val*)((long)(0)<<2|3); +var68 = core__flat___CString___to_s_unsafe(var67, var69, var70, var71, var72); var66 = var68; varonce65 = var66; } -((struct instance_core__NativeArray*)var64)->values[0]=var66; -if (likely(varonce69!=NULL)) { -var70 = varonce69; -} else { -var71 = "` does not exists in `"; -var72 = core__flat___NativeString___to_s_full(var71, 22l, 22l); -var70 = var72; -varonce69 = var70; -} -((struct instance_core__NativeArray*)var64)->values[2]=var70; +((struct instance_core__NativeArray*)var56)->values[2]=var66; if (likely(varonce73!=NULL)) { var74 = varonce73; } else { -var75 = ": "; -var76 = core__flat___NativeString___to_s_full(var75, 2l, 2l); +var75 = "`."; +var77 = (val*)(2l<<2|1); +var78 = (val*)(2l<<2|1); +var79 = (val*)((long)(0)<<2|3); +var80 = (val*)((long)(0)<<2|3); +var76 = core__flat___CString___to_s_unsafe(var75, var77, var78, var79, var80); var74 = var76; varonce73 = var74; } -((struct instance_core__NativeArray*)var64)->values[4]=var74; -if (likely(varonce77!=NULL)) { -var78 = varonce77; +((struct instance_core__NativeArray*)var56)->values[4]=var74; } else { -var79 = "`."; -var80 = core__flat___NativeString___to_s_full(var79, 2l, 2l); -var78 = var80; -varonce77 = var78; +var56 = varonce55; +varonce55 = NULL; } -((struct instance_core__NativeArray*)var64)->values[6]=var78; -} else { -var64 = varonce63; -varonce63 = NULL; -} -((struct instance_core__NativeArray*)var64)->values[1]=var_name; +((struct instance_core__NativeArray*)var56)->values[1]=var_name; { var81 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_recvtype); /* to_s on */ } -((struct instance_core__NativeArray*)var64)->values[3]=var81; +((struct instance_core__NativeArray*)var56)->values[3]=var81; { -var82 = ((val*(*)(val* self))(var_unsafe_type->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_unsafe_type); /* to_s on */ +var82 = ((val*(*)(val* self))(var56->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var56); /* native_to_s on */ } -((struct instance_core__NativeArray*)var64)->values[5]=var82; +varonce55 = var56; { -var83 = ((val*(*)(val* self))(var64->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var64); /* native_to_s on */ +nitc___nitc__ModelBuilder___error(var52, var_node, var82); /* Direct call modelbuilder_base$ModelBuilder$error on */ } -varonce63 = var64; +} else { { -nitc___nitc__ModelBuilder___error(var60, var_node, var83); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var83 = ((short int(*)(val* self))(var_recvtype->class->vft[COLOR_nitc__model__MType__need_anchor]))(var_recvtype); /* need_anchor on */ } -} else { +if (var83){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ var86 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var86 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -3172,49 +3791,151 @@ RET_LABEL85:(void)0; } } if (unlikely(varonce87==NULL)) { -var88 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String); +var88 = NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String); if (likely(varonce89!=NULL)) { var90 = varonce89; } else { var91 = "Error: method `"; -var92 = core__flat___NativeString___to_s_full(var91, 15l, 15l); +var93 = (val*)(15l<<2|1); +var94 = (val*)(15l<<2|1); +var95 = (val*)((long)(0)<<2|3); +var96 = (val*)((long)(0)<<2|3); +var92 = core__flat___CString___to_s_unsafe(var91, var93, var94, var95, var96); var90 = var92; varonce89 = var90; } ((struct instance_core__NativeArray*)var88)->values[0]=var90; -if (likely(varonce93!=NULL)) { -var94 = varonce93; -} else { -var95 = "` does not exists in `"; -var96 = core__flat___NativeString___to_s_full(var95, 22l, 22l); -var94 = var96; -varonce93 = var94; -} -((struct instance_core__NativeArray*)var88)->values[2]=var94; if (likely(varonce97!=NULL)) { var98 = varonce97; } else { -var99 = "`."; -var100 = core__flat___NativeString___to_s_full(var99, 2l, 2l); +var99 = "` does not exists in `"; +var101 = (val*)(22l<<2|1); +var102 = (val*)(22l<<2|1); +var103 = (val*)((long)(0)<<2|3); +var104 = (val*)((long)(0)<<2|3); +var100 = core__flat___CString___to_s_unsafe(var99, var101, var102, var103, var104); var98 = var100; varonce97 = var98; } -((struct instance_core__NativeArray*)var88)->values[4]=var98; +((struct instance_core__NativeArray*)var88)->values[2]=var98; +if (likely(varonce105!=NULL)) { +var106 = varonce105; +} else { +var107 = ": "; +var109 = (val*)(2l<<2|1); +var110 = (val*)(2l<<2|1); +var111 = (val*)((long)(0)<<2|3); +var112 = (val*)((long)(0)<<2|3); +var108 = core__flat___CString___to_s_unsafe(var107, var109, var110, var111, var112); +var106 = var108; +varonce105 = var106; +} +((struct instance_core__NativeArray*)var88)->values[4]=var106; +if (likely(varonce113!=NULL)) { +var114 = varonce113; +} else { +var115 = "`."; +var117 = (val*)(2l<<2|1); +var118 = (val*)(2l<<2|1); +var119 = (val*)((long)(0)<<2|3); +var120 = (val*)((long)(0)<<2|3); +var116 = core__flat___CString___to_s_unsafe(var115, var117, var118, var119, var120); +var114 = var116; +varonce113 = var114; +} +((struct instance_core__NativeArray*)var88)->values[6]=var114; } else { var88 = varonce87; varonce87 = NULL; } ((struct instance_core__NativeArray*)var88)->values[1]=var_name; { -var101 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_recvtype); /* to_s on */ +var121 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_recvtype); /* to_s on */ } -((struct instance_core__NativeArray*)var88)->values[3]=var101; +((struct instance_core__NativeArray*)var88)->values[3]=var121; { -var102 = ((val*(*)(val* self))(var88->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var88); /* native_to_s on */ +var122 = ((val*(*)(val* self))(var_unsafe_type->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_unsafe_type); /* to_s on */ +} +((struct instance_core__NativeArray*)var88)->values[5]=var122; +{ +var123 = ((val*(*)(val* self))(var88->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var88); /* native_to_s on */ } varonce87 = var88; { -nitc___nitc__ModelBuilder___error(var84, var_node, var102); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var84, var_node, var123); /* Direct call modelbuilder_base$ModelBuilder$error on */ +} +} else { +{ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var126 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var126 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); +fatal_exit(1); +} +var124 = var126; +RET_LABEL125:(void)0; +} +} +if (unlikely(varonce127==NULL)) { +var128 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String); +if (likely(varonce129!=NULL)) { +var130 = varonce129; +} else { +var131 = "Error: method `"; +var133 = (val*)(15l<<2|1); +var134 = (val*)(15l<<2|1); +var135 = (val*)((long)(0)<<2|3); +var136 = (val*)((long)(0)<<2|3); +var132 = core__flat___CString___to_s_unsafe(var131, var133, var134, var135, var136); +var130 = var132; +varonce129 = var130; +} +((struct instance_core__NativeArray*)var128)->values[0]=var130; +if (likely(varonce137!=NULL)) { +var138 = varonce137; +} else { +var139 = "` does not exists in `"; +var141 = (val*)(22l<<2|1); +var142 = (val*)(22l<<2|1); +var143 = (val*)((long)(0)<<2|3); +var144 = (val*)((long)(0)<<2|3); +var140 = core__flat___CString___to_s_unsafe(var139, var141, var142, var143, var144); +var138 = var140; +varonce137 = var138; +} +((struct instance_core__NativeArray*)var128)->values[2]=var138; +if (likely(varonce145!=NULL)) { +var146 = varonce145; +} else { +var147 = "`."; +var149 = (val*)(2l<<2|1); +var150 = (val*)(2l<<2|1); +var151 = (val*)((long)(0)<<2|3); +var152 = (val*)((long)(0)<<2|3); +var148 = core__flat___CString___to_s_unsafe(var147, var149, var150, var151, var152); +var146 = var148; +varonce145 = var146; +} +((struct instance_core__NativeArray*)var128)->values[4]=var146; +} else { +var128 = varonce127; +varonce127 = NULL; +} +((struct instance_core__NativeArray*)var128)->values[1]=var_name; +{ +var153 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_recvtype); /* to_s on */ +} +((struct instance_core__NativeArray*)var128)->values[3]=var153; +{ +var154 = ((val*(*)(val* self))(var128->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var128); /* native_to_s on */ +} +varonce127 = var128; +{ +nitc___nitc__ModelBuilder___error(var124, var_node, var154); /* Direct call modelbuilder_base$ModelBuilder$error on */ } } } @@ -3223,1055 +3944,1224 @@ goto RET_LABEL; } else { } /* isa MMethod */ -cltype104 = type_nitc__MMethod.color; -idtype105 = type_nitc__MMethod.id; -if(cltype104 >= var_mproperty->type->table_size) { -var103 = 0; +cltype156 = type_nitc__MMethod.color; +idtype157 = type_nitc__MMethod.id; +if(cltype156 >= var_mproperty->type->table_size) { +var155 = 0; } else { -var103 = var_mproperty->type->type_table[cltype104] == idtype105; +var155 = var_mproperty->type->type_table[cltype156] == idtype157; +} +if (unlikely(!var155)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -if (unlikely(!var103)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 332); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 336); fatal_exit(1); } /* isa MNullType */ -cltype108 = type_nitc__MNullType.color; -idtype109 = type_nitc__MNullType.id; -if(cltype108 >= var_recvtype->type->table_size) { -var107 = 0; +cltype160 = type_nitc__MNullType.color; +idtype161 = type_nitc__MNullType.id; +if(cltype160 >= var_recvtype->type->table_size) { +var159 = 0; } else { -var107 = var_recvtype->type->type_table[cltype108] == idtype109; +var159 = var_recvtype->type->type_table[cltype160] == idtype161; } -var_110 = var107; -if (var107){ +var_162 = var159; +if (var159){ { -var111 = nitc___nitc__MMethod___is_null_safe(var_mproperty); +var163 = nitc___nitc__MMethod___is_null_safe(var_mproperty); } -var112 = !var111; -var106 = var112; +var164 = !var163; +var158 = var164; } else { -var106 = var_110; +var158 = var_162; } -if (var106){ -if (unlikely(varonce113==NULL)) { -var114 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce115!=NULL)) { -var116 = varonce115; +if (var158){ +if (unlikely(varonce165==NULL)) { +var166 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce167!=NULL)) { +var168 = varonce167; } else { -var117 = "Error: method `"; -var118 = core__flat___NativeString___to_s_full(var117, 15l, 15l); -var116 = var118; -varonce115 = var116; +var169 = "Error: method `"; +var171 = (val*)(15l<<2|1); +var172 = (val*)(15l<<2|1); +var173 = (val*)((long)(0)<<2|3); +var174 = (val*)((long)(0)<<2|3); +var170 = core__flat___CString___to_s_unsafe(var169, var171, var172, var173, var174); +var168 = var170; +varonce167 = var168; } -((struct instance_core__NativeArray*)var114)->values[0]=var116; -if (likely(varonce119!=NULL)) { -var120 = varonce119; +((struct instance_core__NativeArray*)var166)->values[0]=var168; +if (likely(varonce175!=NULL)) { +var176 = varonce175; } else { -var121 = "` called on `null`."; -var122 = core__flat___NativeString___to_s_full(var121, 19l, 19l); -var120 = var122; -varonce119 = var120; +var177 = "` called on `null`."; +var179 = (val*)(19l<<2|1); +var180 = (val*)(19l<<2|1); +var181 = (val*)((long)(0)<<2|3); +var182 = (val*)((long)(0)<<2|3); +var178 = core__flat___CString___to_s_unsafe(var177, var179, var180, var181, var182); +var176 = var178; +varonce175 = var176; } -((struct instance_core__NativeArray*)var114)->values[2]=var120; +((struct instance_core__NativeArray*)var166)->values[2]=var176; } else { -var114 = varonce113; -varonce113 = NULL; +var166 = varonce165; +varonce165 = NULL; } -((struct instance_core__NativeArray*)var114)->values[1]=var_name; +((struct instance_core__NativeArray*)var166)->values[1]=var_name; { -var123 = ((val*(*)(val* self))(var114->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var114); /* native_to_s on */ +var183 = ((val*(*)(val* self))(var166->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var166); /* native_to_s on */ } -varonce113 = var114; +varonce165 = var166; { -nitc__typing___nitc__typing__TypeVisitor___error(self, var_node, var123); /* Direct call typing#TypeVisitor#error on */ +nitc__typing___nitc__typing__TypeVisitor___error(self, var_node, var183); /* Direct call typing$TypeVisitor$error on */ } var = ((val*)NULL); goto RET_LABEL; } else { /* isa MNullableType */ -cltype126 = type_nitc__MNullableType.color; -idtype127 = type_nitc__MNullableType.id; -if(cltype126 >= var_unsafe_type->type->table_size) { -var125 = 0; +cltype186 = type_nitc__MNullableType.color; +idtype187 = type_nitc__MNullableType.id; +if(cltype186 >= var_unsafe_type->type->table_size) { +var185 = 0; } else { -var125 = var_unsafe_type->type->type_table[cltype126] == idtype127; +var185 = var_unsafe_type->type->type_table[cltype186] == idtype187; } -var_128 = var125; -if (var125){ +var_188 = var185; +if (var185){ { -var129 = nitc___nitc__MMethod___is_null_safe(var_mproperty); +var189 = nitc___nitc__MMethod___is_null_safe(var_mproperty); } -var130 = !var129; -var124 = var130; +var190 = !var189; +var184 = var190; } else { -var124 = var_128; +var184 = var_188; } -if (var124){ +if (var184){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var133 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var133 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var193 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var193 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var131 = var133; -RET_LABEL132:(void)0; +var191 = var193; +RET_LABEL192:(void)0; } } -if (likely(varonce134!=NULL)) { -var135 = varonce134; +if (likely(varonce194!=NULL)) { +var195 = varonce194; } else { -var136 = "call-on-nullable"; -var137 = core__flat___NativeString___to_s_full(var136, 16l, 16l); -var135 = var137; -varonce134 = var135; +var196 = "call-on-nullable"; +var198 = (val*)(16l<<2|1); +var199 = (val*)(16l<<2|1); +var200 = (val*)((long)(0)<<2|3); +var201 = (val*)((long)(0)<<2|3); +var197 = core__flat___CString___to_s_unsafe(var196, var198, var199, var200, var201); +var195 = var197; +varonce194 = var195; } -if (unlikely(varonce138==NULL)) { -var139 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce140!=NULL)) { -var141 = varonce140; +if (unlikely(varonce202==NULL)) { +var203 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce204!=NULL)) { +var205 = varonce204; } else { -var142 = "Warning: method call on a nullable receiver `"; -var143 = core__flat___NativeString___to_s_full(var142, 45l, 45l); -var141 = var143; -varonce140 = var141; +var206 = "Warning: method call on a nullable receiver `"; +var208 = (val*)(45l<<2|1); +var209 = (val*)(45l<<2|1); +var210 = (val*)((long)(0)<<2|3); +var211 = (val*)((long)(0)<<2|3); +var207 = core__flat___CString___to_s_unsafe(var206, var208, var209, var210, var211); +var205 = var207; +varonce204 = var205; } -((struct instance_core__NativeArray*)var139)->values[0]=var141; -if (likely(varonce144!=NULL)) { -var145 = varonce144; +((struct instance_core__NativeArray*)var203)->values[0]=var205; +if (likely(varonce212!=NULL)) { +var213 = varonce212; } else { -var146 = "`."; -var147 = core__flat___NativeString___to_s_full(var146, 2l, 2l); -var145 = var147; -varonce144 = var145; +var214 = "`."; +var216 = (val*)(2l<<2|1); +var217 = (val*)(2l<<2|1); +var218 = (val*)((long)(0)<<2|3); +var219 = (val*)((long)(0)<<2|3); +var215 = core__flat___CString___to_s_unsafe(var214, var216, var217, var218, var219); +var213 = var215; +varonce212 = var213; } -((struct instance_core__NativeArray*)var139)->values[2]=var145; +((struct instance_core__NativeArray*)var203)->values[2]=var213; } else { -var139 = varonce138; -varonce138 = NULL; +var203 = varonce202; +varonce202 = NULL; } { -var148 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_recvtype); /* to_s on */ +var220 = ((val*(*)(val* self))(var_recvtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_recvtype); /* to_s on */ } -((struct instance_core__NativeArray*)var139)->values[1]=var148; +((struct instance_core__NativeArray*)var203)->values[1]=var220; { -var149 = ((val*(*)(val* self))(var139->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var139); /* native_to_s on */ +var221 = ((val*(*)(val* self))(var203->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var203); /* native_to_s on */ } -varonce138 = var139; +varonce202 = var203; { -nitc___nitc__ModelBuilder___advice(var131, var_node, var135, var149); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +nitc___nitc__ModelBuilder___advice(var191, var_node, var195, var221); /* Direct call modelbuilder_base$ModelBuilder$advice on */ } } else { } } { -{ /* Inline typing#TypeVisitor#is_toplevel_context (self) on */ -var154 = self->attrs[COLOR_nitc__typing__TypeVisitor___is_toplevel_context].s; /* _is_toplevel_context on */ -var152 = var154; -RET_LABEL153:(void)0; +{ /* Inline typing$TypeVisitor$is_toplevel_context (self) on */ +var226 = self->attrs[COLOR_nitc__typing__TypeVisitor___is_toplevel_context].s; /* _is_toplevel_context on */ +var224 = var226; +RET_LABEL225:(void)0; } } -var_155 = var152; -if (var152){ -var151 = var_recv_is_self; +var_227 = var224; +if (var224){ +var223 = var_recv_is_self; } else { -var151 = var_155; +var223 = var_227; } -var_156 = var151; -if (var151){ +var_228 = var223; +if (var223){ { -{ /* Inline model#MMethod#is_toplevel (var_mproperty) on */ -var159 = var_mproperty->attrs[COLOR_nitc__model__MMethod___is_toplevel].s; /* _is_toplevel on */ -var157 = var159; -RET_LABEL158:(void)0; +{ /* Inline model$MMethod$is_toplevel (var_mproperty) on */ +var231 = var_mproperty->attrs[COLOR_nitc__model__MMethod___is_toplevel].s; /* _is_toplevel on */ +var229 = var231; +RET_LABEL230:(void)0; } } -var160 = !var157; -var150 = var160; +var232 = !var229; +var222 = var232; } else { -var150 = var_156; +var222 = var_228; } -if (var150){ -if (unlikely(varonce161==NULL)) { -var162 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce163!=NULL)) { -var164 = varonce163; +if (var222){ +if (unlikely(varonce233==NULL)) { +var234 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce235!=NULL)) { +var236 = varonce235; } else { -var165 = "Error: `"; -var166 = core__flat___NativeString___to_s_full(var165, 8l, 8l); -var164 = var166; -varonce163 = var164; +var237 = "Error: `"; +var239 = (val*)(8l<<2|1); +var240 = (val*)(8l<<2|1); +var241 = (val*)((long)(0)<<2|3); +var242 = (val*)((long)(0)<<2|3); +var238 = core__flat___CString___to_s_unsafe(var237, var239, var240, var241, var242); +var236 = var238; +varonce235 = var236; } -((struct instance_core__NativeArray*)var162)->values[0]=var164; -if (likely(varonce167!=NULL)) { -var168 = varonce167; +((struct instance_core__NativeArray*)var234)->values[0]=var236; +if (likely(varonce243!=NULL)) { +var244 = varonce243; } else { -var169 = "` is not a top-level method, thus need a receiver."; -var170 = core__flat___NativeString___to_s_full(var169, 50l, 50l); -var168 = var170; -varonce167 = var168; +var245 = "` is not a top-level method, thus need a receiver."; +var247 = (val*)(50l<<2|1); +var248 = (val*)(50l<<2|1); +var249 = (val*)((long)(0)<<2|3); +var250 = (val*)((long)(0)<<2|3); +var246 = core__flat___CString___to_s_unsafe(var245, var247, var248, var249, var250); +var244 = var246; +varonce243 = var244; } -((struct instance_core__NativeArray*)var162)->values[2]=var168; +((struct instance_core__NativeArray*)var234)->values[2]=var244; } else { -var162 = varonce161; -varonce161 = NULL; +var234 = varonce233; +varonce233 = NULL; } -((struct instance_core__NativeArray*)var162)->values[1]=var_name; +((struct instance_core__NativeArray*)var234)->values[1]=var_name; { -var171 = ((val*(*)(val* self))(var162->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var162); /* native_to_s on */ +var251 = ((val*(*)(val* self))(var234->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var234); /* native_to_s on */ } -varonce161 = var162; +varonce233 = var234; { -nitc__typing___nitc__typing__TypeVisitor___error(self, var_node, var171); /* Direct call typing#TypeVisitor#error on */ +nitc__typing___nitc__typing__TypeVisitor___error(self, var_node, var251); /* Direct call typing$TypeVisitor$error on */ } } else { } -var173 = !var_recv_is_self; -var_174 = var173; -if (var173){ +var253 = !var_recv_is_self; +var_254 = var253; +if (var253){ { -{ /* Inline model#MMethod#is_toplevel (var_mproperty) on */ -var177 = var_mproperty->attrs[COLOR_nitc__model__MMethod___is_toplevel].s; /* _is_toplevel on */ -var175 = var177; -RET_LABEL176:(void)0; -} +{ /* Inline model$MMethod$is_toplevel (var_mproperty) on */ +var257 = var_mproperty->attrs[COLOR_nitc__model__MMethod___is_toplevel].s; /* _is_toplevel on */ +var255 = var257; +RET_LABEL256:(void)0; } -var172 = var175; -} else { -var172 = var_174; } -if (var172){ -if (unlikely(varonce178==NULL)) { -var179 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce180!=NULL)) { -var181 = varonce180; +var252 = var255; } else { -var182 = "Error: cannot call `"; -var183 = core__flat___NativeString___to_s_full(var182, 20l, 20l); -var181 = var183; -varonce180 = var181; +var252 = var_254; } -((struct instance_core__NativeArray*)var179)->values[0]=var181; -if (likely(varonce184!=NULL)) { -var185 = varonce184; +if (var252){ +if (unlikely(varonce258==NULL)) { +var259 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce260!=NULL)) { +var261 = varonce260; } else { -var186 = "`, a top-level method, with a receiver."; -var187 = core__flat___NativeString___to_s_full(var186, 39l, 39l); -var185 = var187; -varonce184 = var185; +var262 = "Error: cannot call `"; +var264 = (val*)(20l<<2|1); +var265 = (val*)(20l<<2|1); +var266 = (val*)((long)(0)<<2|3); +var267 = (val*)((long)(0)<<2|3); +var263 = core__flat___CString___to_s_unsafe(var262, var264, var265, var266, var267); +var261 = var263; +varonce260 = var261; +} +((struct instance_core__NativeArray*)var259)->values[0]=var261; +if (likely(varonce268!=NULL)) { +var269 = varonce268; +} else { +var270 = "`, a top-level method, with a receiver."; +var272 = (val*)(39l<<2|1); +var273 = (val*)(39l<<2|1); +var274 = (val*)((long)(0)<<2|3); +var275 = (val*)((long)(0)<<2|3); +var271 = core__flat___CString___to_s_unsafe(var270, var272, var273, var274, var275); +var269 = var271; +varonce268 = var269; } -((struct instance_core__NativeArray*)var179)->values[2]=var185; +((struct instance_core__NativeArray*)var259)->values[2]=var269; } else { -var179 = varonce178; -varonce178 = NULL; +var259 = varonce258; +varonce258 = NULL; } -((struct instance_core__NativeArray*)var179)->values[1]=var_name; +((struct instance_core__NativeArray*)var259)->values[1]=var_name; { -var188 = ((val*(*)(val* self))(var179->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var179); /* native_to_s on */ +var276 = ((val*(*)(val* self))(var259->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var259); /* native_to_s on */ } -varonce178 = var179; +varonce258 = var259; { -nitc__typing___nitc__typing__TypeVisitor___error(self, var_node, var188); /* Direct call typing#TypeVisitor#error on */ +nitc__typing___nitc__typing__TypeVisitor___error(self, var_node, var276); /* Direct call typing$TypeVisitor$error on */ } } else { } { -{ /* Inline model#MProperty#visibility (var_mproperty) on */ -var194 = var_mproperty->attrs[COLOR_nitc__model__MProperty___visibility].val; /* _visibility on */ -if (unlikely(var194 == NULL)) { +{ /* Inline model$MProperty$visibility (var_mproperty) on */ +var282 = var_mproperty->attrs[COLOR_nitc__model__MProperty___visibility].val; /* _visibility on */ +if (unlikely(var282 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1967); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2078); fatal_exit(1); } -var192 = var194; -RET_LABEL193:(void)0; +var280 = var282; +RET_LABEL281:(void)0; } } -var195 = glob_sys; +var283 = glob_sys; { -var196 = nitc__model_base___core__Sys___protected_visibility(var195); +var284 = nitc__model_base___core__Sys___protected_visibility(var283); } { -{ /* Inline kernel#Object#== (var192,var196) on */ -var_other = var196; +{ /* Inline kernel$Object$== (var280,var284) on */ +var_other = var284; { -{ /* Inline kernel#Object#is_same_instance (var192,var_other) on */ -var201 = var192 == var_other; -var199 = var201; -goto RET_LABEL200; -RET_LABEL200:(void)0; +{ /* Inline kernel$Object$is_same_instance (var280,var_other) on */ +var289 = var280 == var_other; +var287 = var289; +goto RET_LABEL288; +RET_LABEL288:(void)0; } } -var197 = var199; -goto RET_LABEL198; -RET_LABEL198:(void)0; +var285 = var287; +goto RET_LABEL286; +RET_LABEL286:(void)0; } } -var_202 = var197; -if (var197){ -var203 = !var_recv_is_self; -var191 = var203; +var_290 = var285; +if (var285){ +var291 = !var_recv_is_self; +var279 = var291; } else { -var191 = var_202; +var279 = var_290; } -var_204 = var191; -if (var191){ +var_292 = var279; +if (var279){ { -{ /* Inline typing#TypeVisitor#mmodule (self) on */ -var207 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ -if (unlikely(var207 == NULL)) { +{ /* Inline typing$TypeVisitor$mmodule (self) on */ +var295 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ +if (unlikely(var295 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 37); fatal_exit(1); } -var205 = var207; -RET_LABEL206:(void)0; +var293 = var295; +RET_LABEL294:(void)0; } } { -{ /* Inline model#MProperty#intro_mclassdef (var_mproperty) on */ -var210 = var_mproperty->attrs[COLOR_nitc__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ -if (unlikely(var210 == NULL)) { +{ /* Inline model$MProperty$intro_mclassdef (var_mproperty) on */ +var298 = var_mproperty->attrs[COLOR_nitc__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ +if (unlikely(var298 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1946); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2042); fatal_exit(1); } -var208 = var210; -RET_LABEL209:(void)0; +var296 = var298; +RET_LABEL297:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var208) on */ -var213 = var208->attrs[COLOR_nitc__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var213 == NULL)) { +{ /* Inline model$MClassDef$mmodule (var296) on */ +var301 = var296->attrs[COLOR_nitc__model__MClassDef___mmodule].val; /* _mmodule on */ +if (unlikely(var301 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 573); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 588); fatal_exit(1); } -var211 = var213; -RET_LABEL212:(void)0; +var299 = var301; +RET_LABEL300:(void)0; } } { -var214 = nitc___nitc__MModule___visibility_for(var205, var211); +var302 = nitc___nitc__MModule___visibility_for(var293, var299); } -var215 = glob_sys; +var303 = glob_sys; { -var216 = nitc__model_base___core__Sys___intrude_visibility(var215); +var304 = nitc__model_base___core__Sys___intrude_visibility(var303); } { -var217 = nitc___nitc__MVisibility___core__kernel__Comparable___60d(var214, var216); +var305 = nitc___nitc__MVisibility___core__kernel__Comparable___60d(var302, var304); } -var190 = var217; +var278 = var305; } else { -var190 = var_204; +var278 = var_292; } -var_218 = var190; -if (var190){ +var_306 = var278; +if (var278){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var221 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var221 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var309 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var309 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var219 = var221; -RET_LABEL220:(void)0; +var307 = var309; +RET_LABEL308:(void)0; } } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var219) on */ -var224 = var219->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var224 == NULL)) { +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (var307) on */ +var312 = var307->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var312 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 47); fatal_exit(1); } -var222 = var224; -RET_LABEL223:(void)0; +var310 = var312; +RET_LABEL311:(void)0; } } { -{ /* Inline modelbuilder#ToolContext#opt_ignore_visibility (var222) on */ -var227 = var222->attrs[COLOR_nitc__modelbuilder__ToolContext___opt_ignore_visibility].val; /* _opt_ignore_visibility on */ -if (unlikely(var227 == NULL)) { +{ /* Inline modelbuilder$ToolContext$opt_ignore_visibility (var310) on */ +var315 = var310->attrs[COLOR_nitc__modelbuilder__ToolContext___opt_ignore_visibility].val; /* _opt_ignore_visibility on */ +if (unlikely(var315 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_ignore_visibility"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder, 27); fatal_exit(1); } -var225 = var227; -RET_LABEL226:(void)0; +var313 = var315; +RET_LABEL314:(void)0; } } { -{ /* Inline opts#Option#value (var225) on */ -var230 = var225->attrs[COLOR_opts__Option___value].val; /* _value on */ -var228 = var230; -RET_LABEL229:(void)0; +{ /* Inline opts$Option$value (var313) on */ +var318 = var313->attrs[COLOR_opts__Option___value].val; /* _value on */ +var316 = var318; +RET_LABEL317:(void)0; } } -var231 = (short int)((long)(var228)>>2); -var232 = !var231; -var189 = var232; +var319 = (short int)((long)(var316)>>2); +var320 = !var319; +var277 = var320; } else { -var189 = var_218; +var277 = var_306; } -if (var189){ +if (var277){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var235 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var235 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var323 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var323 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var233 = var235; -RET_LABEL234:(void)0; +var321 = var323; +RET_LABEL322:(void)0; } } -if (unlikely(varonce236==NULL)) { -var237 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce238!=NULL)) { -var239 = varonce238; +if (unlikely(varonce324==NULL)) { +var325 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce326!=NULL)) { +var327 = varonce326; } else { -var240 = "Error: method `"; -var241 = core__flat___NativeString___to_s_full(var240, 15l, 15l); -var239 = var241; -varonce238 = var239; +var328 = "Error: method `"; +var330 = (val*)(15l<<2|1); +var331 = (val*)(15l<<2|1); +var332 = (val*)((long)(0)<<2|3); +var333 = (val*)((long)(0)<<2|3); +var329 = core__flat___CString___to_s_unsafe(var328, var330, var331, var332, var333); +var327 = var329; +varonce326 = var327; } -((struct instance_core__NativeArray*)var237)->values[0]=var239; -if (likely(varonce242!=NULL)) { -var243 = varonce242; +((struct instance_core__NativeArray*)var325)->values[0]=var327; +if (likely(varonce334!=NULL)) { +var335 = varonce334; } else { -var244 = "` is protected and can only accessed by `self`."; -var245 = core__flat___NativeString___to_s_full(var244, 47l, 47l); -var243 = var245; -varonce242 = var243; +var336 = "` is protected and can only accessed by `self`."; +var338 = (val*)(47l<<2|1); +var339 = (val*)(47l<<2|1); +var340 = (val*)((long)(0)<<2|3); +var341 = (val*)((long)(0)<<2|3); +var337 = core__flat___CString___to_s_unsafe(var336, var338, var339, var340, var341); +var335 = var337; +varonce334 = var335; } -((struct instance_core__NativeArray*)var237)->values[2]=var243; +((struct instance_core__NativeArray*)var325)->values[2]=var335; } else { -var237 = varonce236; -varonce236 = NULL; +var325 = varonce324; +varonce324 = NULL; } -((struct instance_core__NativeArray*)var237)->values[1]=var_name; +((struct instance_core__NativeArray*)var325)->values[1]=var_name; { -var246 = ((val*(*)(val* self))(var237->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var237); /* native_to_s on */ +var342 = ((val*(*)(val* self))(var325->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var325); /* native_to_s on */ } -varonce236 = var237; +varonce324 = var325; { -nitc___nitc__ModelBuilder___error(var233, var_node, var246); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var321, var_node, var342); /* Direct call modelbuilder_base$ModelBuilder$error on */ } var = ((val*)NULL); goto RET_LABEL; } else { } { -{ /* Inline mdoc#MEntity#deprecation (var_mproperty) on */ -var249 = var_mproperty->attrs[COLOR_nitc__mdoc__MEntity___deprecation].val; /* _deprecation on */ -var247 = var249; -RET_LABEL248:(void)0; +{ /* Inline mdoc$MEntity$deprecation (var_mproperty) on */ +var345 = var_mproperty->attrs[COLOR_nitc__mdoc__MEntity___deprecation].val; /* _deprecation on */ +var343 = var345; +RET_LABEL344:(void)0; } } -var_info = var247; +var_info = var343; if (var_info == NULL) { -var251 = 0; /* is null */ +var347 = 0; /* is null */ } else { -var251 = 1; /* arg is null and recv is not */ +var347 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_info,((val*)NULL)) on */ -var_other254 = ((val*)NULL); +{ /* Inline kernel$Object$!= (var_info,((val*)NULL)) on */ +var_other350 = ((val*)NULL); { -var255 = ((short int(*)(val* self, val* p0))(var_info->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_info, var_other254); /* == on */ +var351 = ((short int(*)(val* self, val* p0))(var_info->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_info, var_other350); /* == on */ } -var256 = !var255; -var252 = var256; -goto RET_LABEL253; -RET_LABEL253:(void)0; +var352 = !var351; +var348 = var352; +goto RET_LABEL349; +RET_LABEL349:(void)0; } -var251 = var252; +var347 = var348; } -var_257 = var251; -if (var251){ +var_353 = var347; +if (var347){ { -{ /* Inline typing#TypeVisitor#mpropdef (self) on */ -var260 = self->attrs[COLOR_nitc__typing__TypeVisitor___mpropdef].val; /* _mpropdef on */ -var258 = var260; -RET_LABEL259:(void)0; +{ /* Inline typing$TypeVisitor$mpropdef (self) on */ +var356 = self->attrs[COLOR_nitc__typing__TypeVisitor___mpropdef].val; /* _mpropdef on */ +var354 = var356; +RET_LABEL355:(void)0; } } -if (var258 == NULL) { +if (var354 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 355); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 359); fatal_exit(1); } else { -{ /* Inline model#MPropDef#mproperty (var258) on */ -if (unlikely(var258 == NULL)) { +{ /* Inline model$MPropDef$mproperty (var354) on */ +if (unlikely(var354 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2230); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2357); fatal_exit(1); } -var263 = var258->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var263 == NULL)) { +var359 = var354->attrs[COLOR_nitc__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var359 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2230); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2357); fatal_exit(1); } -var261 = var263; -RET_LABEL262:(void)0; +var357 = var359; +RET_LABEL358:(void)0; } } { -{ /* Inline mdoc#MEntity#deprecation (var261) on */ -var266 = var261->attrs[COLOR_nitc__mdoc__MEntity___deprecation].val; /* _deprecation on */ -var264 = var266; -RET_LABEL265:(void)0; +{ /* Inline mdoc$MEntity$deprecation (var357) on */ +var362 = var357->attrs[COLOR_nitc__mdoc__MEntity___deprecation].val; /* _deprecation on */ +var360 = var362; +RET_LABEL361:(void)0; } } -if (var264 == NULL) { -var267 = 1; /* is null */ +if (var360 == NULL) { +var363 = 1; /* is null */ } else { -var267 = 0; /* arg is null but recv is not */ +var363 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var264,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var360,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var264,var_other) on */ -var272 = var264 == var_other; -var270 = var272; -goto RET_LABEL271; -RET_LABEL271:(void)0; +{ /* Inline kernel$Object$is_same_instance (var360,var_other) on */ +var368 = var360 == var_other; +var366 = var368; +goto RET_LABEL367; +RET_LABEL367:(void)0; } } -var268 = var270; -goto RET_LABEL269; -RET_LABEL269:(void)0; +var364 = var366; +goto RET_LABEL365; +RET_LABEL365:(void)0; } -var267 = var268; +var363 = var364; } -var250 = var267; +var346 = var363; } else { -var250 = var_257; +var346 = var_353; } -if (var250){ +if (var346){ { -{ /* Inline mdoc#MDeprecationInfo#mdoc (var_info) on */ -var275 = var_info->attrs[COLOR_nitc__mdoc__MDeprecationInfo___mdoc].val; /* _mdoc on */ -var273 = var275; -RET_LABEL274:(void)0; +{ /* Inline mdoc$MDeprecationInfo$mdoc (var_info) on */ +var371 = var_info->attrs[COLOR_nitc__mdoc__MDeprecationInfo___mdoc].val; /* _mdoc on */ +var369 = var371; +RET_LABEL370:(void)0; } } -var_mdoc = var273; +var_mdoc = var369; if (var_mdoc == NULL) { -var276 = 0; /* is null */ +var372 = 0; /* is null */ } else { -var276 = 1; /* arg is null and recv is not */ +var372 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mdoc,((val*)NULL)) on */ -var_other254 = ((val*)NULL); +{ /* Inline kernel$Object$!= (var_mdoc,((val*)NULL)) on */ +var_other350 = ((val*)NULL); { -var279 = ((short int(*)(val* self, val* p0))(var_mdoc->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mdoc, var_other254); /* == on */ +var375 = ((short int(*)(val* self, val* p0))(var_mdoc->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mdoc, var_other350); /* == on */ } -var280 = !var279; -var277 = var280; -goto RET_LABEL278; -RET_LABEL278:(void)0; +var376 = !var375; +var373 = var376; +goto RET_LABEL374; +RET_LABEL374:(void)0; } -var276 = var277; +var372 = var373; } -if (var276){ +if (var372){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var283 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var283 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var379 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var379 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var281 = var283; -RET_LABEL282:(void)0; +var377 = var379; +RET_LABEL378:(void)0; } } -if (likely(varonce284!=NULL)) { -var285 = varonce284; +if (likely(varonce380!=NULL)) { +var381 = varonce380; } else { -var286 = "deprecated-method"; -var287 = core__flat___NativeString___to_s_full(var286, 17l, 17l); -var285 = var287; -varonce284 = var285; +var382 = "deprecated-method"; +var384 = (val*)(17l<<2|1); +var385 = (val*)(17l<<2|1); +var386 = (val*)((long)(0)<<2|3); +var387 = (val*)((long)(0)<<2|3); +var383 = core__flat___CString___to_s_unsafe(var382, var384, var385, var386, var387); +var381 = var383; +varonce380 = var381; } -if (unlikely(varonce288==NULL)) { -var289 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String); -if (likely(varonce290!=NULL)) { -var291 = varonce290; +if (unlikely(varonce388==NULL)) { +var389 = NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String); +if (likely(varonce390!=NULL)) { +var391 = varonce390; } else { -var292 = "Deprecation Warning: method `"; -var293 = core__flat___NativeString___to_s_full(var292, 29l, 29l); -var291 = var293; -varonce290 = var291; +var392 = "Deprecation Warning: method `"; +var394 = (val*)(29l<<2|1); +var395 = (val*)(29l<<2|1); +var396 = (val*)((long)(0)<<2|3); +var397 = (val*)((long)(0)<<2|3); +var393 = core__flat___CString___to_s_unsafe(var392, var394, var395, var396, var397); +var391 = var393; +varonce390 = var391; } -((struct instance_core__NativeArray*)var289)->values[0]=var291; -if (likely(varonce294!=NULL)) { -var295 = varonce294; +((struct instance_core__NativeArray*)var389)->values[0]=var391; +if (likely(varonce398!=NULL)) { +var399 = varonce398; } else { -var296 = "` is deprecated: "; -var297 = core__flat___NativeString___to_s_full(var296, 17l, 17l); -var295 = var297; -varonce294 = var295; +var400 = "` is deprecated: "; +var402 = (val*)(17l<<2|1); +var403 = (val*)(17l<<2|1); +var404 = (val*)((long)(0)<<2|3); +var405 = (val*)((long)(0)<<2|3); +var401 = core__flat___CString___to_s_unsafe(var400, var402, var403, var404, var405); +var399 = var401; +varonce398 = var399; } -((struct instance_core__NativeArray*)var289)->values[2]=var295; +((struct instance_core__NativeArray*)var389)->values[2]=var399; } else { -var289 = varonce288; -varonce288 = NULL; +var389 = varonce388; +varonce388 = NULL; } -((struct instance_core__NativeArray*)var289)->values[1]=var_name; +((struct instance_core__NativeArray*)var389)->values[1]=var_name; { -{ /* Inline mdoc#MDoc#content (var_mdoc) on */ -var300 = var_mdoc->attrs[COLOR_nitc__mdoc__MDoc___content].val; /* _content on */ -if (unlikely(var300 == NULL)) { +{ /* Inline mdoc$MDoc$content (var_mdoc) on */ +var408 = var_mdoc->attrs[COLOR_nitc__mdoc__MDoc___content].val; /* _content on */ +if (unlikely(var408 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mdoc, 23); fatal_exit(1); } -var298 = var300; -RET_LABEL299:(void)0; +var406 = var408; +RET_LABEL407:(void)0; } } { -var301 = core___core__SequenceRead___Collection__first(var298); +var409 = core___core__SequenceRead___Collection__first(var406); } -((struct instance_core__NativeArray*)var289)->values[3]=var301; +((struct instance_core__NativeArray*)var389)->values[3]=var409; { -var302 = ((val*(*)(val* self))(var289->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var289); /* native_to_s on */ +var410 = ((val*(*)(val* self))(var389->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var389); /* native_to_s on */ } -varonce288 = var289; +varonce388 = var389; { -nitc___nitc__ModelBuilder___warning(var281, var_node, var285, var302); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nitc___nitc__ModelBuilder___warning(var377, var_node, var381, var410); /* Direct call modelbuilder_base$ModelBuilder$warning on */ } } else { { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var305 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var305 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var413 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var413 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var303 = var305; -RET_LABEL304:(void)0; -} -} -if (likely(varonce306!=NULL)) { -var307 = varonce306; -} else { -var308 = "deprecated-method"; -var309 = core__flat___NativeString___to_s_full(var308, 17l, 17l); -var307 = var309; -varonce306 = var307; -} -if (unlikely(varonce310==NULL)) { -var311 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce312!=NULL)) { -var313 = varonce312; -} else { -var314 = "Deprecation Warning: method `"; -var315 = core__flat___NativeString___to_s_full(var314, 29l, 29l); -var313 = var315; -varonce312 = var313; -} -((struct instance_core__NativeArray*)var311)->values[0]=var313; -if (likely(varonce316!=NULL)) { -var317 = varonce316; -} else { -var318 = "` is deprecated."; -var319 = core__flat___NativeString___to_s_full(var318, 16l, 16l); -var317 = var319; -varonce316 = var317; +var411 = var413; +RET_LABEL412:(void)0; +} +} +if (likely(varonce414!=NULL)) { +var415 = varonce414; +} else { +var416 = "deprecated-method"; +var418 = (val*)(17l<<2|1); +var419 = (val*)(17l<<2|1); +var420 = (val*)((long)(0)<<2|3); +var421 = (val*)((long)(0)<<2|3); +var417 = core__flat___CString___to_s_unsafe(var416, var418, var419, var420, var421); +var415 = var417; +varonce414 = var415; +} +if (unlikely(varonce422==NULL)) { +var423 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce424!=NULL)) { +var425 = varonce424; +} else { +var426 = "Deprecation Warning: method `"; +var428 = (val*)(29l<<2|1); +var429 = (val*)(29l<<2|1); +var430 = (val*)((long)(0)<<2|3); +var431 = (val*)((long)(0)<<2|3); +var427 = core__flat___CString___to_s_unsafe(var426, var428, var429, var430, var431); +var425 = var427; +varonce424 = var425; +} +((struct instance_core__NativeArray*)var423)->values[0]=var425; +if (likely(varonce432!=NULL)) { +var433 = varonce432; +} else { +var434 = "` is deprecated."; +var436 = (val*)(16l<<2|1); +var437 = (val*)(16l<<2|1); +var438 = (val*)((long)(0)<<2|3); +var439 = (val*)((long)(0)<<2|3); +var435 = core__flat___CString___to_s_unsafe(var434, var436, var437, var438, var439); +var433 = var435; +varonce432 = var433; } -((struct instance_core__NativeArray*)var311)->values[2]=var317; +((struct instance_core__NativeArray*)var423)->values[2]=var433; } else { -var311 = varonce310; -varonce310 = NULL; +var423 = varonce422; +varonce422 = NULL; } -((struct instance_core__NativeArray*)var311)->values[1]=var_name; +((struct instance_core__NativeArray*)var423)->values[1]=var_name; { -var320 = ((val*(*)(val* self))(var311->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var311); /* native_to_s on */ +var440 = ((val*(*)(val* self))(var423->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var423); /* native_to_s on */ } -varonce310 = var311; +varonce422 = var423; { -nitc___nitc__ModelBuilder___warning(var303, var_node, var307, var320); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nitc___nitc__ModelBuilder___warning(var411, var_node, var415, var440); /* Direct call modelbuilder_base$ModelBuilder$warning on */ } } } else { } { -{ /* Inline typing#TypeVisitor#mmodule (self) on */ -var323 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ -if (unlikely(var323 == NULL)) { +{ /* Inline typing$TypeVisitor$mmodule (self) on */ +var443 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ +if (unlikely(var443 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 37); fatal_exit(1); } -var321 = var323; -RET_LABEL322:(void)0; +var441 = var443; +RET_LABEL442:(void)0; } } { -var324 = nitc___nitc__MProperty___lookup_definitions(var_mproperty, var321, var_unsafe_type); +var444 = nitc___nitc__MProperty___lookup_definitions(var_mproperty, var441, var_unsafe_type); } -var_propdefs = var324; +var_propdefs = var444; { -{ /* Inline array#AbstractArrayRead#length (var_propdefs) on */ -var327 = var_propdefs->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var325 = var327; -RET_LABEL326:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_propdefs) on */ +var447 = var_propdefs->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var445 = var447; +RET_LABEL446:(void)0; } } { -{ /* Inline kernel#Int#== (var325,0l) on */ -var330 = var325 == 0l; -var328 = var330; -goto RET_LABEL329; -RET_LABEL329:(void)0; +{ /* Inline kernel$Int$== (var445,0l) on */ +var450 = var445 == 0l; +var448 = var450; +goto RET_LABEL449; +RET_LABEL449:(void)0; } } -if (var328){ +if (var448){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var333 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var333 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var453 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var453 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var331 = var333; -RET_LABEL332:(void)0; +var451 = var453; +RET_LABEL452:(void)0; } } -if (unlikely(varonce334==NULL)) { -var335 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String); -if (likely(varonce336!=NULL)) { -var337 = varonce336; +if (unlikely(varonce454==NULL)) { +var455 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String); +if (likely(varonce456!=NULL)) { +var457 = varonce456; } else { -var338 = "Type Error: no definition found for property `"; -var339 = core__flat___NativeString___to_s_full(var338, 46l, 46l); -var337 = var339; -varonce336 = var337; +var458 = "Type Error: no definition found for property `"; +var460 = (val*)(46l<<2|1); +var461 = (val*)(46l<<2|1); +var462 = (val*)((long)(0)<<2|3); +var463 = (val*)((long)(0)<<2|3); +var459 = core__flat___CString___to_s_unsafe(var458, var460, var461, var462, var463); +var457 = var459; +varonce456 = var457; } -((struct instance_core__NativeArray*)var335)->values[0]=var337; -if (likely(varonce340!=NULL)) { -var341 = varonce340; +((struct instance_core__NativeArray*)var455)->values[0]=var457; +if (likely(varonce464!=NULL)) { +var465 = varonce464; } else { -var342 = "` in `"; -var343 = core__flat___NativeString___to_s_full(var342, 6l, 6l); -var341 = var343; -varonce340 = var341; +var466 = "` in `"; +var468 = (val*)(6l<<2|1); +var469 = (val*)(6l<<2|1); +var470 = (val*)((long)(0)<<2|3); +var471 = (val*)((long)(0)<<2|3); +var467 = core__flat___CString___to_s_unsafe(var466, var468, var469, var470, var471); +var465 = var467; +varonce464 = var465; } -((struct instance_core__NativeArray*)var335)->values[2]=var341; -if (likely(varonce344!=NULL)) { -var345 = varonce344; +((struct instance_core__NativeArray*)var455)->values[2]=var465; +if (likely(varonce472!=NULL)) { +var473 = varonce472; } else { -var346 = "`."; -var347 = core__flat___NativeString___to_s_full(var346, 2l, 2l); -var345 = var347; -varonce344 = var345; +var474 = "`."; +var476 = (val*)(2l<<2|1); +var477 = (val*)(2l<<2|1); +var478 = (val*)((long)(0)<<2|3); +var479 = (val*)((long)(0)<<2|3); +var475 = core__flat___CString___to_s_unsafe(var474, var476, var477, var478, var479); +var473 = var475; +varonce472 = var473; } -((struct instance_core__NativeArray*)var335)->values[4]=var345; +((struct instance_core__NativeArray*)var455)->values[4]=var473; } else { -var335 = varonce334; -varonce334 = NULL; +var455 = varonce454; +varonce454 = NULL; } -((struct instance_core__NativeArray*)var335)->values[1]=var_name; +((struct instance_core__NativeArray*)var455)->values[1]=var_name; { -var348 = ((val*(*)(val* self))(var_unsafe_type->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_unsafe_type); /* to_s on */ +var480 = ((val*(*)(val* self))(var_unsafe_type->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_unsafe_type); /* to_s on */ } -((struct instance_core__NativeArray*)var335)->values[3]=var348; +((struct instance_core__NativeArray*)var455)->values[3]=var480; { -var349 = ((val*(*)(val* self))(var335->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var335); /* native_to_s on */ +var481 = ((val*(*)(val* self))(var455->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var455); /* native_to_s on */ } -varonce334 = var335; +varonce454 = var455; { -nitc___nitc__ModelBuilder___error(var331, var_node, var349); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var451, var_node, var481); /* Direct call modelbuilder_base$ModelBuilder$error on */ } var = ((val*)NULL); goto RET_LABEL; } else { { -{ /* Inline array#AbstractArrayRead#length (var_propdefs) on */ -var352 = var_propdefs->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var350 = var352; -RET_LABEL351:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_propdefs) on */ +var484 = var_propdefs->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var482 = var484; +RET_LABEL483:(void)0; } } { -{ /* Inline kernel#Int#== (var350,1l) on */ -var355 = var350 == 1l; -var353 = var355; -goto RET_LABEL354; -RET_LABEL354:(void)0; +{ /* Inline kernel$Int$== (var482,1l) on */ +var487 = var482 == 1l; +var485 = var487; +goto RET_LABEL486; +RET_LABEL486:(void)0; } } -if (var353){ +if (var485){ { -var356 = core___core__SequenceRead___Collection__first(var_propdefs); +var488 = core___core__SequenceRead___Collection__first(var_propdefs); } -var_mpropdef = var356; +var_mpropdef = var488; } else { { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var359 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var359 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var491 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var491 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var357 = var359; -RET_LABEL358:(void)0; +var489 = var491; +RET_LABEL490:(void)0; } } -if (likely(varonce360!=NULL)) { -var361 = varonce360; +if (likely(varonce492!=NULL)) { +var493 = varonce492; } else { -var362 = "property-conflict"; -var363 = core__flat___NativeString___to_s_full(var362, 17l, 17l); -var361 = var363; -varonce360 = var361; +var494 = "property-conflict"; +var496 = (val*)(17l<<2|1); +var497 = (val*)(17l<<2|1); +var498 = (val*)((long)(0)<<2|3); +var499 = (val*)((long)(0)<<2|3); +var495 = core__flat___CString___to_s_unsafe(var494, var496, var497, var498, var499); +var493 = var495; +varonce492 = var493; } -if (unlikely(varonce364==NULL)) { -var365 = NEW_core__NativeArray(6l, &type_core__NativeArray__core__String); -if (likely(varonce366!=NULL)) { -var367 = varonce366; +if (unlikely(varonce500==NULL)) { +var501 = NEW_core__NativeArray((int)6l, &type_core__NativeArray__core__String); +if (likely(varonce502!=NULL)) { +var503 = varonce502; } else { -var368 = "Warning: conflicting property definitions for property `"; -var369 = core__flat___NativeString___to_s_full(var368, 56l, 56l); -var367 = var369; -varonce366 = var367; +var504 = "Warning: conflicting property definitions for property `"; +var506 = (val*)(56l<<2|1); +var507 = (val*)(56l<<2|1); +var508 = (val*)((long)(0)<<2|3); +var509 = (val*)((long)(0)<<2|3); +var505 = core__flat___CString___to_s_unsafe(var504, var506, var507, var508, var509); +var503 = var505; +varonce502 = var503; } -((struct instance_core__NativeArray*)var365)->values[0]=var367; -if (likely(varonce370!=NULL)) { -var371 = varonce370; +((struct instance_core__NativeArray*)var501)->values[0]=var503; +if (likely(varonce510!=NULL)) { +var511 = varonce510; } else { -var372 = "` in `"; -var373 = core__flat___NativeString___to_s_full(var372, 6l, 6l); -var371 = var373; -varonce370 = var371; +var512 = "` in `"; +var514 = (val*)(6l<<2|1); +var515 = (val*)(6l<<2|1); +var516 = (val*)((long)(0)<<2|3); +var517 = (val*)((long)(0)<<2|3); +var513 = core__flat___CString___to_s_unsafe(var512, var514, var515, var516, var517); +var511 = var513; +varonce510 = var511; } -((struct instance_core__NativeArray*)var365)->values[2]=var371; -if (likely(varonce374!=NULL)) { -var375 = varonce374; +((struct instance_core__NativeArray*)var501)->values[2]=var511; +if (likely(varonce518!=NULL)) { +var519 = varonce518; } else { -var376 = "`: "; -var377 = core__flat___NativeString___to_s_full(var376, 3l, 3l); -var375 = var377; -varonce374 = var375; +var520 = "`: "; +var522 = (val*)(3l<<2|1); +var523 = (val*)(3l<<2|1); +var524 = (val*)((long)(0)<<2|3); +var525 = (val*)((long)(0)<<2|3); +var521 = core__flat___CString___to_s_unsafe(var520, var522, var523, var524, var525); +var519 = var521; +varonce518 = var519; } -((struct instance_core__NativeArray*)var365)->values[4]=var375; +((struct instance_core__NativeArray*)var501)->values[4]=var519; } else { -var365 = varonce364; -varonce364 = NULL; +var501 = varonce500; +varonce500 = NULL; } -((struct instance_core__NativeArray*)var365)->values[1]=var_name; +((struct instance_core__NativeArray*)var501)->values[1]=var_name; { -var378 = ((val*(*)(val* self))(var_unsafe_type->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_unsafe_type); /* to_s on */ +var526 = ((val*(*)(val* self))(var_unsafe_type->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_unsafe_type); /* to_s on */ } -((struct instance_core__NativeArray*)var365)->values[3]=var378; -if (likely(varonce379!=NULL)) { -var380 = varonce379; +((struct instance_core__NativeArray*)var501)->values[3]=var526; +if (likely(varonce527!=NULL)) { +var528 = varonce527; } else { -var381 = " "; -var382 = core__flat___NativeString___to_s_full(var381, 1l, 1l); -var380 = var382; -varonce379 = var380; +var529 = " "; +var531 = (val*)(1l<<2|1); +var532 = (val*)(1l<<2|1); +var533 = (val*)((long)(0)<<2|3); +var534 = (val*)((long)(0)<<2|3); +var530 = core__flat___CString___to_s_unsafe(var529, var531, var532, var533, var534); +var528 = var530; +varonce527 = var528; } { -var383 = core__abstract_text___Collection___join(var_propdefs, var380); +var535 = core__abstract_text___Collection___join(var_propdefs, var528, ((val*)NULL)); } -((struct instance_core__NativeArray*)var365)->values[5]=var383; +((struct instance_core__NativeArray*)var501)->values[5]=var535; { -var384 = ((val*(*)(val* self))(var365->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var365); /* native_to_s on */ +var536 = ((val*(*)(val* self))(var501->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var501); /* native_to_s on */ } -varonce364 = var365; +varonce500 = var501; { -nitc___nitc__ModelBuilder___warning(var357, var_node, var361, var384); /* Direct call modelbuilder_base#ModelBuilder#warning on */ +nitc___nitc__ModelBuilder___warning(var489, var_node, var493, var536); /* Direct call modelbuilder_base$ModelBuilder$warning on */ } { -{ /* Inline model#MProperty#intro (var_mproperty) on */ -var387 = var_mproperty->attrs[COLOR_nitc__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var387 == NULL)) { +{ /* Inline model$MProperty$intro (var_mproperty) on */ +var539 = var_mproperty->attrs[COLOR_nitc__model__MProperty___intro].val; /* _intro on */ +if (unlikely(var539 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1986); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2097); fatal_exit(1); } -var385 = var387; -RET_LABEL386:(void)0; +var537 = var539; +RET_LABEL538:(void)0; } } -var_mpropdef = var385; +var_mpropdef = var537; } } { -{ /* Inline model#MMethodDef#new_msignature (var_mpropdef) on */ -var391 = var_mpropdef->attrs[COLOR_nitc__model__MMethodDef___new_msignature].val; /* _new_msignature on */ -var389 = var391; -RET_LABEL390:(void)0; +{ /* Inline model$MMethodDef$new_msignature (var_mpropdef) on */ +var543 = var_mpropdef->attrs[COLOR_nitc__model__MMethodDef___new_msignature].val; /* _new_msignature on */ +var541 = var543; +RET_LABEL542:(void)0; } } -if (var389!=NULL) { -var388 = var389; +if (var541!=NULL) { +var540 = var541; } else { { -{ /* Inline model#MMethodDef#msignature (var_mpropdef) on */ -var394 = var_mpropdef->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on */ -var392 = var394; -RET_LABEL393:(void)0; +{ /* Inline model$MMethodDef$msignature (var_mpropdef) on */ +var546 = var_mpropdef->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on */ +var544 = var546; +RET_LABEL545:(void)0; } } -var388 = var392; +var540 = var544; } -var_msignature = var388; +var_msignature = var540; if (var_msignature == NULL) { -var395 = 1; /* is null */ +var547 = 1; /* is null */ } else { -var395 = 0; /* arg is null but recv is not */ +var547 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_msignature,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_msignature,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on */ -var400 = var_msignature == var_other; -var398 = var400; -goto RET_LABEL399; -RET_LABEL399:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_msignature,var_other) on */ +var552 = var_msignature == var_other; +var550 = var552; +goto RET_LABEL551; +RET_LABEL551:(void)0; } } -var396 = var398; -goto RET_LABEL397; -RET_LABEL397:(void)0; +var548 = var550; +goto RET_LABEL549; +RET_LABEL549:(void)0; } -var395 = var396; +var547 = var548; } -if (var395){ +if (var547){ var = ((val*)NULL); goto RET_LABEL; } else { } { -var401 = nitc__typing___nitc__typing__TypeVisitor___resolve_for(self, var_msignature, var_recvtype, var_recv_is_self); +var553 = nitc__typing___nitc__typing__TypeVisitor___resolve_for(self, var_msignature, var_recvtype, var_recv_is_self); } -/* isa MSignature */ -cltype403 = type_nitc__MSignature.color; -idtype404 = type_nitc__MSignature.id; -if(cltype403 >= var401->type->table_size) { -var402 = 0; +/* isa MSignature */ +cltype555 = type_nitc__MSignature.color; +idtype556 = type_nitc__MSignature.id; +if(cltype555 >= var553->type->table_size) { +var554 = 0; } else { -var402 = var401->type->type_table[cltype403] == idtype404; +var554 = var553->type->type_table[cltype555] == idtype556; } -if (unlikely(!var402)) { -var_class_name = var401 == NULL ? "null" : var401->type->name; +if (unlikely(!var554)) { +var_class_name = var553 == NULL ? "null" : var553->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MSignature", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 379); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 383); fatal_exit(1); } -var_msignature = var401; +var_msignature = var553; var_erasure_cast = 0; { -{ /* Inline model#MMethodDef#msignature (var_mpropdef) on */ -var407 = var_mpropdef->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on */ -var405 = var407; -RET_LABEL406:(void)0; +{ /* Inline model$MMethodDef$msignature (var_mpropdef) on */ +var559 = var_mpropdef->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on */ +var557 = var559; +RET_LABEL558:(void)0; +} } +if (var557 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -if (var405 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 382); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 386); fatal_exit(1); } else { -{ /* Inline model#MSignature#return_mtype (var405) on */ -if (unlikely(var405 == NULL)) { +{ /* Inline model$MSignature$return_mtype (var557) on */ +if (unlikely(var557 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1795); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1891); fatal_exit(1); } -var410 = var405->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on */ -var408 = var410; -RET_LABEL409:(void)0; +var562 = var557->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on */ +var560 = var562; +RET_LABEL561:(void)0; } } -var_rettype = var408; -var412 = !var_recv_is_self; -var_413 = var412; -if (var412){ +var_rettype = var560; +var564 = !var_recv_is_self; +var_565 = var564; +if (var564){ if (var_rettype == NULL) { -var414 = 0; /* is null */ +var566 = 0; /* is null */ } else { -var414 = 1; /* arg is null and recv is not */ +var566 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_rettype,((val*)NULL)) on */ -var_other254 = ((val*)NULL); +{ /* Inline kernel$Object$!= (var_rettype,((val*)NULL)) on */ +var_other350 = ((val*)NULL); { -var417 = ((short int(*)(val* self, val* p0))(var_rettype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_rettype, var_other254); /* == on */ +var569 = ((short int(*)(val* self, val* p0))(var_rettype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_rettype, var_other350); /* == on */ } -var418 = !var417; -var415 = var418; -goto RET_LABEL416; -RET_LABEL416:(void)0; +var570 = !var569; +var567 = var570; +goto RET_LABEL568; +RET_LABEL568:(void)0; } -var414 = var415; +var566 = var567; } -var411 = var414; +var563 = var566; } else { -var411 = var_413; +var563 = var_565; } -if (var411){ +if (var563){ { -var419 = ((val*(*)(val* self))(var_rettype->class->vft[COLOR_nitc__model__MType__undecorate]))(var_rettype); /* undecorate on */ +var571 = ((val*(*)(val* self))(var_rettype->class->vft[COLOR_nitc__model__MType__undecorate]))(var_rettype); /* undecorate on */ } -var_rettype = var419; +var_rettype = var571; /* isa MParameterType */ -cltype421 = type_nitc__MParameterType.color; -idtype422 = type_nitc__MParameterType.id; -if(cltype421 >= var_rettype->type->table_size) { -var420 = 0; +cltype573 = type_nitc__MParameterType.color; +idtype574 = type_nitc__MParameterType.id; +if(cltype573 >= var_rettype->type->table_size) { +var572 = 0; } else { -var420 = var_rettype->type->type_table[cltype421] == idtype422; +var572 = var_rettype->type->type_table[cltype573] == idtype574; } -if (var420){ +if (var572){ { -{ /* Inline model#MSignature#return_mtype (var_msignature) on */ -var425 = var_msignature->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on */ -var423 = var425; -RET_LABEL424:(void)0; +{ /* Inline model$MSignature$return_mtype (var_msignature) on */ +var577 = var_msignature->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on */ +var575 = var577; +RET_LABEL576:(void)0; } } -var_erased_rettype = var423; +var_erased_rettype = var575; if (var_erased_rettype == NULL) { -var426 = 0; /* is null */ +var578 = 0; /* is null */ } else { -var426 = 1; /* arg is null and recv is not */ +var578 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_erased_rettype,((val*)NULL)) on */ -var_other254 = ((val*)NULL); +{ /* Inline kernel$Object$!= (var_erased_rettype,((val*)NULL)) on */ +var_other350 = ((val*)NULL); { -var429 = ((short int(*)(val* self, val* p0))(var_erased_rettype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_erased_rettype, var_other254); /* == on */ +var581 = ((short int(*)(val* self, val* p0))(var_erased_rettype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_erased_rettype, var_other350); /* == on */ +} +var582 = !var581; +var579 = var582; +goto RET_LABEL580; +RET_LABEL580:(void)0; } -var430 = !var429; -var427 = var430; -goto RET_LABEL428; -RET_LABEL428:(void)0; +var578 = var579; } -var426 = var427; +if (unlikely(!var578)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -if (unlikely(!var426)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 387); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 391); fatal_exit(1); } var_erasure_cast = 1; @@ -4279,66 +5169,69 @@ var_erasure_cast = 1; } } else { } -var431 = NEW_nitc__CallSite(&type_nitc__CallSite); +var583 = NEW_nitc__CallSite(&type_nitc__CallSite); { -var432 = ((val*(*)(val* self))(var_node->class->vft[COLOR_nitc__parser_nodes__ANode__hot_location]))(var_node); /* hot_location on */ +var584 = ((val*(*)(val* self))(var_node->class->vft[COLOR_nitc__parser_nodes__ANode__hot_location]))(var_node); /* hot_location on */ } { -{ /* Inline typing#TypeVisitor#mmodule (self) on */ -var435 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ -if (unlikely(var435 == NULL)) { +{ /* Inline typing$TypeVisitor$mmodule (self) on */ +var587 = self->attrs[COLOR_nitc__typing__TypeVisitor___mmodule].val; /* _mmodule on */ +if (unlikely(var587 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 37); fatal_exit(1); } -var433 = var435; -RET_LABEL434:(void)0; +var585 = var587; +RET_LABEL586:(void)0; } } { -{ /* Inline typing#TypeVisitor#anchor (self) on */ -var438 = self->attrs[COLOR_nitc__typing__TypeVisitor___anchor].val; /* _anchor on */ -var436 = var438; -RET_LABEL437:(void)0; +{ /* Inline typing$TypeVisitor$anchor (self) on */ +var590 = self->attrs[COLOR_nitc__typing__TypeVisitor___anchor].val; /* _anchor on */ +var588 = var590; +RET_LABEL589:(void)0; } } { -((void(*)(val* self, val* p0))(var431->class->vft[COLOR_nitc__typing__CallSite__location_61d]))(var431, var432); /* location= on */ +((void(*)(val* self, val* p0))(var583->class->vft[COLOR_nitc__typing__CallSite__location_61d]))(var583, var584); /* location= on */ } { -((void(*)(val* self, val* p0))(var431->class->vft[COLOR_nitc__typing__CallSite__recv_61d]))(var431, var_recvtype); /* recv= on */ +((void(*)(val* self, val* p0))(var583->class->vft[COLOR_nitc__typing__CallSite__recv_61d]))(var583, var_recvtype); /* recv= on */ } { -((void(*)(val* self, val* p0))(var431->class->vft[COLOR_nitc__typing__CallSite__mmodule_61d]))(var431, var433); /* mmodule= on */ +((void(*)(val* self, val* p0))(var583->class->vft[COLOR_nitc__typing__CallSite__mmodule_61d]))(var583, var585); /* mmodule= on */ } { -((void(*)(val* self, val* p0))(var431->class->vft[COLOR_nitc__typing__CallSite__anchor_61d]))(var431, var436); /* anchor= on */ +((void(*)(val* self, val* p0))(var583->class->vft[COLOR_nitc__typing__CallSite__anchor_61d]))(var583, var588); /* anchor= on */ } { -((void(*)(val* self, short int p0))(var431->class->vft[COLOR_nitc__typing__CallSite__recv_is_self_61d]))(var431, var_recv_is_self); /* recv_is_self= on */ +((void(*)(val* self, short int p0))(var583->class->vft[COLOR_nitc__typing__CallSite__recv_is_self_61d]))(var583, var_recv_is_self); /* recv_is_self= on */ } { -((void(*)(val* self, val* p0))(var431->class->vft[COLOR_nitc__typing__CallSite__mproperty_61d]))(var431, var_mproperty); /* mproperty= on */ +((void(*)(val* self, val* p0))(var583->class->vft[COLOR_nitc__typing__CallSite__mproperty_61d]))(var583, var_mproperty); /* mproperty= on */ } { -((void(*)(val* self, val* p0))(var431->class->vft[COLOR_nitc__typing__CallSite__mpropdef_61d]))(var431, var_mpropdef); /* mpropdef= on */ +((void(*)(val* self, val* p0))(var583->class->vft[COLOR_nitc__typing__CallSite__mpropdef_61d]))(var583, var_mpropdef); /* mpropdef= on */ } { -((void(*)(val* self, val* p0))(var431->class->vft[COLOR_nitc__typing__CallSite__msignature_61d]))(var431, var_msignature); /* msignature= on */ +((void(*)(val* self, val* p0))(var583->class->vft[COLOR_nitc__typing__CallSite__msignature_61d]))(var583, var_msignature); /* msignature= on */ } { -((void(*)(val* self, short int p0))(var431->class->vft[COLOR_nitc__typing__CallSite__erasure_cast_61d]))(var431, var_erasure_cast); /* erasure_cast= on */ +((void(*)(val* self, short int p0))(var583->class->vft[COLOR_nitc__typing__CallSite__erasure_cast_61d]))(var583, var_erasure_cast); /* erasure_cast= on */ } { -((void(*)(val* self))(var431->class->vft[COLOR_core__kernel__Object__init]))(var431); /* init on */ +((void(*)(val* self))(var583->class->vft[COLOR_core__kernel__Object__init]))(var583); /* init on */ } -var_callsite = var431; +var_callsite = var583; var = var_callsite; goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#try_get_method for (self: TypeVisitor, ANode, MType, String, Bool): nullable CallSite */ +/* method typing$TypeVisitor$try_get_method for (self: TypeVisitor, ANode, MType, String, Bool): nullable CallSite */ val* nitc__typing___nitc__typing__TypeVisitor___try_get_method(val* self, val* p0, val* p1, val* p2, short int p3) { val* var /* : nullable CallSite */; val* var_node /* var node: ANode */; @@ -4373,10 +5266,10 @@ var3 = 1; /* is null */ var3 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mproperty,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_mproperty,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mproperty,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_mproperty,var_other) on */ var8 = var_mproperty == var_other; var6 = var8; goto RET_LABEL7; @@ -4402,7 +5295,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#check_signature for (self: TypeVisitor, ANode, Array[AExpr], MProperty, MSignature): nullable SignatureMap */ +/* method typing$TypeVisitor$check_signature for (self: TypeVisitor, ANode, Array[AExpr], MProperty, MSignature): nullable SignatureMap */ val* nitc__typing___nitc__typing__TypeVisitor___check_signature(val* self, val* p0, val* p1, val* p2, val* p3) { val* var /* : nullable SignatureMap */; val* var_node /* var node: ANode */; @@ -4433,460 +5326,568 @@ val* var22 /* : NativeArray[String] */; static val* varonce; static val* varonce23; val* var24 /* : String */; -char* var25 /* : NativeString */; +char* var25 /* : CString */; val* var26 /* : String */; -static val* varonce27; -val* var28 /* : String */; -char* var29 /* : NativeString */; -val* var30 /* : String */; +val* var27 /* : nullable Int */; +val* var28 /* : nullable Int */; +val* var29 /* : nullable Bool */; +val* var30 /* : nullable Bool */; static val* varonce31; val* var32 /* : String */; -char* var33 /* : NativeString */; +char* var33 /* : CString */; val* var34 /* : String */; -static val* varonce35; -val* var36 /* : String */; -char* var37 /* : NativeString */; -val* var38 /* : String */; +val* var35 /* : nullable Int */; +val* var36 /* : nullable Int */; +val* var37 /* : nullable Bool */; +val* var38 /* : nullable Bool */; static val* varonce39; val* var40 /* : String */; -char* var41 /* : NativeString */; +char* var41 /* : CString */; val* var42 /* : String */; -long var43 /* : Int */; -val* var44 /* : String */; -val* var45 /* : String */; -val* var46 /* : String */; -long var47 /* : Int */; -long var49 /* : Int */; +val* var43 /* : nullable Int */; +val* var44 /* : nullable Int */; +val* var45 /* : nullable Bool */; +val* var46 /* : nullable Bool */; +static val* varonce47; +val* var48 /* : String */; +char* var49 /* : CString */; val* var50 /* : String */; -val* var51 /* : String */; -val* var52 /* : String */; -long var53 /* : Int */; -long var55 /* : Int */; -long var56 /* : Int */; -short int var57 /* : Bool */; -short int var59 /* : Bool */; -short int var60 /* : Bool */; -long var61 /* : Int */; +val* var51 /* : nullable Int */; +val* var52 /* : nullable Int */; +val* var53 /* : nullable Bool */; +val* var54 /* : nullable Bool */; +static val* varonce55; +val* var56 /* : String */; +char* var57 /* : CString */; +val* var58 /* : String */; +val* var59 /* : nullable Int */; +val* var60 /* : nullable Int */; +val* var61 /* : nullable Bool */; +val* var62 /* : nullable Bool */; long var63 /* : Int */; -long var64 /* : Int */; -short int var65 /* : Bool */; -short int var67 /* : Bool */; -int cltype68; -int idtype69; -const char* var_class_name70; -short int var71 /* : Bool */; -val* var72 /* : ModelBuilder */; -val* var74 /* : ModelBuilder */; -val* var76 /* : NativeArray[String] */; -static val* varonce75; -static val* varonce77; -val* var78 /* : String */; -char* var79 /* : NativeString */; -val* var80 /* : String */; -static val* varonce81; -val* var82 /* : String */; -char* var83 /* : NativeString */; -val* var84 /* : String */; -static val* varonce85; -val* var86 /* : String */; -char* var87 /* : NativeString */; -val* var88 /* : String */; -static val* varonce89; -val* var90 /* : String */; -char* var91 /* : NativeString */; -val* var92 /* : String */; -static val* varonce93; -val* var94 /* : String */; -char* var95 /* : NativeString */; -val* var96 /* : String */; -long var97 /* : Int */; -val* var98 /* : String */; -val* var99 /* : String */; -val* var100 /* : String */; -long var101 /* : Int */; -long var103 /* : Int */; -val* var104 /* : String */; -val* var105 /* : String */; +val* var64 /* : String */; +val* var65 /* : String */; +val* var66 /* : String */; +long var67 /* : Int */; +long var69 /* : Int */; +val* var70 /* : String */; +val* var71 /* : String */; +val* var72 /* : String */; +long var73 /* : Int */; +long var75 /* : Int */; +long var76 /* : Int */; +short int var77 /* : Bool */; +short int var79 /* : Bool */; +short int var80 /* : Bool */; +long var81 /* : Int */; +long var83 /* : Int */; +long var84 /* : Int */; +short int var85 /* : Bool */; +short int var87 /* : Bool */; +int cltype88; +int idtype89; +const char* var_class_name90; +short int var91 /* : Bool */; +val* var92 /* : ModelBuilder */; +val* var94 /* : ModelBuilder */; +val* var96 /* : NativeArray[String] */; +static val* varonce95; +static val* varonce97; +val* var98 /* : String */; +char* var99 /* : CString */; +val* var100 /* : String */; +val* var101 /* : nullable Int */; +val* var102 /* : nullable Int */; +val* var103 /* : nullable Bool */; +val* var104 /* : nullable Bool */; +static val* varonce105; val* var106 /* : String */; -val* var107 /* : SignatureMap */; +char* var107 /* : CString */; +val* var108 /* : String */; +val* var109 /* : nullable Int */; +val* var110 /* : nullable Int */; +val* var111 /* : nullable Bool */; +val* var112 /* : nullable Bool */; +static val* varonce113; +val* var114 /* : String */; +char* var115 /* : CString */; +val* var116 /* : String */; +val* var117 /* : nullable Int */; +val* var118 /* : nullable Int */; +val* var119 /* : nullable Bool */; +val* var120 /* : nullable Bool */; +static val* varonce121; +val* var122 /* : String */; +char* var123 /* : CString */; +val* var124 /* : String */; +val* var125 /* : nullable Int */; +val* var126 /* : nullable Int */; +val* var127 /* : nullable Bool */; +val* var128 /* : nullable Bool */; +static val* varonce129; +val* var130 /* : String */; +char* var131 /* : CString */; +val* var132 /* : String */; +val* var133 /* : nullable Int */; +val* var134 /* : nullable Int */; +val* var135 /* : nullable Bool */; +val* var136 /* : nullable Bool */; +long var137 /* : Int */; +val* var138 /* : String */; +val* var139 /* : String */; +val* var140 /* : String */; +long var141 /* : Int */; +long var143 /* : Int */; +val* var144 /* : String */; +val* var145 /* : String */; +val* var146 /* : String */; +val* var147 /* : SignatureMap */; val* var_map /* var map: SignatureMap */; -val* var109 /* : String */; -val* var111 /* : String */; -val* var112 /* : SequenceRead[Char] */; -val* var113 /* : nullable Object */; -short int var114 /* : Bool */; -short int var116 /* : Bool */; -uint32_t var117 /* : Char */; +val* var149 /* : String */; +val* var151 /* : String */; +val* var152 /* : SequenceRead[Char] */; +val* var153 /* : nullable Object */; +short int var154 /* : Bool */; +short int var156 /* : Bool */; +uint32_t var157 /* : Char */; short int var_last_is_padded /* var last_is_padded: Bool */; -long var118 /* : Int */; -long var120 /* : Int */; +long var158 /* : Int */; +long var160 /* : Int */; long var_nbargs /* var nbargs: Int */; -long var121 /* : Int */; -short int var123 /* : Bool */; -int cltype124; -int idtype125; -const char* var_class_name126; -long var127 /* : Int */; -val* var128 /* : nullable Object */; -short int var129 /* : Bool */; -int cltype130; -int idtype131; -short int var132 /* : Bool */; -val* var133 /* : ArrayMap[Int, Int] */; -val* var135 /* : ArrayMap[Int, Int] */; -long var136 /* : Int */; -long var137 /* : Int */; -short int var139 /* : Bool */; -int cltype140; -int idtype141; -const char* var_class_name142; -long var143 /* : Int */; -long var144 /* : Int */; -long var146 /* : Int */; -long var147 /* : Int */; -short int var149 /* : Bool */; -int cltype150; -int idtype151; -const char* var_class_name152; -long var153 /* : Int */; -val* var154 /* : nullable Object */; -val* var155 /* : nullable Object */; -val* var156 /* : nullable Object */; -val* var157 /* : Array[MParameter] */; -val* var159 /* : Array[MParameter] */; -val* var160 /* : nullable Object */; -val* var161 /* : MType */; -val* var163 /* : MType */; -val* var164 /* : nullable MType */; -long var_i /* var i: Int */; -long var165 /* : Int */; +long var161 /* : Int */; +short int var163 /* : Bool */; +int cltype164; +int idtype165; +const char* var_class_name166; long var167 /* : Int */; +val* var168 /* : nullable Object */; +short int var169 /* : Bool */; +int cltype170; +int idtype171; +short int var172 /* : Bool */; +val* var173 /* : ArrayMap[Int, Int] */; +val* var175 /* : ArrayMap[Int, Int] */; +long var176 /* : Int */; +long var177 /* : Int */; +short int var179 /* : Bool */; +int cltype180; +int idtype181; +const char* var_class_name182; +long var183 /* : Int */; +long var184 /* : Int */; +long var186 /* : Int */; +long var187 /* : Int */; +short int var189 /* : Bool */; +int cltype190; +int idtype191; +const char* var_class_name192; +long var193 /* : Int */; +val* var194 /* : nullable Object */; +val* var195 /* : nullable Object */; +val* var196 /* : nullable Object */; +val* var197 /* : Array[MParameter] */; +val* var199 /* : Array[MParameter] */; +val* var200 /* : nullable Object */; +val* var201 /* : MType */; +val* var203 /* : MType */; +val* var204 /* : nullable MType */; +long var_i /* var i: Int */; +long var205 /* : Int */; +long var207 /* : Int */; long var_ /* var : Int */; -short int var168 /* : Bool */; -short int var170 /* : Bool */; -int cltype171; -int idtype172; -const char* var_class_name173; -short int var174 /* : Bool */; -val* var175 /* : nullable Object */; +short int var208 /* : Bool */; +short int var210 /* : Bool */; +int cltype211; +int idtype212; +const char* var_class_name213; +short int var214 /* : Bool */; +val* var215 /* : nullable Object */; val* var_e /* var e: AExpr */; -short int var176 /* : Bool */; -int cltype177; -int idtype178; -short int var179 /* : Bool */; -val* var181 /* : TId */; -val* var183 /* : TId */; -val* var184 /* : String */; +short int var216 /* : Bool */; +int cltype217; +int idtype218; +short int var219 /* : Bool */; +val* var221 /* : TId */; +val* var223 /* : TId */; +val* var224 /* : String */; val* var_name /* var name: String */; -val* var185 /* : nullable MParameter */; +val* var225 /* : nullable MParameter */; val* var_param /* var param: nullable MParameter */; -short int var186 /* : Bool */; -short int var187 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var189 /* : Bool */; -short int var191 /* : Bool */; -val* var192 /* : ModelBuilder */; -val* var194 /* : ModelBuilder */; -val* var195 /* : TId */; -val* var197 /* : TId */; -val* var199 /* : NativeArray[String] */; -static val* varonce198; -static val* varonce200; -val* var201 /* : String */; -char* var202 /* : NativeString */; -val* var203 /* : String */; -static val* varonce204; -val* var205 /* : String */; -char* var206 /* : NativeString */; -val* var207 /* : String */; -static val* varonce208; -val* var209 /* : String */; -char* var210 /* : NativeString */; -val* var211 /* : String */; -val* var212 /* : String */; -val* var213 /* : String */; -val* var214 /* : String */; -val* var215 /* : Array[MParameter] */; -val* var217 /* : Array[MParameter] */; -long var218 /* : Int */; -long var_idx /* var idx: Int */; -val* var219 /* : ArrayMap[Int, Int] */; -val* var221 /* : ArrayMap[Int, Int] */; -val* var222 /* : nullable Object */; -val* var223 /* : nullable Object */; -val* var_prev /* var prev: nullable Int */; -short int var224 /* : Bool */; -short int var225 /* : Bool */; +short int var226 /* : Bool */; short int var227 /* : Bool */; -short int var228 /* : Bool */; -val* var229 /* : ModelBuilder */; -val* var231 /* : ModelBuilder */; -val* var233 /* : NativeArray[String] */; -static val* varonce232; -static val* varonce234; -val* var235 /* : String */; -char* var236 /* : NativeString */; -val* var237 /* : String */; +val* var_other /* var other: nullable Object */; +short int var229 /* : Bool */; +short int var231 /* : Bool */; +val* var232 /* : ModelBuilder */; +val* var234 /* : ModelBuilder */; +val* var235 /* : TId */; +val* var237 /* : TId */; +val* var239 /* : NativeArray[String] */; static val* varonce238; -val* var239 /* : String */; -char* var240 /* : NativeString */; +static val* varonce240; val* var241 /* : String */; -static val* varonce242; +char* var242 /* : CString */; val* var243 /* : String */; -char* var244 /* : NativeString */; -val* var245 /* : String */; -static val* varonce246; -val* var247 /* : String */; -char* var248 /* : NativeString */; +val* var244 /* : nullable Int */; +val* var245 /* : nullable Int */; +val* var246 /* : nullable Bool */; +val* var247 /* : nullable Bool */; +static val* varonce248; val* var249 /* : String */; -val* var250 /* : String */; -long var251 /* : Int */; -val* var252 /* : String */; -val* var253 /* : String */; -val* var254 /* : String */; -val* var255 /* : ArrayMap[Int, Int] */; -val* var257 /* : ArrayMap[Int, Int] */; -val* var258 /* : nullable Object */; -val* var259 /* : nullable Object */; -val* var260 /* : AExpr */; -val* var262 /* : AExpr */; -val* var263 /* : MType */; -val* var265 /* : MType */; -val* var266 /* : nullable MType */; -long var268 /* : Int */; +char* var250 /* : CString */; +val* var251 /* : String */; +val* var252 /* : nullable Int */; +val* var253 /* : nullable Int */; +val* var254 /* : nullable Bool */; +val* var255 /* : nullable Bool */; +static val* varonce256; +val* var257 /* : String */; +char* var258 /* : CString */; +val* var259 /* : String */; +val* var260 /* : nullable Int */; +val* var261 /* : nullable Int */; +val* var262 /* : nullable Bool */; +val* var263 /* : nullable Bool */; +val* var264 /* : String */; +val* var265 /* : String */; +val* var266 /* : String */; +val* var267 /* : Array[MParameter] */; +val* var269 /* : Array[MParameter] */; +long var270 /* : Int */; +long var_idx /* var idx: Int */; +val* var271 /* : ArrayMap[Int, Int] */; +val* var273 /* : ArrayMap[Int, Int] */; +val* var274 /* : nullable Object */; +val* var275 /* : nullable Object */; +val* var_prev /* var prev: nullable Int */; +short int var276 /* : Bool */; +short int var277 /* : Bool */; +short int var279 /* : Bool */; +short int var280 /* : Bool */; +val* var281 /* : ModelBuilder */; +val* var283 /* : ModelBuilder */; +val* var285 /* : NativeArray[String] */; +static val* varonce284; +static val* varonce286; +val* var287 /* : String */; +char* var288 /* : CString */; +val* var289 /* : String */; +val* var290 /* : nullable Int */; +val* var291 /* : nullable Int */; +val* var292 /* : nullable Bool */; +val* var293 /* : nullable Bool */; +static val* varonce294; +val* var295 /* : String */; +char* var296 /* : CString */; +val* var297 /* : String */; +val* var298 /* : nullable Int */; +val* var299 /* : nullable Int */; +val* var300 /* : nullable Bool */; +val* var301 /* : nullable Bool */; +static val* varonce302; +val* var303 /* : String */; +char* var304 /* : CString */; +val* var305 /* : String */; +val* var306 /* : nullable Int */; +val* var307 /* : nullable Int */; +val* var308 /* : nullable Bool */; +val* var309 /* : nullable Bool */; +static val* varonce310; +val* var311 /* : String */; +char* var312 /* : CString */; +val* var313 /* : String */; +val* var314 /* : nullable Int */; +val* var315 /* : nullable Int */; +val* var316 /* : nullable Bool */; +val* var317 /* : nullable Bool */; +val* var318 /* : String */; +long var319 /* : Int */; +val* var320 /* : String */; +val* var321 /* : String */; +val* var322 /* : String */; +val* var323 /* : ArrayMap[Int, Int] */; +val* var325 /* : ArrayMap[Int, Int] */; +val* var326 /* : nullable Object */; +val* var327 /* : nullable Object */; +val* var328 /* : AExpr */; +val* var330 /* : AExpr */; +val* var331 /* : MType */; +val* var333 /* : MType */; +val* var334 /* : nullable MType */; +long var336 /* : Int */; long var_min_arity /* var min_arity: Int */; -long var269 /* : Int */; -long var271 /* : Int */; -long var272 /* : Int */; -long var273 /* : Int */; -short int var275 /* : Bool */; -int cltype276; -int idtype277; -const char* var_class_name278; -long var279 /* : Int */; +long var337 /* : Int */; +long var339 /* : Int */; +long var340 /* : Int */; +long var341 /* : Int */; +short int var343 /* : Bool */; +int cltype344; +int idtype345; +const char* var_class_name346; +long var347 /* : Int */; long var_vararg_decl /* var vararg_decl: Int */; long var_j /* var j: Int */; -long var_i280 /* var i: Int */; -long var281 /* : Int */; -long var_282 /* var : Int */; -short int var283 /* : Bool */; -short int var285 /* : Bool */; -int cltype286; -int idtype287; -const char* var_class_name288; -short int var289 /* : Bool */; -val* var291 /* : ArrayMap[Int, Int] */; -val* var293 /* : ArrayMap[Int, Int] */; -short int var294 /* : Bool */; -val* var295 /* : nullable Object */; -val* var297 /* : Array[MParameter] */; -val* var299 /* : Array[MParameter] */; -val* var300 /* : nullable Object */; -val* var_param301 /* var param: MParameter */; -short int var302 /* : Bool */; -short int var303 /* : Bool */; -short int var305 /* : Bool */; -int cltype306; -int idtype307; -const char* var_class_name308; -short int var309 /* : Bool */; -short int var_310 /* var : Bool */; -val* var311 /* : nullable Object */; -short int var312 /* : Bool */; -int cltype313; -int idtype314; -long var315 /* : Int */; -short int var317 /* : Bool */; -int cltype318; -int idtype319; -const char* var_class_name320; -long var321 /* : Int */; -short int var323 /* : Bool */; -short int var325 /* : Bool */; -int cltype326; -int idtype327; -const char* var_class_name328; -short int var329 /* : Bool */; -val* var330 /* : MType */; -val* var332 /* : MType */; -short int var333 /* : Bool */; -int cltype334; -int idtype335; -short int var336 /* : Bool */; -long var337 /* : Int */; -short int var339 /* : Bool */; -int cltype340; -int idtype341; -const char* var_class_name342; -long var343 /* : Int */; -long var344 /* : Int */; -short int var346 /* : Bool */; -int cltype347; -int idtype348; -const char* var_class_name349; -long var350 /* : Int */; -val* var351 /* : nullable Object */; -val* var_arg /* var arg: AExpr */; -val* var352 /* : ArrayMap[Int, Int] */; -val* var354 /* : ArrayMap[Int, Int] */; -val* var355 /* : nullable Object */; -val* var356 /* : nullable Object */; -long var357 /* : Int */; -short int var359 /* : Bool */; -int cltype360; -int idtype361; -const char* var_class_name362; -long var363 /* : Int */; -short int var364 /* : Bool */; -short int var366 /* : Bool */; -long var367 /* : Int */; -short int var369 /* : Bool */; -int cltype370; -int idtype371; -const char* var_class_name372; -long var373 /* : Int */; -short int var374 /* : Bool */; -short int var376 /* : Bool */; +long var_i348 /* var i: Int */; +long var349 /* : Int */; +long var_350 /* var : Int */; +short int var351 /* : Bool */; +short int var353 /* : Bool */; +int cltype354; +int idtype355; +const char* var_class_name356; +short int var357 /* : Bool */; +val* var359 /* : ArrayMap[Int, Int] */; +val* var361 /* : ArrayMap[Int, Int] */; +short int var362 /* : Bool */; +val* var363 /* : nullable Object */; +val* var365 /* : Array[MParameter] */; +val* var367 /* : Array[MParameter] */; +val* var368 /* : nullable Object */; +val* var_param369 /* var param: MParameter */; +short int var370 /* : Bool */; +short int var371 /* : Bool */; +short int var373 /* : Bool */; +int cltype374; +int idtype375; +const char* var_class_name376; short int var377 /* : Bool */; -val* var378 /* : MType */; -val* var380 /* : MType */; -val* var_paramtype /* var paramtype: MType */; -val* var381 /* : nullable MType */; -short int var382 /* : Bool */; +short int var_378 /* var : Bool */; +val* var379 /* : nullable Object */; +short int var380 /* : Bool */; +int cltype381; +int idtype382; long var383 /* : Int */; -short int var384 /* : Bool */; -short int var386 /* : Bool */; -int cltype387; -int idtype388; -const char* var_class_name389; -short int var390 /* : Bool */; -long var391 /* : Int */; +short int var385 /* : Bool */; +int cltype386; +int idtype387; +const char* var_class_name388; +long var389 /* : Int */; +short int var391 /* : Bool */; short int var393 /* : Bool */; int cltype394; int idtype395; const char* var_class_name396; -long var397 /* : Int */; -long var398 /* : Int */; -short int var399 /* : Bool */; +short int var397 /* : Bool */; +val* var398 /* : MType */; +val* var400 /* : MType */; short int var401 /* : Bool */; int cltype402; int idtype403; -const char* var_class_name404; -short int var405 /* : Bool */; -val* var406 /* : ModelBuilder */; -val* var408 /* : ModelBuilder */; -val* var410 /* : NativeArray[String] */; -static val* varonce409; -static val* varonce411; -val* var412 /* : String */; -char* var413 /* : NativeString */; -val* var414 /* : String */; -static val* varonce415; -val* var416 /* : String */; -char* var417 /* : NativeString */; -val* var418 /* : String */; -static val* varonce419; -val* var420 /* : String */; -char* var421 /* : NativeString */; -val* var422 /* : String */; -static val* varonce423; -val* var424 /* : String */; -char* var425 /* : NativeString */; -val* var426 /* : String */; -static val* varonce427; -val* var428 /* : String */; -char* var429 /* : NativeString */; -val* var430 /* : String */; -val* var431 /* : String */; -val* var432 /* : String */; -val* var433 /* : String */; -long var434 /* : Int */; -long var436 /* : Int */; -val* var437 /* : String */; -val* var438 /* : String */; -val* var439 /* : String */; -val* var440 /* : ModelBuilder */; -val* var442 /* : ModelBuilder */; -val* var444 /* : NativeArray[String] */; -static val* varonce443; -static val* varonce445; -val* var446 /* : String */; -char* var447 /* : NativeString */; -val* var448 /* : String */; -static val* varonce449; -val* var450 /* : String */; -char* var451 /* : NativeString */; -val* var452 /* : String */; -static val* varonce453; -val* var454 /* : String */; -char* var455 /* : NativeString */; -val* var456 /* : String */; -static val* varonce457; -val* var458 /* : String */; -char* var459 /* : NativeString */; -val* var460 /* : String */; -static val* varonce461; -val* var462 /* : String */; -char* var463 /* : NativeString */; -val* var464 /* : String */; -val* var465 /* : String */; -val* var466 /* : String */; -val* var467 /* : String */; -long var468 /* : Int */; -long var470 /* : Int */; -val* var471 /* : String */; -val* var472 /* : String */; -val* var473 /* : String */; -short int var474 /* : Bool */; -short int var476 /* : Bool */; -int cltype477; -int idtype478; -const char* var_class_name479; -short int var480 /* : Bool */; -val* var481 /* : Array[MParameter] */; -val* var483 /* : Array[MParameter] */; -val* var484 /* : nullable Object */; -val* var485 /* : MType */; -val* var487 /* : MType */; -val* var_paramtype488 /* var paramtype: MType */; -val* var489 /* : nullable Object */; +short int var404 /* : Bool */; +long var405 /* : Int */; +short int var407 /* : Bool */; +int cltype408; +int idtype409; +const char* var_class_name410; +long var411 /* : Int */; +long var412 /* : Int */; +short int var414 /* : Bool */; +int cltype415; +int idtype416; +const char* var_class_name417; +long var418 /* : Int */; +val* var419 /* : nullable Object */; +val* var_arg /* var arg: AExpr */; +val* var420 /* : ArrayMap[Int, Int] */; +val* var422 /* : ArrayMap[Int, Int] */; +val* var423 /* : nullable Object */; +val* var424 /* : nullable Object */; +long var425 /* : Int */; +short int var427 /* : Bool */; +int cltype428; +int idtype429; +const char* var_class_name430; +long var431 /* : Int */; +short int var432 /* : Bool */; +short int var434 /* : Bool */; +long var435 /* : Int */; +short int var437 /* : Bool */; +int cltype438; +int idtype439; +const char* var_class_name440; +long var441 /* : Int */; +short int var442 /* : Bool */; +short int var444 /* : Bool */; +short int var445 /* : Bool */; +val* var446 /* : MType */; +val* var448 /* : MType */; +val* var_paramtype /* var paramtype: MType */; +val* var449 /* : nullable MType */; +short int var450 /* : Bool */; +long var451 /* : Int */; +short int var452 /* : Bool */; +short int var454 /* : Bool */; +int cltype455; +int idtype456; +const char* var_class_name457; +short int var458 /* : Bool */; +long var459 /* : Int */; +short int var461 /* : Bool */; +int cltype462; +int idtype463; +const char* var_class_name464; +long var465 /* : Int */; +long var466 /* : Int */; +short int var467 /* : Bool */; +short int var469 /* : Bool */; +int cltype470; +int idtype471; +const char* var_class_name472; +short int var473 /* : Bool */; +val* var474 /* : ModelBuilder */; +val* var476 /* : ModelBuilder */; +val* var478 /* : NativeArray[String] */; +static val* varonce477; +static val* varonce479; +val* var480 /* : String */; +char* var481 /* : CString */; +val* var482 /* : String */; +val* var483 /* : nullable Int */; +val* var484 /* : nullable Int */; +val* var485 /* : nullable Bool */; +val* var486 /* : nullable Bool */; +static val* varonce487; +val* var488 /* : String */; +char* var489 /* : CString */; +val* var490 /* : String */; +val* var491 /* : nullable Int */; +val* var492 /* : nullable Int */; +val* var493 /* : nullable Bool */; +val* var494 /* : nullable Bool */; +static val* varonce495; +val* var496 /* : String */; +char* var497 /* : CString */; +val* var498 /* : String */; +val* var499 /* : nullable Int */; +val* var500 /* : nullable Int */; +val* var501 /* : nullable Bool */; +val* var502 /* : nullable Bool */; +static val* varonce503; +val* var504 /* : String */; +char* var505 /* : CString */; +val* var506 /* : String */; +val* var507 /* : nullable Int */; +val* var508 /* : nullable Int */; +val* var509 /* : nullable Bool */; +val* var510 /* : nullable Bool */; +static val* varonce511; +val* var512 /* : String */; +char* var513 /* : CString */; +val* var514 /* : String */; +val* var515 /* : nullable Int */; +val* var516 /* : nullable Int */; +val* var517 /* : nullable Bool */; +val* var518 /* : nullable Bool */; +val* var519 /* : String */; +val* var520 /* : String */; +val* var521 /* : String */; +long var522 /* : Int */; +long var524 /* : Int */; +val* var525 /* : String */; +val* var526 /* : String */; +val* var527 /* : String */; +val* var528 /* : ModelBuilder */; +val* var530 /* : ModelBuilder */; +val* var532 /* : NativeArray[String] */; +static val* varonce531; +static val* varonce533; +val* var534 /* : String */; +char* var535 /* : CString */; +val* var536 /* : String */; +val* var537 /* : nullable Int */; +val* var538 /* : nullable Int */; +val* var539 /* : nullable Bool */; +val* var540 /* : nullable Bool */; +static val* varonce541; +val* var542 /* : String */; +char* var543 /* : CString */; +val* var544 /* : String */; +val* var545 /* : nullable Int */; +val* var546 /* : nullable Int */; +val* var547 /* : nullable Bool */; +val* var548 /* : nullable Bool */; +static val* varonce549; +val* var550 /* : String */; +char* var551 /* : CString */; +val* var552 /* : String */; +val* var553 /* : nullable Int */; +val* var554 /* : nullable Int */; +val* var555 /* : nullable Bool */; +val* var556 /* : nullable Bool */; +static val* varonce557; +val* var558 /* : String */; +char* var559 /* : CString */; +val* var560 /* : String */; +val* var561 /* : nullable Int */; +val* var562 /* : nullable Int */; +val* var563 /* : nullable Bool */; +val* var564 /* : nullable Bool */; +static val* varonce565; +val* var566 /* : String */; +char* var567 /* : CString */; +val* var568 /* : String */; +val* var569 /* : nullable Int */; +val* var570 /* : nullable Int */; +val* var571 /* : nullable Bool */; +val* var572 /* : nullable Bool */; +val* var573 /* : String */; +val* var574 /* : String */; +val* var575 /* : String */; +long var576 /* : Int */; +long var578 /* : Int */; +val* var579 /* : String */; +val* var580 /* : String */; +val* var581 /* : String */; +short int var582 /* : Bool */; +short int var584 /* : Bool */; +int cltype585; +int idtype586; +const char* var_class_name587; +short int var588 /* : Bool */; +val* var589 /* : Array[MParameter] */; +val* var591 /* : Array[MParameter] */; +val* var592 /* : nullable Object */; +val* var593 /* : MType */; +val* var595 /* : MType */; +val* var_paramtype596 /* var paramtype: MType */; +val* var597 /* : nullable Object */; val* var_first /* var first: AExpr */; -short int var490 /* : Bool */; -short int var492 /* : Bool */; -val* var493 /* : Array[MParameter] */; -val* var495 /* : Array[MParameter] */; -val* var496 /* : nullable Object */; -short int var497 /* : Bool */; -short int var498 /* : Bool */; -long var499 /* : Int */; -short int var501 /* : Bool */; -int cltype502; -int idtype503; -const char* var_class_name504; -long var505 /* : Int */; -long var_i507 /* var i: Int */; -long var508 /* : Int */; -short int var510 /* : Bool */; -int cltype511; -int idtype512; -const char* var_class_name513; -long var514 /* : Int */; -long var_515 /* var : Int */; -short int var516 /* : Bool */; -short int var518 /* : Bool */; -int cltype519; -int idtype520; -const char* var_class_name521; -short int var522 /* : Bool */; -val* var524 /* : nullable Object */; -val* var525 /* : nullable MType */; -long var526 /* : Int */; +short int var598 /* : Bool */; +short int var600 /* : Bool */; +val* var601 /* : Array[MParameter] */; +val* var603 /* : Array[MParameter] */; +val* var604 /* : nullable Object */; +short int var605 /* : Bool */; +short int var606 /* : Bool */; +long var607 /* : Int */; +short int var609 /* : Bool */; +int cltype610; +int idtype611; +const char* var_class_name612; +long var613 /* : Int */; +long var_i615 /* var i: Int */; +long var616 /* : Int */; +short int var618 /* : Bool */; +int cltype619; +int idtype620; +const char* var_class_name621; +long var622 /* : Int */; +long var_623 /* var : Int */; +short int var624 /* : Bool */; +short int var626 /* : Bool */; +int cltype627; +int idtype628; +const char* var_class_name629; +short int var630 /* : Bool */; +val* var632 /* : nullable Object */; +val* var633 /* : nullable MType */; +long var634 /* : Int */; var_node = p0; var_args = p1; var_mproperty = p2; var_msignature = p3; { -{ /* Inline model#MSignature#vararg_rank (var_msignature) on */ +{ /* Inline model$MSignature$vararg_rank (var_msignature) on */ var3 = var_msignature->attrs[COLOR_nitc__model__MSignature___vararg_rank].l; /* _vararg_rank on */ var1 = var3; RET_LABEL2:(void)0; @@ -4894,14 +5895,14 @@ RET_LABEL2:(void)0; } var_vararg_rank = var1; { -{ /* Inline kernel#Int#>= (var_vararg_rank,0l) on */ +{ /* Inline kernel$Int$>= (var_vararg_rank,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ var6 = 1; /* easy <0l:Int> isa OTHER*/ if (unlikely(!var6)) { var_class_name = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726); fatal_exit(1); } var7 = var_vararg_rank >= 0l; @@ -4912,7 +5913,7 @@ RET_LABEL5:(void)0; } if (var4){ { -{ /* Inline array#AbstractArrayRead#length (var_args) on */ +{ /* Inline array$AbstractArrayRead$length (var_args) on */ var10 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ var8 = var10; RET_LABEL9:(void)0; @@ -4922,14 +5923,14 @@ RET_LABEL9:(void)0; var11 = nitc___nitc__MSignature___arity(var_msignature); } { -{ /* Inline kernel#Int#< (var8,var11) on */ +{ /* Inline kernel$Int$< (var8,var11) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var14 = 1; /* easy isa OTHER*/ if (unlikely(!var14)) { var_class_name17 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var18 = var8 < var11; @@ -4940,9 +5941,12 @@ RET_LABEL13:(void)0; } if (var12){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ var21 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var21 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -4952,88 +5956,108 @@ RET_LABEL20:(void)0; } } if (unlikely(varonce==NULL)) { -var22 = NEW_core__NativeArray(10l, &type_core__NativeArray__core__String); +var22 = NEW_core__NativeArray((int)10l, &type_core__NativeArray__core__String); if (likely(varonce23!=NULL)) { var24 = varonce23; } else { var25 = "Error: expected at least "; -var26 = core__flat___NativeString___to_s_full(var25, 25l, 25l); +var27 = (val*)(25l<<2|1); +var28 = (val*)(25l<<2|1); +var29 = (val*)((long)(0)<<2|3); +var30 = (val*)((long)(0)<<2|3); +var26 = core__flat___CString___to_s_unsafe(var25, var27, var28, var29, var30); var24 = var26; varonce23 = var24; } ((struct instance_core__NativeArray*)var22)->values[0]=var24; -if (likely(varonce27!=NULL)) { -var28 = varonce27; -} else { -var29 = " argument(s) for `"; -var30 = core__flat___NativeString___to_s_full(var29, 18l, 18l); -var28 = var30; -varonce27 = var28; -} -((struct instance_core__NativeArray*)var22)->values[2]=var28; if (likely(varonce31!=NULL)) { var32 = varonce31; } else { -var33 = "`; got "; -var34 = core__flat___NativeString___to_s_full(var33, 7l, 7l); +var33 = " argument(s) for `"; +var35 = (val*)(18l<<2|1); +var36 = (val*)(18l<<2|1); +var37 = (val*)((long)(0)<<2|3); +var38 = (val*)((long)(0)<<2|3); +var34 = core__flat___CString___to_s_unsafe(var33, var35, var36, var37, var38); var32 = var34; varonce31 = var32; } -((struct instance_core__NativeArray*)var22)->values[5]=var32; -if (likely(varonce35!=NULL)) { -var36 = varonce35; -} else { -var37 = ". See introduction at `"; -var38 = core__flat___NativeString___to_s_full(var37, 23l, 23l); -var36 = var38; -varonce35 = var36; -} -((struct instance_core__NativeArray*)var22)->values[7]=var36; +((struct instance_core__NativeArray*)var22)->values[2]=var32; if (likely(varonce39!=NULL)) { var40 = varonce39; } else { -var41 = "`."; -var42 = core__flat___NativeString___to_s_full(var41, 2l, 2l); +var41 = "`; got "; +var43 = (val*)(7l<<2|1); +var44 = (val*)(7l<<2|1); +var45 = (val*)((long)(0)<<2|3); +var46 = (val*)((long)(0)<<2|3); +var42 = core__flat___CString___to_s_unsafe(var41, var43, var44, var45, var46); var40 = var42; varonce39 = var40; } -((struct instance_core__NativeArray*)var22)->values[9]=var40; +((struct instance_core__NativeArray*)var22)->values[5]=var40; +if (likely(varonce47!=NULL)) { +var48 = varonce47; +} else { +var49 = ". See introduction at `"; +var51 = (val*)(23l<<2|1); +var52 = (val*)(23l<<2|1); +var53 = (val*)((long)(0)<<2|3); +var54 = (val*)((long)(0)<<2|3); +var50 = core__flat___CString___to_s_unsafe(var49, var51, var52, var53, var54); +var48 = var50; +varonce47 = var48; +} +((struct instance_core__NativeArray*)var22)->values[7]=var48; +if (likely(varonce55!=NULL)) { +var56 = varonce55; +} else { +var57 = "`."; +var59 = (val*)(2l<<2|1); +var60 = (val*)(2l<<2|1); +var61 = (val*)((long)(0)<<2|3); +var62 = (val*)((long)(0)<<2|3); +var58 = core__flat___CString___to_s_unsafe(var57, var59, var60, var61, var62); +var56 = var58; +varonce55 = var56; +} +((struct instance_core__NativeArray*)var22)->values[9]=var56; } else { var22 = varonce; varonce = NULL; } { -var43 = nitc___nitc__MSignature___arity(var_msignature); +var63 = nitc___nitc__MSignature___arity(var_msignature); } -var44 = core__flat___Int___core__abstract_text__Object__to_s(var43); -((struct instance_core__NativeArray*)var22)->values[1]=var44; +var64 = core__flat___Int___core__abstract_text__Object__to_s(var63); +((struct instance_core__NativeArray*)var22)->values[1]=var64; { -var45 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on */ +var65 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on */ } -((struct instance_core__NativeArray*)var22)->values[3]=var45; +((struct instance_core__NativeArray*)var22)->values[3]=var65; { -var46 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on */ +var66 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on */ } -((struct instance_core__NativeArray*)var22)->values[4]=var46; +((struct instance_core__NativeArray*)var22)->values[4]=var66; { -{ /* Inline array#AbstractArrayRead#length (var_args) on */ -var49 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var47 = var49; -RET_LABEL48:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_args) on */ +var69 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var67 = var69; +RET_LABEL68:(void)0; } } -var50 = core__flat___Int___core__abstract_text__Object__to_s(var47); -((struct instance_core__NativeArray*)var22)->values[6]=var50; +var70 = core__flat___Int___core__abstract_text__Object__to_s(var67); +((struct instance_core__NativeArray*)var22)->values[6]=var70; { -var51 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mproperty); +var71 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mproperty); } -((struct instance_core__NativeArray*)var22)->values[8]=var51; +((struct instance_core__NativeArray*)var22)->values[8]=var71; { -var52 = ((val*(*)(val* self))(var22->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var22); /* native_to_s on */ +var72 = ((val*(*)(val* self))(var22->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var22); /* native_to_s on */ } varonce = var22; { -nitc___nitc__ModelBuilder___error(var19, var_node, var52); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var19, var_node, var72); /* Direct call modelbuilder_base$ModelBuilder$error on */ } var = ((val*)NULL); goto RET_LABEL; @@ -5041,148 +6065,171 @@ goto RET_LABEL; } } else { { -{ /* Inline array#AbstractArrayRead#length (var_args) on */ -var55 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var53 = var55; -RET_LABEL54:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_args) on */ +var75 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var73 = var75; +RET_LABEL74:(void)0; } } { -var56 = nitc___nitc__MSignature___arity(var_msignature); +var76 = nitc___nitc__MSignature___arity(var_msignature); } { -{ /* Inline kernel#Int#!= (var53,var56) on */ -var59 = var53 == var56; -var60 = !var59; -var57 = var60; -goto RET_LABEL58; -RET_LABEL58:(void)0; +{ /* Inline kernel$Int$!= (var73,var76) on */ +var79 = var73 == var76; +var80 = !var79; +var77 = var80; +goto RET_LABEL78; +RET_LABEL78:(void)0; } } -if (var57){ +if (var77){ { -{ /* Inline array#AbstractArrayRead#length (var_args) on */ -var63 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var61 = var63; -RET_LABEL62:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_args) on */ +var83 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var81 = var83; +RET_LABEL82:(void)0; } } { -var64 = nitc___nitc__MSignature___arity(var_msignature); +var84 = nitc___nitc__MSignature___arity(var_msignature); } { -{ /* Inline kernel#Int#> (var61,var64) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var67 = 1; /* easy isa OTHER*/ -if (unlikely(!var67)) { -var_class_name70 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); +{ /* Inline kernel$Int$> (var81,var84) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var87 = 1; /* easy isa OTHER*/ +if (unlikely(!var87)) { +var_class_name90 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); fatal_exit(1); } -var71 = var61 > var64; -var65 = var71; -goto RET_LABEL66; -RET_LABEL66:(void)0; +var91 = var81 > var84; +var85 = var91; +goto RET_LABEL86; +RET_LABEL86:(void)0; } } -if (var65){ +if (var85){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var74 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var74 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var94 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var94 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var72 = var74; -RET_LABEL73:(void)0; -} +var92 = var94; +RET_LABEL93:(void)0; } -if (unlikely(varonce75==NULL)) { -var76 = NEW_core__NativeArray(10l, &type_core__NativeArray__core__String); -if (likely(varonce77!=NULL)) { -var78 = varonce77; -} else { -var79 = "Error: expected "; -var80 = core__flat___NativeString___to_s_full(var79, 16l, 16l); -var78 = var80; -varonce77 = var78; } -((struct instance_core__NativeArray*)var76)->values[0]=var78; -if (likely(varonce81!=NULL)) { -var82 = varonce81; +if (unlikely(varonce95==NULL)) { +var96 = NEW_core__NativeArray((int)10l, &type_core__NativeArray__core__String); +if (likely(varonce97!=NULL)) { +var98 = varonce97; } else { -var83 = " argument(s) for `"; -var84 = core__flat___NativeString___to_s_full(var83, 18l, 18l); -var82 = var84; -varonce81 = var82; +var99 = "Error: expected "; +var101 = (val*)(16l<<2|1); +var102 = (val*)(16l<<2|1); +var103 = (val*)((long)(0)<<2|3); +var104 = (val*)((long)(0)<<2|3); +var100 = core__flat___CString___to_s_unsafe(var99, var101, var102, var103, var104); +var98 = var100; +varonce97 = var98; } -((struct instance_core__NativeArray*)var76)->values[2]=var82; -if (likely(varonce85!=NULL)) { -var86 = varonce85; +((struct instance_core__NativeArray*)var96)->values[0]=var98; +if (likely(varonce105!=NULL)) { +var106 = varonce105; +} else { +var107 = " argument(s) for `"; +var109 = (val*)(18l<<2|1); +var110 = (val*)(18l<<2|1); +var111 = (val*)((long)(0)<<2|3); +var112 = (val*)((long)(0)<<2|3); +var108 = core__flat___CString___to_s_unsafe(var107, var109, var110, var111, var112); +var106 = var108; +varonce105 = var106; +} +((struct instance_core__NativeArray*)var96)->values[2]=var106; +if (likely(varonce113!=NULL)) { +var114 = varonce113; } else { -var87 = "`; got "; -var88 = core__flat___NativeString___to_s_full(var87, 7l, 7l); -var86 = var88; -varonce85 = var86; +var115 = "`; got "; +var117 = (val*)(7l<<2|1); +var118 = (val*)(7l<<2|1); +var119 = (val*)((long)(0)<<2|3); +var120 = (val*)((long)(0)<<2|3); +var116 = core__flat___CString___to_s_unsafe(var115, var117, var118, var119, var120); +var114 = var116; +varonce113 = var114; } -((struct instance_core__NativeArray*)var76)->values[5]=var86; -if (likely(varonce89!=NULL)) { -var90 = varonce89; +((struct instance_core__NativeArray*)var96)->values[5]=var114; +if (likely(varonce121!=NULL)) { +var122 = varonce121; } else { -var91 = ". See introduction at `"; -var92 = core__flat___NativeString___to_s_full(var91, 23l, 23l); -var90 = var92; -varonce89 = var90; +var123 = ". See introduction at `"; +var125 = (val*)(23l<<2|1); +var126 = (val*)(23l<<2|1); +var127 = (val*)((long)(0)<<2|3); +var128 = (val*)((long)(0)<<2|3); +var124 = core__flat___CString___to_s_unsafe(var123, var125, var126, var127, var128); +var122 = var124; +varonce121 = var122; } -((struct instance_core__NativeArray*)var76)->values[7]=var90; -if (likely(varonce93!=NULL)) { -var94 = varonce93; +((struct instance_core__NativeArray*)var96)->values[7]=var122; +if (likely(varonce129!=NULL)) { +var130 = varonce129; } else { -var95 = "`."; -var96 = core__flat___NativeString___to_s_full(var95, 2l, 2l); -var94 = var96; -varonce93 = var94; +var131 = "`."; +var133 = (val*)(2l<<2|1); +var134 = (val*)(2l<<2|1); +var135 = (val*)((long)(0)<<2|3); +var136 = (val*)((long)(0)<<2|3); +var132 = core__flat___CString___to_s_unsafe(var131, var133, var134, var135, var136); +var130 = var132; +varonce129 = var130; } -((struct instance_core__NativeArray*)var76)->values[9]=var94; +((struct instance_core__NativeArray*)var96)->values[9]=var130; } else { -var76 = varonce75; -varonce75 = NULL; +var96 = varonce95; +varonce95 = NULL; } { -var97 = nitc___nitc__MSignature___arity(var_msignature); +var137 = nitc___nitc__MSignature___arity(var_msignature); } -var98 = core__flat___Int___core__abstract_text__Object__to_s(var97); -((struct instance_core__NativeArray*)var76)->values[1]=var98; +var138 = core__flat___Int___core__abstract_text__Object__to_s(var137); +((struct instance_core__NativeArray*)var96)->values[1]=var138; { -var99 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on */ +var139 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on */ } -((struct instance_core__NativeArray*)var76)->values[3]=var99; +((struct instance_core__NativeArray*)var96)->values[3]=var139; { -var100 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on */ +var140 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on */ } -((struct instance_core__NativeArray*)var76)->values[4]=var100; +((struct instance_core__NativeArray*)var96)->values[4]=var140; { -{ /* Inline array#AbstractArrayRead#length (var_args) on */ -var103 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var101 = var103; -RET_LABEL102:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_args) on */ +var143 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var141 = var143; +RET_LABEL142:(void)0; } } -var104 = core__flat___Int___core__abstract_text__Object__to_s(var101); -((struct instance_core__NativeArray*)var76)->values[6]=var104; +var144 = core__flat___Int___core__abstract_text__Object__to_s(var141); +((struct instance_core__NativeArray*)var96)->values[6]=var144; { -var105 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mproperty); +var145 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mproperty); } -((struct instance_core__NativeArray*)var76)->values[8]=var105; +((struct instance_core__NativeArray*)var96)->values[8]=var145; { -var106 = ((val*(*)(val* self))(var76->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var76); /* native_to_s on */ +var146 = ((val*(*)(val* self))(var96->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var96); /* native_to_s on */ } -varonce75 = var76; +varonce95 = var96; { -nitc___nitc__ModelBuilder___error(var72, var_node, var106); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var92, var_node, var146); /* Direct call modelbuilder_base$ModelBuilder$error on */ } var = ((val*)NULL); goto RET_LABEL; @@ -5191,1117 +6238,1248 @@ goto RET_LABEL; } else { } } -var107 = NEW_nitc__SignatureMap(&type_nitc__SignatureMap); +var147 = NEW_nitc__SignatureMap(&type_nitc__SignatureMap); { -{ /* Inline kernel#Object#init (var107) on */ -RET_LABEL108:(void)0; +{ /* Inline kernel$Object$init (var147) on */ +RET_LABEL148:(void)0; } } -var_map = var107; +var_map = var147; { -{ /* Inline model#MProperty#name (var_mproperty) on */ -var111 = var_mproperty->attrs[COLOR_nitc__model__MProperty___name].val; /* _name on */ -if (unlikely(var111 == NULL)) { +{ /* Inline model$MProperty$name (var_mproperty) on */ +var151 = var_mproperty->attrs[COLOR_nitc__model__MProperty___name].val; /* _name on */ +if (unlikely(var151 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1951); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2047); fatal_exit(1); } -var109 = var111; -RET_LABEL110:(void)0; +var149 = var151; +RET_LABEL150:(void)0; } } { -var112 = ((val*(*)(val* self))(var109->class->vft[COLOR_core__abstract_text__Text__chars]))(var109); /* chars on */ +var152 = ((val*(*)(val* self))(var149->class->vft[COLOR_core__abstract_text__Text__chars]))(var149); /* chars on */ } { -var113 = ((val*(*)(val* self))((((long)var112&3)?class_info[((long)var112&3)]:var112->class)->vft[COLOR_core__abstract_collection__SequenceRead__last]))(var112); /* last on */ +var153 = ((val*(*)(val* self))((((long)var152&3)?class_info[((long)var152&3)]:var152->class)->vft[COLOR_core__abstract_collection__SequenceRead__last]))(var152); /* last on */ } { -{ /* Inline kernel#Char#== (var113,'=') on */ -var117 = (uint32_t)((long)(var113)>>2); -var116 = var117 == '='; -var114 = var116; -goto RET_LABEL115; -RET_LABEL115:(void)0; +{ /* Inline kernel$Char$== (var153,'=') on */ +var157 = (uint32_t)((long)(var153)>>2); +var156 = var157 == '='; +var154 = var156; +goto RET_LABEL155; +RET_LABEL155:(void)0; } } -var_last_is_padded = var114; +var_last_is_padded = var154; { -{ /* Inline array#AbstractArrayRead#length (var_args) on */ -var120 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var118 = var120; -RET_LABEL119:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_args) on */ +var160 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var158 = var160; +RET_LABEL159:(void)0; } } -var_nbargs = var118; +var_nbargs = var158; if (var_last_is_padded){ { -{ /* Inline kernel#Int#- (var_nbargs,1l) on */ +{ /* Inline kernel$Int$- (var_nbargs,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var123 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var123)) { -var_class_name126 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name126); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +var163 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var163)) { +var_class_name166 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name166); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } -var127 = var_nbargs - 1l; -var121 = var127; -goto RET_LABEL122; -RET_LABEL122:(void)0; +var167 = var_nbargs - 1l; +var161 = var167; +goto RET_LABEL162; +RET_LABEL162:(void)0; } } -var_nbargs = var121; +var_nbargs = var161; { -var128 = core___core__SequenceRead___last(var_args); +var168 = core___core__SequenceRead___last(var_args); } -/* isa ANamedargExpr */ -cltype130 = type_nitc__ANamedargExpr.color; -idtype131 = type_nitc__ANamedargExpr.id; -if(cltype130 >= var128->type->table_size) { -var129 = 0; +/* isa ANamedargExpr */ +cltype170 = type_nitc__ANamedargExpr.color; +idtype171 = type_nitc__ANamedargExpr.id; +if(cltype170 >= var168->type->table_size) { +var169 = 0; } else { -var129 = var128->type->type_table[cltype130] == idtype131; +var169 = var168->type->type_table[cltype170] == idtype171; +} +var172 = !var169; +if (unlikely(!var172)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -var132 = !var129; -if (unlikely(!var132)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 438); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 442); fatal_exit(1); } { -{ /* Inline typing#SignatureMap#map (var_map) on */ -var135 = var_map->attrs[COLOR_nitc__typing__SignatureMap___map].val; /* _map on */ -if (unlikely(var135 == NULL)) { +{ /* Inline typing$SignatureMap$map (var_map) on */ +var175 = var_map->attrs[COLOR_nitc__typing__SignatureMap___map].val; /* _map on */ +if (unlikely(var175 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 628); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 632); fatal_exit(1); } -var133 = var135; -RET_LABEL134:(void)0; +var173 = var175; +RET_LABEL174:(void)0; } } { -var136 = nitc___nitc__MSignature___arity(var_msignature); +var176 = nitc___nitc__MSignature___arity(var_msignature); } { -{ /* Inline kernel#Int#- (var136,1l) on */ +{ /* Inline kernel$Int$- (var176,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var139 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var139)) { -var_class_name142 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name142); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +var179 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var179)) { +var_class_name182 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name182); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } -var143 = var136 - 1l; -var137 = var143; -goto RET_LABEL138; -RET_LABEL138:(void)0; +var183 = var176 - 1l; +var177 = var183; +goto RET_LABEL178; +RET_LABEL178:(void)0; } } { -{ /* Inline array#AbstractArrayRead#length (var_args) on */ -var146 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var144 = var146; -RET_LABEL145:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_args) on */ +var186 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var184 = var186; +RET_LABEL185:(void)0; } } { -{ /* Inline kernel#Int#- (var144,1l) on */ +{ /* Inline kernel$Int$- (var184,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var149 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var149)) { -var_class_name152 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name152); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +var189 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var189)) { +var_class_name192 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name192); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } -var153 = var144 - 1l; -var147 = var153; -goto RET_LABEL148; -RET_LABEL148:(void)0; +var193 = var184 - 1l; +var187 = var193; +goto RET_LABEL188; +RET_LABEL188:(void)0; } } { -var154 = (val*)(var137<<2|1); -var155 = (val*)(var147<<2|1); -core___core__ArrayMap___core__abstract_collection__Map___91d_93d_61d(var133, var154, var155); /* Direct call array#ArrayMap#[]= on */ +var194 = (val*)(var177<<2|1); +var195 = (val*)(var187<<2|1); +core___core__ArrayMap___core__abstract_collection__Map___91d_93d_61d(var173, var194, var195); /* Direct call array$ArrayMap$[]= on */ } { -var156 = core___core__SequenceRead___last(var_args); +var196 = core___core__SequenceRead___last(var_args); } { -{ /* Inline model#MSignature#mparameters (var_msignature) on */ -var159 = var_msignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var159 == NULL)) { +{ /* Inline model$MSignature$mparameters (var_msignature) on */ +var199 = var_msignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var199 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1783); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1879); fatal_exit(1); } -var157 = var159; -RET_LABEL158:(void)0; +var197 = var199; +RET_LABEL198:(void)0; } } { -var160 = core___core__SequenceRead___last(var157); +var200 = core___core__SequenceRead___last(var197); } { -{ /* Inline model#MParameter#mtype (var160) on */ -var163 = var160->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var163 == NULL)) { +{ /* Inline model$MParameter$mtype (var200) on */ +var203 = var200->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var203 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1900); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1996); fatal_exit(1); } -var161 = var163; -RET_LABEL162:(void)0; +var201 = var203; +RET_LABEL202:(void)0; } } { -var164 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self, var156, var161); +var204 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self, var196, var201); } } else { } var_i = 0l; { -{ /* Inline array#AbstractArrayRead#length (var_args) on */ -var167 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var165 = var167; -RET_LABEL166:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_args) on */ +var207 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var205 = var207; +RET_LABEL206:(void)0; } } -var_ = var165; +var_ = var205; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ +{ /* Inline kernel$Int$< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var170 = 1; /* easy isa OTHER*/ -if (unlikely(!var170)) { -var_class_name173 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name173); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +var210 = 1; /* easy isa OTHER*/ +if (unlikely(!var210)) { +var_class_name213 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name213); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var174 = var_i < var_; -var168 = var174; -goto RET_LABEL169; -RET_LABEL169:(void)0; +var214 = var_i < var_; +var208 = var214; +goto RET_LABEL209; +RET_LABEL209:(void)0; } } -if (var168){ +if (var208){ } else { goto BREAK_label; } { -var175 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args, var_i); +var215 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args, var_i); } -var_e = var175; +var_e = var215; /* isa ANamedargExpr */ -cltype177 = type_nitc__ANamedargExpr.color; -idtype178 = type_nitc__ANamedargExpr.id; -if(cltype177 >= var_e->type->table_size) { -var176 = 0; +cltype217 = type_nitc__ANamedargExpr.color; +idtype218 = type_nitc__ANamedargExpr.id; +if(cltype217 >= var_e->type->table_size) { +var216 = 0; } else { -var176 = var_e->type->type_table[cltype177] == idtype178; +var216 = var_e->type->type_table[cltype217] == idtype218; } -var179 = !var176; -if (var179){ -goto BREAK_label180; +var219 = !var216; +if (var219){ +goto BREAK_label220; } else { } { -{ /* Inline parser_nodes#ANamedargExpr#n_id (var_e) on */ -var183 = var_e->attrs[COLOR_nitc__parser_nodes__ANamedargExpr___n_id].val; /* _n_id on */ -if (unlikely(var183 == NULL)) { +{ /* Inline parser_nodes$ANamedargExpr$n_id (var_e) on */ +var223 = var_e->attrs[COLOR_nitc__parser_nodes__ANamedargExpr___n_id].val; /* _n_id on */ +if (unlikely(var223 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2641); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2722); fatal_exit(1); } -var181 = var183; -RET_LABEL182:(void)0; +var221 = var223; +RET_LABEL222:(void)0; } } { -var184 = nitc__lexer_work___Token___text(var181); +var224 = nitc__lexer_work___Token___text(var221); } -var_name = var184; +var_name = var224; { -var185 = nitc___nitc__MSignature___mparameter_by_name(var_msignature, var_name); +var225 = nitc___nitc__MSignature___mparameter_by_name(var_msignature, var_name); } -var_param = var185; +var_param = var225; if (var_param == NULL) { -var186 = 1; /* is null */ +var226 = 1; /* is null */ } else { -var186 = 0; /* arg is null but recv is not */ +var226 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_param,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_param,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_param,var_other) on */ -var191 = var_param == var_other; -var189 = var191; -goto RET_LABEL190; -RET_LABEL190:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_param,var_other) on */ +var231 = var_param == var_other; +var229 = var231; +goto RET_LABEL230; +RET_LABEL230:(void)0; } } -var187 = var189; -goto RET_LABEL188; -RET_LABEL188:(void)0; +var227 = var229; +goto RET_LABEL228; +RET_LABEL228:(void)0; } -var186 = var187; +var226 = var227; } -if (var186){ +if (var226){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var194 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var194 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var234 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var234 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var192 = var194; -RET_LABEL193:(void)0; +var232 = var234; +RET_LABEL233:(void)0; } } { -{ /* Inline parser_nodes#ANamedargExpr#n_id (var_e) on */ -var197 = var_e->attrs[COLOR_nitc__parser_nodes__ANamedargExpr___n_id].val; /* _n_id on */ -if (unlikely(var197 == NULL)) { +{ /* Inline parser_nodes$ANamedargExpr$n_id (var_e) on */ +var237 = var_e->attrs[COLOR_nitc__parser_nodes__ANamedargExpr___n_id].val; /* _n_id on */ +if (unlikely(var237 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2641); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2722); fatal_exit(1); } -var195 = var197; -RET_LABEL196:(void)0; -} -} -if (unlikely(varonce198==NULL)) { -var199 = NEW_core__NativeArray(6l, &type_core__NativeArray__core__String); -if (likely(varonce200!=NULL)) { -var201 = varonce200; -} else { -var202 = "Error: no parameter `"; -var203 = core__flat___NativeString___to_s_full(var202, 21l, 21l); -var201 = var203; -varonce200 = var201; -} -((struct instance_core__NativeArray*)var199)->values[0]=var201; -if (likely(varonce204!=NULL)) { -var205 = varonce204; -} else { -var206 = "` for `"; -var207 = core__flat___NativeString___to_s_full(var206, 7l, 7l); -var205 = var207; -varonce204 = var205; -} -((struct instance_core__NativeArray*)var199)->values[2]=var205; -if (likely(varonce208!=NULL)) { -var209 = varonce208; -} else { -var210 = "`."; -var211 = core__flat___NativeString___to_s_full(var210, 2l, 2l); -var209 = var211; -varonce208 = var209; -} -((struct instance_core__NativeArray*)var199)->values[5]=var209; +var235 = var237; +RET_LABEL236:(void)0; +} +} +if (unlikely(varonce238==NULL)) { +var239 = NEW_core__NativeArray((int)6l, &type_core__NativeArray__core__String); +if (likely(varonce240!=NULL)) { +var241 = varonce240; +} else { +var242 = "Error: no parameter `"; +var244 = (val*)(21l<<2|1); +var245 = (val*)(21l<<2|1); +var246 = (val*)((long)(0)<<2|3); +var247 = (val*)((long)(0)<<2|3); +var243 = core__flat___CString___to_s_unsafe(var242, var244, var245, var246, var247); +var241 = var243; +varonce240 = var241; +} +((struct instance_core__NativeArray*)var239)->values[0]=var241; +if (likely(varonce248!=NULL)) { +var249 = varonce248; +} else { +var250 = "` for `"; +var252 = (val*)(7l<<2|1); +var253 = (val*)(7l<<2|1); +var254 = (val*)((long)(0)<<2|3); +var255 = (val*)((long)(0)<<2|3); +var251 = core__flat___CString___to_s_unsafe(var250, var252, var253, var254, var255); +var249 = var251; +varonce248 = var249; +} +((struct instance_core__NativeArray*)var239)->values[2]=var249; +if (likely(varonce256!=NULL)) { +var257 = varonce256; +} else { +var258 = "`."; +var260 = (val*)(2l<<2|1); +var261 = (val*)(2l<<2|1); +var262 = (val*)((long)(0)<<2|3); +var263 = (val*)((long)(0)<<2|3); +var259 = core__flat___CString___to_s_unsafe(var258, var260, var261, var262, var263); +var257 = var259; +varonce256 = var257; +} +((struct instance_core__NativeArray*)var239)->values[5]=var257; } else { -var199 = varonce198; -varonce198 = NULL; +var239 = varonce238; +varonce238 = NULL; } -((struct instance_core__NativeArray*)var199)->values[1]=var_name; +((struct instance_core__NativeArray*)var239)->values[1]=var_name; { -var212 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on */ +var264 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on */ } -((struct instance_core__NativeArray*)var199)->values[3]=var212; +((struct instance_core__NativeArray*)var239)->values[3]=var264; { -var213 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on */ +var265 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on */ } -((struct instance_core__NativeArray*)var199)->values[4]=var213; +((struct instance_core__NativeArray*)var239)->values[4]=var265; { -var214 = ((val*(*)(val* self))(var199->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var199); /* native_to_s on */ +var266 = ((val*(*)(val* self))(var239->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var239); /* native_to_s on */ } -varonce198 = var199; +varonce238 = var239; { -nitc___nitc__ModelBuilder___error(var192, var195, var214); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var232, var235, var266); /* Direct call modelbuilder_base$ModelBuilder$error on */ } var = ((val*)NULL); goto RET_LABEL; } else { } { -{ /* Inline model#MSignature#mparameters (var_msignature) on */ -var217 = var_msignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var217 == NULL)) { +{ /* Inline model$MSignature$mparameters (var_msignature) on */ +var269 = var_msignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var269 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1783); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1879); fatal_exit(1); } -var215 = var217; -RET_LABEL216:(void)0; +var267 = var269; +RET_LABEL268:(void)0; } } { -var218 = core___core__AbstractArrayRead___core__abstract_collection__SequenceRead__index_of(var215, var_param); +var270 = core___core__AbstractArrayRead___core__abstract_collection__SequenceRead__index_of(var267, var_param); } -var_idx = var218; +var_idx = var270; { -{ /* Inline typing#SignatureMap#map (var_map) on */ -var221 = var_map->attrs[COLOR_nitc__typing__SignatureMap___map].val; /* _map on */ -if (unlikely(var221 == NULL)) { +{ /* Inline typing$SignatureMap$map (var_map) on */ +var273 = var_map->attrs[COLOR_nitc__typing__SignatureMap___map].val; /* _map on */ +if (unlikely(var273 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 628); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 632); fatal_exit(1); } -var219 = var221; -RET_LABEL220:(void)0; +var271 = var273; +RET_LABEL272:(void)0; } } { -var223 = (val*)(var_idx<<2|1); -var222 = core___core__MapRead___get_or_null(var219, var223); +var275 = (val*)(var_idx<<2|1); +var274 = core___core__MapRead___get_or_null(var271, var275); } -var_prev = var222; +var_prev = var274; if (var_prev == NULL) { -var224 = 0; /* is null */ +var276 = 0; /* is null */ } else { -var224 = 1; /* arg is null and recv is not */ +var276 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Int#!= (var_prev,((val*)NULL)) on */ -var227 = 0; /* incompatible types Int vs. null; cannot be NULL */ -var228 = !var227; -var225 = var228; -goto RET_LABEL226; -RET_LABEL226:(void)0; +{ /* Inline kernel$Int$!= (var_prev,((val*)NULL)) on */ +var279 = 0; /* incompatible types Int vs. null; cannot be NULL */ +var280 = !var279; +var277 = var280; +goto RET_LABEL278; +RET_LABEL278:(void)0; } -var224 = var225; +var276 = var277; } -if (var224){ +if (var276){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var231 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var231 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var283 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var283 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var229 = var231; -RET_LABEL230:(void)0; +var281 = var283; +RET_LABEL282:(void)0; } } -if (unlikely(varonce232==NULL)) { -var233 = NEW_core__NativeArray(8l, &type_core__NativeArray__core__String); -if (likely(varonce234!=NULL)) { -var235 = varonce234; +if (unlikely(varonce284==NULL)) { +var285 = NEW_core__NativeArray((int)8l, &type_core__NativeArray__core__String); +if (likely(varonce286!=NULL)) { +var287 = varonce286; } else { -var236 = "Error: parameter `"; -var237 = core__flat___NativeString___to_s_full(var236, 18l, 18l); -var235 = var237; -varonce234 = var235; +var288 = "Error: parameter `"; +var290 = (val*)(18l<<2|1); +var291 = (val*)(18l<<2|1); +var292 = (val*)((long)(0)<<2|3); +var293 = (val*)((long)(0)<<2|3); +var289 = core__flat___CString___to_s_unsafe(var288, var290, var291, var292, var293); +var287 = var289; +varonce286 = var287; } -((struct instance_core__NativeArray*)var233)->values[0]=var235; -if (likely(varonce238!=NULL)) { -var239 = varonce238; +((struct instance_core__NativeArray*)var285)->values[0]=var287; +if (likely(varonce294!=NULL)) { +var295 = varonce294; } else { -var240 = "` already associated with argument #"; -var241 = core__flat___NativeString___to_s_full(var240, 36l, 36l); -var239 = var241; -varonce238 = var239; +var296 = "` already associated with argument #"; +var298 = (val*)(36l<<2|1); +var299 = (val*)(36l<<2|1); +var300 = (val*)((long)(0)<<2|3); +var301 = (val*)((long)(0)<<2|3); +var297 = core__flat___CString___to_s_unsafe(var296, var298, var299, var300, var301); +var295 = var297; +varonce294 = var295; } -((struct instance_core__NativeArray*)var233)->values[2]=var239; -if (likely(varonce242!=NULL)) { -var243 = varonce242; +((struct instance_core__NativeArray*)var285)->values[2]=var295; +if (likely(varonce302!=NULL)) { +var303 = varonce302; } else { -var244 = " for `"; -var245 = core__flat___NativeString___to_s_full(var244, 6l, 6l); -var243 = var245; -varonce242 = var243; +var304 = " for `"; +var306 = (val*)(6l<<2|1); +var307 = (val*)(6l<<2|1); +var308 = (val*)((long)(0)<<2|3); +var309 = (val*)((long)(0)<<2|3); +var305 = core__flat___CString___to_s_unsafe(var304, var306, var307, var308, var309); +var303 = var305; +varonce302 = var303; } -((struct instance_core__NativeArray*)var233)->values[4]=var243; -if (likely(varonce246!=NULL)) { -var247 = varonce246; +((struct instance_core__NativeArray*)var285)->values[4]=var303; +if (likely(varonce310!=NULL)) { +var311 = varonce310; } else { -var248 = "`."; -var249 = core__flat___NativeString___to_s_full(var248, 2l, 2l); -var247 = var249; -varonce246 = var247; +var312 = "`."; +var314 = (val*)(2l<<2|1); +var315 = (val*)(2l<<2|1); +var316 = (val*)((long)(0)<<2|3); +var317 = (val*)((long)(0)<<2|3); +var313 = core__flat___CString___to_s_unsafe(var312, var314, var315, var316, var317); +var311 = var313; +varonce310 = var311; } -((struct instance_core__NativeArray*)var233)->values[7]=var247; +((struct instance_core__NativeArray*)var285)->values[7]=var311; } else { -var233 = varonce232; -varonce232 = NULL; +var285 = varonce284; +varonce284 = NULL; } -((struct instance_core__NativeArray*)var233)->values[1]=var_name; -var251 = (long)(var_prev)>>2; -var250 = core__flat___Int___core__abstract_text__Object__to_s(var251); -((struct instance_core__NativeArray*)var233)->values[3]=var250; +((struct instance_core__NativeArray*)var285)->values[1]=var_name; +var319 = (long)(var_prev)>>2; +var318 = core__flat___Int___core__abstract_text__Object__to_s(var319); +((struct instance_core__NativeArray*)var285)->values[3]=var318; { -var252 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on */ +var320 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on */ } -((struct instance_core__NativeArray*)var233)->values[5]=var252; +((struct instance_core__NativeArray*)var285)->values[5]=var320; { -var253 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on */ +var321 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on */ } -((struct instance_core__NativeArray*)var233)->values[6]=var253; +((struct instance_core__NativeArray*)var285)->values[6]=var321; { -var254 = ((val*(*)(val* self))(var233->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var233); /* native_to_s on */ +var322 = ((val*(*)(val* self))(var285->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var285); /* native_to_s on */ } -varonce232 = var233; +varonce284 = var285; { -nitc___nitc__ModelBuilder___error(var229, var_e, var254); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var281, var_e, var322); /* Direct call modelbuilder_base$ModelBuilder$error on */ } var = ((val*)NULL); goto RET_LABEL; } else { } { -{ /* Inline typing#SignatureMap#map (var_map) on */ -var257 = var_map->attrs[COLOR_nitc__typing__SignatureMap___map].val; /* _map on */ -if (unlikely(var257 == NULL)) { +{ /* Inline typing$SignatureMap$map (var_map) on */ +var325 = var_map->attrs[COLOR_nitc__typing__SignatureMap___map].val; /* _map on */ +if (unlikely(var325 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 628); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 632); fatal_exit(1); } -var255 = var257; -RET_LABEL256:(void)0; +var323 = var325; +RET_LABEL324:(void)0; } } { -var258 = (val*)(var_idx<<2|1); -var259 = (val*)(var_i<<2|1); -core___core__ArrayMap___core__abstract_collection__Map___91d_93d_61d(var255, var258, var259); /* Direct call array#ArrayMap#[]= on */ +var326 = (val*)(var_idx<<2|1); +var327 = (val*)(var_i<<2|1); +core___core__ArrayMap___core__abstract_collection__Map___91d_93d_61d(var323, var326, var327); /* Direct call array$ArrayMap$[]= on */ } { -{ /* Inline parser_nodes#ANamedargExpr#n_expr (var_e) on */ -var262 = var_e->attrs[COLOR_nitc__parser_nodes__ANamedargExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var262 == NULL)) { +{ /* Inline parser_nodes$ANamedargExpr$n_expr (var_e) on */ +var330 = var_e->attrs[COLOR_nitc__parser_nodes__ANamedargExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var330 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2647); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2728); fatal_exit(1); } -var260 = var262; -RET_LABEL261:(void)0; +var328 = var330; +RET_LABEL329:(void)0; } } { -{ /* Inline model#MParameter#mtype (var_param) on */ -var265 = var_param->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var265 == NULL)) { +{ /* Inline model$MParameter$mtype (var_param) on */ +var333 = var_param->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var333 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1900); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1996); fatal_exit(1); } -var263 = var265; -RET_LABEL264:(void)0; +var331 = var333; +RET_LABEL332:(void)0; } } { -var266 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self, var260, var263); +var334 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self, var328, var331); } { -{ /* Inline typing#AExpr#mtype= (var_e,var266) on */ -var_e->attrs[COLOR_nitc__typing__AExpr___mtype].val = var266; /* _mtype on */ -RET_LABEL267:(void)0; +{ /* Inline typing$AExpr$mtype= (var_e,var334) on */ +var_e->attrs[COLOR_nitc__typing__AExpr___mtype].val = var334; /* _mtype on */ +RET_LABEL335:(void)0; } } -BREAK_label180: (void)0; +BREAK_label220: (void)0; { -var268 = core___core__Int___Discrete__successor(var_i, 1l); +var336 = core___core__Int___Discrete__successor(var_i, 1l); } -var_i = var268; +var_i = var336; } BREAK_label: (void)0; var_min_arity = 0l; { -{ /* Inline array#AbstractArrayRead#length (var_args) on */ -var271 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var269 = var271; -RET_LABEL270:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_args) on */ +var339 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var337 = var339; +RET_LABEL338:(void)0; } } { -var272 = nitc___nitc__MSignature___arity(var_msignature); +var340 = nitc___nitc__MSignature___arity(var_msignature); } { -{ /* Inline kernel#Int#- (var269,var272) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var275 = 1; /* easy isa OTHER*/ -if (unlikely(!var275)) { -var_class_name278 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name278); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +{ /* Inline kernel$Int$- (var337,var340) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var343 = 1; /* easy isa OTHER*/ +if (unlikely(!var343)) { +var_class_name346 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name346); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } -var279 = var269 - var272; -var273 = var279; -goto RET_LABEL274; -RET_LABEL274:(void)0; +var347 = var337 - var340; +var341 = var347; +goto RET_LABEL342; +RET_LABEL342:(void)0; } } -var_vararg_decl = var273; +var_vararg_decl = var341; var_j = 0l; -var_i280 = 0l; +var_i348 = 0l; { -var281 = nitc___nitc__MSignature___arity(var_msignature); +var349 = nitc___nitc__MSignature___arity(var_msignature); } -var_282 = var281; +var_350 = var349; for(;;) { { -{ /* Inline kernel#Int#< (var_i280,var_282) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var285 = 1; /* easy isa OTHER*/ -if (unlikely(!var285)) { -var_class_name288 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name288); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +{ /* Inline kernel$Int$< (var_i348,var_350) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var353 = 1; /* easy isa OTHER*/ +if (unlikely(!var353)) { +var_class_name356 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name356); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var289 = var_i280 < var_282; -var283 = var289; -goto RET_LABEL284; -RET_LABEL284:(void)0; +var357 = var_i348 < var_350; +var351 = var357; +goto RET_LABEL352; +RET_LABEL352:(void)0; } } -if (var283){ +if (var351){ } else { -goto BREAK_label290; +goto BREAK_label358; } { -{ /* Inline typing#SignatureMap#map (var_map) on */ -var293 = var_map->attrs[COLOR_nitc__typing__SignatureMap___map].val; /* _map on */ -if (unlikely(var293 == NULL)) { +{ /* Inline typing$SignatureMap$map (var_map) on */ +var361 = var_map->attrs[COLOR_nitc__typing__SignatureMap___map].val; /* _map on */ +if (unlikely(var361 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 628); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 632); fatal_exit(1); } -var291 = var293; -RET_LABEL292:(void)0; +var359 = var361; +RET_LABEL360:(void)0; } } { -var295 = (val*)(var_i280<<2|1); -var294 = core___core__CoupleMap___MapRead__has_key(var291, var295); +var363 = (val*)(var_i348<<2|1); +var362 = core___core__CoupleMap___MapRead__has_key(var359, var363); } -if (var294){ -goto BREAK_label296; +if (var362){ +goto BREAK_label364; } else { } { -{ /* Inline model#MSignature#mparameters (var_msignature) on */ -var299 = var_msignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var299 == NULL)) { +{ /* Inline model$MSignature$mparameters (var_msignature) on */ +var367 = var_msignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var367 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1783); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1879); fatal_exit(1); } -var297 = var299; -RET_LABEL298:(void)0; +var365 = var367; +RET_LABEL366:(void)0; } } { -var300 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var297, var_i280); +var368 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var365, var_i348); } -var_param301 = var300; +var_param369 = var368; for(;;) { { -{ /* Inline kernel#Int#< (var_j,var_nbargs) on */ +{ /* Inline kernel$Int$< (var_j,var_nbargs) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var305 = 1; /* easy isa OTHER*/ -if (unlikely(!var305)) { -var_class_name308 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name308); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +var373 = 1; /* easy isa OTHER*/ +if (unlikely(!var373)) { +var_class_name376 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name376); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var309 = var_j < var_nbargs; -var303 = var309; -goto RET_LABEL304; -RET_LABEL304:(void)0; +var377 = var_j < var_nbargs; +var371 = var377; +goto RET_LABEL372; +RET_LABEL372:(void)0; } } -var_310 = var303; -if (var303){ +var_378 = var371; +if (var371){ { -var311 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args, var_j); +var379 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args, var_j); } -/* isa ANamedargExpr */ -cltype313 = type_nitc__ANamedargExpr.color; -idtype314 = type_nitc__ANamedargExpr.id; -if(cltype313 >= var311->type->table_size) { -var312 = 0; +/* isa ANamedargExpr */ +cltype381 = type_nitc__ANamedargExpr.color; +idtype382 = type_nitc__ANamedargExpr.id; +if(cltype381 >= var379->type->table_size) { +var380 = 0; } else { -var312 = var311->type->type_table[cltype313] == idtype314; +var380 = var379->type->type_table[cltype381] == idtype382; } -var302 = var312; +var370 = var380; } else { -var302 = var_310; +var370 = var_378; } -if (var302){ +if (var370){ { -{ /* Inline kernel#Int#+ (var_j,1l) on */ +{ /* Inline kernel$Int$+ (var_j,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var317 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var317)) { -var_class_name320 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name320); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +var385 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var385)) { +var_class_name388 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name388); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var321 = var_j + 1l; -var315 = var321; -goto RET_LABEL316; -RET_LABEL316:(void)0; +var389 = var_j + 1l; +var383 = var389; +goto RET_LABEL384; +RET_LABEL384:(void)0; } } -var_j = var315; +var_j = var383; } else { -goto BREAK_label322; +goto BREAK_label390; } } -BREAK_label322: (void)0; +BREAK_label390: (void)0; { -{ /* Inline kernel#Int#>= (var_j,var_nbargs) on */ +{ /* Inline kernel$Int$>= (var_j,var_nbargs) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var325 = 1; /* easy isa OTHER*/ -if (unlikely(!var325)) { -var_class_name328 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name328); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729); +var393 = 1; /* easy isa OTHER*/ +if (unlikely(!var393)) { +var_class_name396 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name396); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726); fatal_exit(1); } -var329 = var_j >= var_nbargs; -var323 = var329; -goto RET_LABEL324; -RET_LABEL324:(void)0; +var397 = var_j >= var_nbargs; +var391 = var397; +goto RET_LABEL392; +RET_LABEL392:(void)0; } } -if (var323){ +if (var391){ { -{ /* Inline model#MParameter#mtype (var_param301) on */ -var332 = var_param301->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var332 == NULL)) { +{ /* Inline model$MParameter$mtype (var_param369) on */ +var400 = var_param369->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var400 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1900); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1996); fatal_exit(1); } -var330 = var332; -RET_LABEL331:(void)0; +var398 = var400; +RET_LABEL399:(void)0; } } -/* isa MNullableType */ -cltype334 = type_nitc__MNullableType.color; -idtype335 = type_nitc__MNullableType.id; -if(cltype334 >= var330->type->table_size) { -var333 = 0; +/* isa MNullableType */ +cltype402 = type_nitc__MNullableType.color; +idtype403 = type_nitc__MNullableType.id; +if(cltype402 >= var398->type->table_size) { +var401 = 0; } else { -var333 = var330->type->type_table[cltype334] == idtype335; +var401 = var398->type->type_table[cltype402] == idtype403; } -var336 = !var333; -if (var336){ +var404 = !var401; +if (var404){ { -{ /* Inline kernel#Int#+ (var_j,1l) on */ +{ /* Inline kernel$Int$+ (var_j,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var339 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var339)) { -var_class_name342 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name342); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +var407 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var407)) { +var_class_name410 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name410); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var343 = var_j + 1l; -var337 = var343; -goto RET_LABEL338; -RET_LABEL338:(void)0; +var411 = var_j + 1l; +var405 = var411; +goto RET_LABEL406; +RET_LABEL406:(void)0; } } -var_min_arity = var337; +var_min_arity = var405; } else { } { -{ /* Inline kernel#Int#+ (var_j,1l) on */ +{ /* Inline kernel$Int$+ (var_j,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var346 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var346)) { -var_class_name349 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name349); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +var414 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var414)) { +var_class_name417 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name417); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var350 = var_j + 1l; -var344 = var350; -goto RET_LABEL345; -RET_LABEL345:(void)0; +var418 = var_j + 1l; +var412 = var418; +goto RET_LABEL413; +RET_LABEL413:(void)0; } } -var_j = var344; -goto BREAK_label296; +var_j = var412; +goto BREAK_label364; } else { } { -var351 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args, var_j); +var419 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args, var_j); } -var_arg = var351; +var_arg = var419; { -{ /* Inline typing#SignatureMap#map (var_map) on */ -var354 = var_map->attrs[COLOR_nitc__typing__SignatureMap___map].val; /* _map on */ -if (unlikely(var354 == NULL)) { +{ /* Inline typing$SignatureMap$map (var_map) on */ +var422 = var_map->attrs[COLOR_nitc__typing__SignatureMap___map].val; /* _map on */ +if (unlikely(var422 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 628); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 632); fatal_exit(1); } -var352 = var354; -RET_LABEL353:(void)0; +var420 = var422; +RET_LABEL421:(void)0; } } { -var355 = (val*)(var_i280<<2|1); -var356 = (val*)(var_j<<2|1); -core___core__ArrayMap___core__abstract_collection__Map___91d_93d_61d(var352, var355, var356); /* Direct call array#ArrayMap#[]= on */ +var423 = (val*)(var_i348<<2|1); +var424 = (val*)(var_j<<2|1); +core___core__ArrayMap___core__abstract_collection__Map___91d_93d_61d(var420, var423, var424); /* Direct call array$ArrayMap$[]= on */ } { -{ /* Inline kernel#Int#+ (var_j,1l) on */ +{ /* Inline kernel$Int$+ (var_j,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var359 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var359)) { -var_class_name362 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name362); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +var427 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var427)) { +var_class_name430 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name430); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var363 = var_j + 1l; -var357 = var363; -goto RET_LABEL358; -RET_LABEL358:(void)0; +var431 = var_j + 1l; +var425 = var431; +goto RET_LABEL426; +RET_LABEL426:(void)0; } } -var_j = var357; +var_j = var425; { -{ /* Inline kernel#Int#== (var_i280,var_vararg_rank) on */ -var366 = var_i280 == var_vararg_rank; -var364 = var366; -goto RET_LABEL365; -RET_LABEL365:(void)0; +{ /* Inline kernel$Int$== (var_i348,var_vararg_rank) on */ +var434 = var_i348 == var_vararg_rank; +var432 = var434; +goto RET_LABEL433; +RET_LABEL433:(void)0; } } -if (var364){ +if (var432){ { -{ /* Inline kernel#Int#+ (var_j,var_vararg_decl) on */ +{ /* Inline kernel$Int$+ (var_j,var_vararg_decl) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var369 = 1; /* easy isa OTHER*/ -if (unlikely(!var369)) { -var_class_name372 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name372); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +var437 = 1; /* easy isa OTHER*/ +if (unlikely(!var437)) { +var_class_name440 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name440); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var373 = var_j + var_vararg_decl; -var367 = var373; -goto RET_LABEL368; -RET_LABEL368:(void)0; +var441 = var_j + var_vararg_decl; +var435 = var441; +goto RET_LABEL436; +RET_LABEL436:(void)0; } } -var_j = var367; -goto BREAK_label296; +var_j = var435; +goto BREAK_label364; } else { } { -{ /* Inline model#MParameter#is_vararg (var_param301) on */ -var376 = var_param301->attrs[COLOR_nitc__model__MParameter___is_vararg].s; /* _is_vararg on */ -var374 = var376; -RET_LABEL375:(void)0; +{ /* Inline model$MParameter$is_vararg (var_param369) on */ +var444 = var_param369->attrs[COLOR_nitc__model__MParameter___is_vararg].s; /* _is_vararg on */ +var442 = var444; +RET_LABEL443:(void)0; } } -var377 = !var374; -if (var377){ +var445 = !var442; +if (var445){ { -{ /* Inline model#MParameter#mtype (var_param301) on */ -var380 = var_param301->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var380 == NULL)) { +{ /* Inline model$MParameter$mtype (var_param369) on */ +var448 = var_param369->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var448 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1900); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1996); fatal_exit(1); } -var378 = var380; -RET_LABEL379:(void)0; +var446 = var448; +RET_LABEL447:(void)0; } } -var_paramtype = var378; +var_paramtype = var446; { -var381 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self, var_arg, var_paramtype); +var449 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self, var_arg, var_paramtype); } } else { { -var382 = nitc__typing___nitc__typing__TypeVisitor___check_one_vararg(self, var_arg, var_param301); +var450 = nitc__typing___nitc__typing__TypeVisitor___check_one_vararg(self, var_arg, var_param369); } } -BREAK_label296: (void)0; +BREAK_label364: (void)0; { -var383 = core___core__Int___Discrete__successor(var_i280, 1l); +var451 = core___core__Int___Discrete__successor(var_i348, 1l); } -var_i280 = var383; +var_i348 = var451; } -BREAK_label290: (void)0; +BREAK_label358: (void)0; { -{ /* Inline kernel#Int#> (var_min_arity,0l) on */ +{ /* Inline kernel$Int$> (var_min_arity,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ -var386 = 1; /* easy <0l:Int> isa OTHER*/ -if (unlikely(!var386)) { -var_class_name389 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name389); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); +var454 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var454)) { +var_class_name457 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name457); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); fatal_exit(1); } -var390 = var_min_arity > 0l; -var384 = var390; -goto RET_LABEL385; -RET_LABEL385:(void)0; +var458 = var_min_arity > 0l; +var452 = var458; +goto RET_LABEL453; +RET_LABEL453:(void)0; } } -if (var384){ +if (var452){ if (var_last_is_padded){ { -{ /* Inline kernel#Int#+ (var_min_arity,1l) on */ +{ /* Inline kernel$Int$+ (var_min_arity,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var393 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var393)) { -var_class_name396 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name396); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +var461 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var461)) { +var_class_name464 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name464); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var397 = var_min_arity + 1l; -var391 = var397; -goto RET_LABEL392; -RET_LABEL392:(void)0; +var465 = var_min_arity + 1l; +var459 = var465; +goto RET_LABEL460; +RET_LABEL460:(void)0; } } -var_min_arity = var391; +var_min_arity = var459; } else { } { -var398 = nitc___nitc__MSignature___arity(var_msignature); +var466 = nitc___nitc__MSignature___arity(var_msignature); } { -{ /* Inline kernel#Int#< (var_min_arity,var398) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var401 = 1; /* easy isa OTHER*/ -if (unlikely(!var401)) { -var_class_name404 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name404); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +{ /* Inline kernel$Int$< (var_min_arity,var466) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var469 = 1; /* easy isa OTHER*/ +if (unlikely(!var469)) { +var_class_name472 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name472); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var405 = var_min_arity < var398; -var399 = var405; -goto RET_LABEL400; -RET_LABEL400:(void)0; +var473 = var_min_arity < var466; +var467 = var473; +goto RET_LABEL468; +RET_LABEL468:(void)0; } } -if (var399){ +if (var467){ { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var408 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var408 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var476 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var476 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var406 = var408; -RET_LABEL407:(void)0; +var474 = var476; +RET_LABEL475:(void)0; } } -if (unlikely(varonce409==NULL)) { -var410 = NEW_core__NativeArray(10l, &type_core__NativeArray__core__String); -if (likely(varonce411!=NULL)) { -var412 = varonce411; +if (unlikely(varonce477==NULL)) { +var478 = NEW_core__NativeArray((int)10l, &type_core__NativeArray__core__String); +if (likely(varonce479!=NULL)) { +var480 = varonce479; } else { -var413 = "Error: expected at least "; -var414 = core__flat___NativeString___to_s_full(var413, 25l, 25l); -var412 = var414; -varonce411 = var412; +var481 = "Error: expected at least "; +var483 = (val*)(25l<<2|1); +var484 = (val*)(25l<<2|1); +var485 = (val*)((long)(0)<<2|3); +var486 = (val*)((long)(0)<<2|3); +var482 = core__flat___CString___to_s_unsafe(var481, var483, var484, var485, var486); +var480 = var482; +varonce479 = var480; } -((struct instance_core__NativeArray*)var410)->values[0]=var412; -if (likely(varonce415!=NULL)) { -var416 = varonce415; +((struct instance_core__NativeArray*)var478)->values[0]=var480; +if (likely(varonce487!=NULL)) { +var488 = varonce487; } else { -var417 = " argument(s) for `"; -var418 = core__flat___NativeString___to_s_full(var417, 18l, 18l); -var416 = var418; -varonce415 = var416; +var489 = " argument(s) for `"; +var491 = (val*)(18l<<2|1); +var492 = (val*)(18l<<2|1); +var493 = (val*)((long)(0)<<2|3); +var494 = (val*)((long)(0)<<2|3); +var490 = core__flat___CString___to_s_unsafe(var489, var491, var492, var493, var494); +var488 = var490; +varonce487 = var488; } -((struct instance_core__NativeArray*)var410)->values[2]=var416; -if (likely(varonce419!=NULL)) { -var420 = varonce419; +((struct instance_core__NativeArray*)var478)->values[2]=var488; +if (likely(varonce495!=NULL)) { +var496 = varonce495; } else { -var421 = "`; got "; -var422 = core__flat___NativeString___to_s_full(var421, 7l, 7l); -var420 = var422; -varonce419 = var420; +var497 = "`; got "; +var499 = (val*)(7l<<2|1); +var500 = (val*)(7l<<2|1); +var501 = (val*)((long)(0)<<2|3); +var502 = (val*)((long)(0)<<2|3); +var498 = core__flat___CString___to_s_unsafe(var497, var499, var500, var501, var502); +var496 = var498; +varonce495 = var496; } -((struct instance_core__NativeArray*)var410)->values[5]=var420; -if (likely(varonce423!=NULL)) { -var424 = varonce423; +((struct instance_core__NativeArray*)var478)->values[5]=var496; +if (likely(varonce503!=NULL)) { +var504 = varonce503; } else { -var425 = ". See introduction at `"; -var426 = core__flat___NativeString___to_s_full(var425, 23l, 23l); -var424 = var426; -varonce423 = var424; +var505 = ". See introduction at `"; +var507 = (val*)(23l<<2|1); +var508 = (val*)(23l<<2|1); +var509 = (val*)((long)(0)<<2|3); +var510 = (val*)((long)(0)<<2|3); +var506 = core__flat___CString___to_s_unsafe(var505, var507, var508, var509, var510); +var504 = var506; +varonce503 = var504; } -((struct instance_core__NativeArray*)var410)->values[7]=var424; -if (likely(varonce427!=NULL)) { -var428 = varonce427; +((struct instance_core__NativeArray*)var478)->values[7]=var504; +if (likely(varonce511!=NULL)) { +var512 = varonce511; } else { -var429 = "`."; -var430 = core__flat___NativeString___to_s_full(var429, 2l, 2l); -var428 = var430; -varonce427 = var428; +var513 = "`."; +var515 = (val*)(2l<<2|1); +var516 = (val*)(2l<<2|1); +var517 = (val*)((long)(0)<<2|3); +var518 = (val*)((long)(0)<<2|3); +var514 = core__flat___CString___to_s_unsafe(var513, var515, var516, var517, var518); +var512 = var514; +varonce511 = var512; } -((struct instance_core__NativeArray*)var410)->values[9]=var428; +((struct instance_core__NativeArray*)var478)->values[9]=var512; } else { -var410 = varonce409; -varonce409 = NULL; +var478 = varonce477; +varonce477 = NULL; } -var431 = core__flat___Int___core__abstract_text__Object__to_s(var_min_arity); -((struct instance_core__NativeArray*)var410)->values[1]=var431; +var519 = core__flat___Int___core__abstract_text__Object__to_s(var_min_arity); +((struct instance_core__NativeArray*)var478)->values[1]=var519; { -var432 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on */ +var520 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on */ } -((struct instance_core__NativeArray*)var410)->values[3]=var432; +((struct instance_core__NativeArray*)var478)->values[3]=var520; { -var433 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on */ +var521 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on */ } -((struct instance_core__NativeArray*)var410)->values[4]=var433; +((struct instance_core__NativeArray*)var478)->values[4]=var521; { -{ /* Inline array#AbstractArrayRead#length (var_args) on */ -var436 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var434 = var436; -RET_LABEL435:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_args) on */ +var524 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var522 = var524; +RET_LABEL523:(void)0; } } -var437 = core__flat___Int___core__abstract_text__Object__to_s(var434); -((struct instance_core__NativeArray*)var410)->values[6]=var437; +var525 = core__flat___Int___core__abstract_text__Object__to_s(var522); +((struct instance_core__NativeArray*)var478)->values[6]=var525; { -var438 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mproperty); +var526 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mproperty); } -((struct instance_core__NativeArray*)var410)->values[8]=var438; +((struct instance_core__NativeArray*)var478)->values[8]=var526; { -var439 = ((val*(*)(val* self))(var410->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var410); /* native_to_s on */ +var527 = ((val*(*)(val* self))(var478->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var478); /* native_to_s on */ } -varonce409 = var410; +varonce477 = var478; { -nitc___nitc__ModelBuilder___error(var406, var_node, var439); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var474, var_node, var527); /* Direct call modelbuilder_base$ModelBuilder$error on */ } } else { { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ -var442 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var442 == NULL)) { +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ +var530 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var530 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); } -var440 = var442; -RET_LABEL441:(void)0; +var528 = var530; +RET_LABEL529:(void)0; } } -if (unlikely(varonce443==NULL)) { -var444 = NEW_core__NativeArray(10l, &type_core__NativeArray__core__String); -if (likely(varonce445!=NULL)) { -var446 = varonce445; +if (unlikely(varonce531==NULL)) { +var532 = NEW_core__NativeArray((int)10l, &type_core__NativeArray__core__String); +if (likely(varonce533!=NULL)) { +var534 = varonce533; } else { -var447 = "Error: expected "; -var448 = core__flat___NativeString___to_s_full(var447, 16l, 16l); -var446 = var448; -varonce445 = var446; +var535 = "Error: expected "; +var537 = (val*)(16l<<2|1); +var538 = (val*)(16l<<2|1); +var539 = (val*)((long)(0)<<2|3); +var540 = (val*)((long)(0)<<2|3); +var536 = core__flat___CString___to_s_unsafe(var535, var537, var538, var539, var540); +var534 = var536; +varonce533 = var534; } -((struct instance_core__NativeArray*)var444)->values[0]=var446; -if (likely(varonce449!=NULL)) { -var450 = varonce449; +((struct instance_core__NativeArray*)var532)->values[0]=var534; +if (likely(varonce541!=NULL)) { +var542 = varonce541; } else { -var451 = " argument(s) for `"; -var452 = core__flat___NativeString___to_s_full(var451, 18l, 18l); -var450 = var452; -varonce449 = var450; +var543 = " argument(s) for `"; +var545 = (val*)(18l<<2|1); +var546 = (val*)(18l<<2|1); +var547 = (val*)((long)(0)<<2|3); +var548 = (val*)((long)(0)<<2|3); +var544 = core__flat___CString___to_s_unsafe(var543, var545, var546, var547, var548); +var542 = var544; +varonce541 = var542; } -((struct instance_core__NativeArray*)var444)->values[2]=var450; -if (likely(varonce453!=NULL)) { -var454 = varonce453; +((struct instance_core__NativeArray*)var532)->values[2]=var542; +if (likely(varonce549!=NULL)) { +var550 = varonce549; } else { -var455 = "`; got "; -var456 = core__flat___NativeString___to_s_full(var455, 7l, 7l); -var454 = var456; -varonce453 = var454; +var551 = "`; got "; +var553 = (val*)(7l<<2|1); +var554 = (val*)(7l<<2|1); +var555 = (val*)((long)(0)<<2|3); +var556 = (val*)((long)(0)<<2|3); +var552 = core__flat___CString___to_s_unsafe(var551, var553, var554, var555, var556); +var550 = var552; +varonce549 = var550; } -((struct instance_core__NativeArray*)var444)->values[5]=var454; -if (likely(varonce457!=NULL)) { -var458 = varonce457; +((struct instance_core__NativeArray*)var532)->values[5]=var550; +if (likely(varonce557!=NULL)) { +var558 = varonce557; } else { -var459 = ". See introduction at `"; -var460 = core__flat___NativeString___to_s_full(var459, 23l, 23l); -var458 = var460; -varonce457 = var458; +var559 = ". See introduction at `"; +var561 = (val*)(23l<<2|1); +var562 = (val*)(23l<<2|1); +var563 = (val*)((long)(0)<<2|3); +var564 = (val*)((long)(0)<<2|3); +var560 = core__flat___CString___to_s_unsafe(var559, var561, var562, var563, var564); +var558 = var560; +varonce557 = var558; } -((struct instance_core__NativeArray*)var444)->values[7]=var458; -if (likely(varonce461!=NULL)) { -var462 = varonce461; +((struct instance_core__NativeArray*)var532)->values[7]=var558; +if (likely(varonce565!=NULL)) { +var566 = varonce565; } else { -var463 = "`."; -var464 = core__flat___NativeString___to_s_full(var463, 2l, 2l); -var462 = var464; -varonce461 = var462; +var567 = "`."; +var569 = (val*)(2l<<2|1); +var570 = (val*)(2l<<2|1); +var571 = (val*)((long)(0)<<2|3); +var572 = (val*)((long)(0)<<2|3); +var568 = core__flat___CString___to_s_unsafe(var567, var569, var570, var571, var572); +var566 = var568; +varonce565 = var566; } -((struct instance_core__NativeArray*)var444)->values[9]=var462; +((struct instance_core__NativeArray*)var532)->values[9]=var566; } else { -var444 = varonce443; -varonce443 = NULL; +var532 = varonce531; +varonce531 = NULL; } -var465 = core__flat___Int___core__abstract_text__Object__to_s(var_min_arity); -((struct instance_core__NativeArray*)var444)->values[1]=var465; +var573 = core__flat___Int___core__abstract_text__Object__to_s(var_min_arity); +((struct instance_core__NativeArray*)var532)->values[1]=var573; { -var466 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on */ +var574 = ((val*(*)(val* self))(var_mproperty->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mproperty); /* to_s on */ } -((struct instance_core__NativeArray*)var444)->values[3]=var466; +((struct instance_core__NativeArray*)var532)->values[3]=var574; { -var467 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on */ +var575 = ((val*(*)(val* self))(var_msignature->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_msignature); /* to_s on */ } -((struct instance_core__NativeArray*)var444)->values[4]=var467; +((struct instance_core__NativeArray*)var532)->values[4]=var575; { -{ /* Inline array#AbstractArrayRead#length (var_args) on */ -var470 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var468 = var470; -RET_LABEL469:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_args) on */ +var578 = var_args->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var576 = var578; +RET_LABEL577:(void)0; } } -var471 = core__flat___Int___core__abstract_text__Object__to_s(var468); -((struct instance_core__NativeArray*)var444)->values[6]=var471; +var579 = core__flat___Int___core__abstract_text__Object__to_s(var576); +((struct instance_core__NativeArray*)var532)->values[6]=var579; { -var472 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mproperty); +var580 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mproperty); } -((struct instance_core__NativeArray*)var444)->values[8]=var472; +((struct instance_core__NativeArray*)var532)->values[8]=var580; { -var473 = ((val*(*)(val* self))(var444->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var444); /* native_to_s on */ +var581 = ((val*(*)(val* self))(var532->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var532); /* native_to_s on */ } -varonce443 = var444; +varonce531 = var532; { -nitc___nitc__ModelBuilder___error(var440, var_node, var473); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var528, var_node, var581); /* Direct call modelbuilder_base$ModelBuilder$error on */ } } var = ((val*)NULL); @@ -6309,165 +7487,174 @@ goto RET_LABEL; } else { } { -{ /* Inline kernel#Int#>= (var_vararg_rank,0l) on */ +{ /* Inline kernel$Int$>= (var_vararg_rank,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ -var476 = 1; /* easy <0l:Int> isa OTHER*/ -if (unlikely(!var476)) { -var_class_name479 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name479); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729); +var584 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var584)) { +var_class_name587 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name587); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726); fatal_exit(1); } -var480 = var_vararg_rank >= 0l; -var474 = var480; -goto RET_LABEL475; -RET_LABEL475:(void)0; +var588 = var_vararg_rank >= 0l; +var582 = var588; +goto RET_LABEL583; +RET_LABEL583:(void)0; } } -if (var474){ +if (var582){ { -{ /* Inline model#MSignature#mparameters (var_msignature) on */ -var483 = var_msignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var483 == NULL)) { +{ /* Inline model$MSignature$mparameters (var_msignature) on */ +var591 = var_msignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var591 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1783); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1879); fatal_exit(1); } -var481 = var483; -RET_LABEL482:(void)0; +var589 = var591; +RET_LABEL590:(void)0; } } { -var484 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var481, var_vararg_rank); +var592 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var589, var_vararg_rank); } { -{ /* Inline model#MParameter#mtype (var484) on */ -var487 = var484->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var487 == NULL)) { +{ /* Inline model$MParameter$mtype (var592) on */ +var595 = var592->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var595 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1900); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1996); fatal_exit(1); } -var485 = var487; -RET_LABEL486:(void)0; +var593 = var595; +RET_LABEL594:(void)0; } } -var_paramtype488 = var485; +var_paramtype596 = var593; { -var489 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args, var_vararg_rank); +var597 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args, var_vararg_rank); } -var_first = var489; +var_first = var597; { -{ /* Inline kernel#Int#== (var_vararg_decl,0l) on */ -var492 = var_vararg_decl == 0l; -var490 = var492; -goto RET_LABEL491; -RET_LABEL491:(void)0; +{ /* Inline kernel$Int$== (var_vararg_decl,0l) on */ +var600 = var_vararg_decl == 0l; +var598 = var600; +goto RET_LABEL599; +RET_LABEL599:(void)0; } } -if (var490){ +if (var598){ { -{ /* Inline model#MSignature#mparameters (var_msignature) on */ -var495 = var_msignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var495 == NULL)) { +{ /* Inline model$MSignature$mparameters (var_msignature) on */ +var603 = var_msignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var603 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1783); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1879); fatal_exit(1); } -var493 = var495; -RET_LABEL494:(void)0; +var601 = var603; +RET_LABEL602:(void)0; } } { -var496 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var493, var_vararg_rank); +var604 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var601, var_vararg_rank); } { -var497 = nitc__typing___nitc__typing__TypeVisitor___check_one_vararg(self, var_first, var496); +var605 = nitc__typing___nitc__typing__TypeVisitor___check_one_vararg(self, var_first, var604); } -var498 = !var497; -if (var498){ +var606 = !var605; +if (var606){ var = ((val*)NULL); goto RET_LABEL; } else { } } else { { -{ /* Inline kernel#Int#+ (var_vararg_decl,1l) on */ +{ /* Inline kernel$Int$+ (var_vararg_decl,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var501 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var501)) { -var_class_name504 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name504); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +var609 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var609)) { +var_class_name612 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name612); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var505 = var_vararg_decl + 1l; -var499 = var505; -goto RET_LABEL500; -RET_LABEL500:(void)0; +var613 = var_vararg_decl + 1l; +var607 = var613; +goto RET_LABEL608; +RET_LABEL608:(void)0; } } { -{ /* Inline typing#AExpr#vararg_decl= (var_first,var499) on */ -var_first->attrs[COLOR_nitc__typing__AExpr___vararg_decl].l = var499; /* _vararg_decl on */ -RET_LABEL506:(void)0; +{ /* Inline typing$AExpr$vararg_decl= (var_first,var607) on */ +var_first->attrs[COLOR_nitc__typing__AExpr___vararg_decl].l = var607; /* _vararg_decl on */ +RET_LABEL614:(void)0; } } -var_i507 = var_vararg_rank; +var_i615 = var_vararg_rank; { -{ /* Inline kernel#Int#+ (var_vararg_rank,var_vararg_decl) on */ +{ /* Inline kernel$Int$+ (var_vararg_rank,var_vararg_decl) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var510 = 1; /* easy isa OTHER*/ -if (unlikely(!var510)) { -var_class_name513 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name513); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +var618 = 1; /* easy isa OTHER*/ +if (unlikely(!var618)) { +var_class_name621 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name621); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var514 = var_vararg_rank + var_vararg_decl; -var508 = var514; -goto RET_LABEL509; -RET_LABEL509:(void)0; +var622 = var_vararg_rank + var_vararg_decl; +var616 = var622; +goto RET_LABEL617; +RET_LABEL617:(void)0; } } -var_515 = var508; +var_623 = var616; for(;;) { { -{ /* Inline kernel#Int#<= (var_i507,var_515) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var518 = 1; /* easy isa OTHER*/ -if (unlikely(!var518)) { -var_class_name521 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name521); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); +{ /* Inline kernel$Int$<= (var_i615,var_623) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var626 = 1; /* easy isa OTHER*/ +if (unlikely(!var626)) { +var_class_name629 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name629); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724); fatal_exit(1); } -var522 = var_i507 <= var_515; -var516 = var522; -goto RET_LABEL517; -RET_LABEL517:(void)0; +var630 = var_i615 <= var_623; +var624 = var630; +goto RET_LABEL625; +RET_LABEL625:(void)0; } } -if (var516){ +if (var624){ } else { -goto BREAK_label523; +goto BREAK_label631; } { -var524 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args, var_i507); +var632 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_args, var_i615); } { -var525 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self, var524, var_paramtype488); +var633 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self, var632, var_paramtype596); } { -var526 = core___core__Int___Discrete__successor(var_i507, 1l); +var634 = core___core__Int___Discrete__successor(var_i615, 1l); } -var_i507 = var526; +var_i615 = var634; } -BREAK_label523: (void)0; +BREAK_label631: (void)0; } } else { } @@ -6476,7 +7663,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#check_one_vararg for (self: TypeVisitor, AExpr, MParameter): Bool */ +/* method typing$TypeVisitor$check_one_vararg for (self: TypeVisitor, AExpr, MParameter): Bool */ short int nitc__typing___nitc__typing__TypeVisitor___check_one_vararg(val* self, val* p0, val* p1) { short int var /* : Bool */; val* var_arg /* var arg: AExpr */; @@ -6486,65 +7673,84 @@ val* var3 /* : MType */; val* var_paramtype /* var paramtype: MType */; static val* varonce; val* var4 /* : String */; -char* var5 /* : NativeString */; +char* var5 /* : CString */; val* var6 /* : String */; -val* var7 /* : nullable MClass */; +val* var7 /* : nullable Int */; +val* var8 /* : nullable Int */; +val* var9 /* : nullable Bool */; +val* var10 /* : nullable Bool */; +val* var11 /* : nullable MClass */; val* var_mclass /* var mclass: nullable MClass */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var11 /* : Bool */; +short int var12 /* : Bool */; short int var13 /* : Bool */; -val* var14 /* : Array[MType] */; +val* var_other /* var other: nullable Object */; +short int var15 /* : Bool */; +short int var17 /* : Bool */; +val* var18 /* : Array[MType] */; val* var_ /* var : Array[MType] */; -val* var15 /* : MClassType */; +val* var19 /* : MClassType */; val* var_array_mtype /* var array_mtype: MClassType */; -short int var16 /* : Bool */; +short int var20 /* : Bool */; int cltype; int idtype; -val* var17 /* : AExpr */; -val* var19 /* : AExpr */; -val* var20 /* : nullable MType */; val* var21 /* : AExpr */; val* var23 /* : AExpr */; val* var24 /* : nullable MType */; -val* var26 /* : nullable MType */; +val* var25 /* : AExpr */; +val* var27 /* : AExpr */; +val* var28 /* : nullable MType */; +val* var30 /* : nullable MType */; val* var_t /* var t: nullable MType */; -short int var27 /* : Bool */; -short int var28 /* : Bool */; -short int var30 /* : Bool */; +short int var31 /* : Bool */; short int var32 /* : Bool */; -short int var33 /* : Bool */; short int var34 /* : Bool */; -short int var35 /* : Bool */; -short int var_36 /* var : Bool */; +short int var36 /* : Bool */; short int var37 /* : Bool */; -val* var39 /* : NativeArray[String] */; -static val* varonce38; -static val* varonce40; -val* var41 /* : String */; -char* var42 /* : NativeString */; -val* var43 /* : String */; +short int var38 /* : Bool */; +short int var39 /* : Bool */; +short int var_40 /* var : Bool */; +short int var41 /* : Bool */; +val* var43 /* : NativeArray[String] */; +static val* varonce42; static val* varonce44; val* var45 /* : String */; -char* var46 /* : NativeString */; +char* var46 /* : CString */; val* var47 /* : String */; -static val* varonce48; -val* var49 /* : String */; -char* var50 /* : NativeString */; -val* var51 /* : String */; -val* var52 /* : String */; +val* var48 /* : nullable Int */; +val* var49 /* : nullable Int */; +val* var50 /* : nullable Bool */; +val* var51 /* : nullable Bool */; +static val* varonce52; val* var53 /* : String */; -val* var54 /* : String */; -val* var56 /* : nullable MType */; +char* var54 /* : CString */; +val* var55 /* : String */; +val* var56 /* : nullable Int */; +val* var57 /* : nullable Int */; +val* var58 /* : nullable Bool */; +val* var59 /* : nullable Bool */; +static val* varonce60; +val* var61 /* : String */; +char* var62 /* : CString */; +val* var63 /* : String */; +val* var64 /* : nullable Int */; +val* var65 /* : nullable Int */; +val* var66 /* : nullable Bool */; +val* var67 /* : nullable Bool */; +val* var68 /* : String */; +val* var69 /* : String */; +val* var70 /* : String */; +val* var72 /* : nullable MType */; var_arg = p0; var_param = p1; { -{ /* Inline model#MParameter#mtype (var_param) on */ +{ /* Inline model$MParameter$mtype (var_param) on */ var3 = var_param->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1900); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1996); fatal_exit(1); } var1 = var3; @@ -6556,204 +7762,226 @@ if (likely(varonce!=NULL)) { var4 = varonce; } else { var5 = "Array"; -var6 = core__flat___NativeString___to_s_full(var5, 5l, 5l); +var7 = (val*)(5l<<2|1); +var8 = (val*)(5l<<2|1); +var9 = (val*)((long)(0)<<2|3); +var10 = (val*)((long)(0)<<2|3); +var6 = core__flat___CString___to_s_unsafe(var5, var7, var8, var9, var10); var4 = var6; varonce = var4; } { -var7 = nitc__typing___nitc__typing__TypeVisitor___get_mclass(self, var_arg, var4); +var11 = nitc__typing___nitc__typing__TypeVisitor___get_mclass(self, var_arg, var4); } -var_mclass = var7; +var_mclass = var11; if (var_mclass == NULL) { -var8 = 1; /* is null */ +var12 = 1; /* is null */ } else { -var8 = 0; /* arg is null but recv is not */ +var12 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mclass,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_mclass,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mclass,var_other) on */ -var13 = var_mclass == var_other; -var11 = var13; -goto RET_LABEL12; -RET_LABEL12:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_mclass,var_other) on */ +var17 = var_mclass == var_other; +var15 = var17; +goto RET_LABEL16; +RET_LABEL16:(void)0; } } -var9 = var11; -goto RET_LABEL10; -RET_LABEL10:(void)0; +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } -var8 = var9; +var12 = var13; } -if (var8){ +if (var12){ var = 0; goto RET_LABEL; } else { } -var14 = NEW_core__Array(&type_core__Array__nitc__MType); +var18 = NEW_core__Array(&type_core__Array__nitc__MType); { -core___core__Array___with_capacity(var14, 1l); /* Direct call array#Array#with_capacity on */ +core___core__Array___with_capacity(var18, 1l); /* Direct call array$Array$with_capacity on */ } -var_ = var14; +var_ = var18; { -core___core__AbstractArray___core__abstract_collection__Sequence__push(var_, var_paramtype); /* Direct call array#AbstractArray#push on */ +core___core__AbstractArray___core__abstract_collection__Sequence__push(var_, var_paramtype); /* Direct call array$AbstractArray$push on */ } { -var15 = nitc___nitc__MClass___get_mtype(var_mclass, var_); +var19 = nitc___nitc__MClass___get_mtype(var_mclass, var_); } -var_array_mtype = var15; +var_array_mtype = var19; /* isa AVarargExpr */ cltype = type_nitc__AVarargExpr.color; idtype = type_nitc__AVarargExpr.id; if(cltype >= var_arg->type->table_size) { -var16 = 0; +var20 = 0; } else { -var16 = var_arg->type->type_table[cltype] == idtype; +var20 = var_arg->type->type_table[cltype] == idtype; } -if (var16){ +if (var20){ { -{ /* Inline parser_nodes#AVarargExpr#n_expr (var_arg) on */ -var19 = var_arg->attrs[COLOR_nitc__parser_nodes__AVarargExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var19 == NULL)) { +{ /* Inline parser_nodes$AVarargExpr$n_expr (var_arg) on */ +var23 = var_arg->attrs[COLOR_nitc__parser_nodes__AVarargExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var23 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2630); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2711); fatal_exit(1); } -var17 = var19; -RET_LABEL18:(void)0; +var21 = var23; +RET_LABEL22:(void)0; } } { -var20 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self, var17, var_array_mtype); +var24 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self, var21, var_array_mtype); } { -{ /* Inline parser_nodes#AVarargExpr#n_expr (var_arg) on */ -var23 = var_arg->attrs[COLOR_nitc__parser_nodes__AVarargExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var23 == NULL)) { +{ /* Inline parser_nodes$AVarargExpr$n_expr (var_arg) on */ +var27 = var_arg->attrs[COLOR_nitc__parser_nodes__AVarargExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var27 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2630); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2711); fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var25 = var27; +RET_LABEL26:(void)0; } } { -var24 = ((val*(*)(val* self))(var21->class->vft[COLOR_nitc__typing__AExpr__mtype]))(var21); /* mtype on */ +var28 = ((val*(*)(val* self))(var25->class->vft[COLOR_nitc__typing__AExpr__mtype]))(var25); /* mtype on */ } { -{ /* Inline typing#AExpr#mtype= (var_arg,var24) on */ -var_arg->attrs[COLOR_nitc__typing__AExpr___mtype].val = var24; /* _mtype on */ -RET_LABEL25:(void)0; +{ /* Inline typing$AExpr$mtype= (var_arg,var28) on */ +var_arg->attrs[COLOR_nitc__typing__AExpr___mtype].val = var28; /* _mtype on */ +RET_LABEL29:(void)0; } } } else { { -var26 = nitc__typing___nitc__typing__TypeVisitor___visit_expr(self, var_arg); +var30 = nitc__typing___nitc__typing__TypeVisitor___visit_expr(self, var_arg); } -var_t = var26; +var_t = var30; if (var_t == NULL) { -var27 = 1; /* is null */ +var31 = 1; /* is null */ } else { -var27 = 0; /* arg is null but recv is not */ +var31 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_t,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_t,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_t,var_other) on */ -var32 = var_t == var_other; -var30 = var32; -goto RET_LABEL31; -RET_LABEL31:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_t,var_other) on */ +var36 = var_t == var_other; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } -var28 = var30; -goto RET_LABEL29; -RET_LABEL29:(void)0; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } -var27 = var28; +var31 = var32; } -if (var27){ +if (var31){ var = 0; goto RET_LABEL; } else { } { -var34 = nitc__typing___nitc__typing__TypeVisitor___is_subtype(self, var_t, var_paramtype); +var38 = nitc__typing___nitc__typing__TypeVisitor___is_subtype(self, var_t, var_paramtype); } -var35 = !var34; -var_36 = var35; -if (var35){ +var39 = !var38; +var_40 = var39; +if (var39){ { -var37 = nitc__typing___nitc__typing__TypeVisitor___is_subtype(self, var_t, var_array_mtype); -} -var33 = var37; -} else { -var33 = var_36; +var41 = nitc__typing___nitc__typing__TypeVisitor___is_subtype(self, var_t, var_array_mtype); } -if (var33){ -if (unlikely(varonce38==NULL)) { -var39 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String); -if (likely(varonce40!=NULL)) { -var41 = varonce40; +var37 = var41; } else { -var42 = "Type Error: expected `"; -var43 = core__flat___NativeString___to_s_full(var42, 22l, 22l); -var41 = var43; -varonce40 = var41; +var37 = var_40; } -((struct instance_core__NativeArray*)var39)->values[0]=var41; +if (var37){ +if (unlikely(varonce42==NULL)) { +var43 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String); if (likely(varonce44!=NULL)) { var45 = varonce44; } else { -var46 = "`, got `"; -var47 = core__flat___NativeString___to_s_full(var46, 8l, 8l); +var46 = "Type Error: expected `"; +var48 = (val*)(22l<<2|1); +var49 = (val*)(22l<<2|1); +var50 = (val*)((long)(0)<<2|3); +var51 = (val*)((long)(0)<<2|3); +var47 = core__flat___CString___to_s_unsafe(var46, var48, var49, var50, var51); var45 = var47; varonce44 = var45; } -((struct instance_core__NativeArray*)var39)->values[2]=var45; -if (likely(varonce48!=NULL)) { -var49 = varonce48; +((struct instance_core__NativeArray*)var43)->values[0]=var45; +if (likely(varonce52!=NULL)) { +var53 = varonce52; } else { -var50 = "`. Is an ellipsis `...` missing on the argument?"; -var51 = core__flat___NativeString___to_s_full(var50, 48l, 48l); -var49 = var51; -varonce48 = var49; +var54 = "`, got `"; +var56 = (val*)(8l<<2|1); +var57 = (val*)(8l<<2|1); +var58 = (val*)((long)(0)<<2|3); +var59 = (val*)((long)(0)<<2|3); +var55 = core__flat___CString___to_s_unsafe(var54, var56, var57, var58, var59); +var53 = var55; +varonce52 = var53; +} +((struct instance_core__NativeArray*)var43)->values[2]=var53; +if (likely(varonce60!=NULL)) { +var61 = varonce60; +} else { +var62 = "`. Is an ellipsis `...` missing on the argument?"; +var64 = (val*)(48l<<2|1); +var65 = (val*)(48l<<2|1); +var66 = (val*)((long)(0)<<2|3); +var67 = (val*)((long)(0)<<2|3); +var63 = core__flat___CString___to_s_unsafe(var62, var64, var65, var66, var67); +var61 = var63; +varonce60 = var61; } -((struct instance_core__NativeArray*)var39)->values[4]=var49; +((struct instance_core__NativeArray*)var43)->values[4]=var61; } else { -var39 = varonce38; -varonce38 = NULL; +var43 = varonce42; +varonce42 = NULL; } { -var52 = ((val*(*)(val* self))(var_paramtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_paramtype); /* to_s on */ +var68 = ((val*(*)(val* self))(var_paramtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_paramtype); /* to_s on */ } -((struct instance_core__NativeArray*)var39)->values[1]=var52; +((struct instance_core__NativeArray*)var43)->values[1]=var68; { -var53 = ((val*(*)(val* self))(var_t->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_t); /* to_s on */ +var69 = ((val*(*)(val* self))(var_t->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_t); /* to_s on */ } -((struct instance_core__NativeArray*)var39)->values[3]=var53; +((struct instance_core__NativeArray*)var43)->values[3]=var69; { -var54 = ((val*(*)(val* self))(var39->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var39); /* native_to_s on */ +var70 = ((val*(*)(val* self))(var43->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var43); /* native_to_s on */ } -varonce38 = var39; +varonce42 = var43; { -nitc__typing___nitc__typing__TypeVisitor___error(self, var_arg, var54); /* Direct call typing#TypeVisitor#error on */ +nitc__typing___nitc__typing__TypeVisitor___error(self, var_arg, var70); /* Direct call typing$TypeVisitor$error on */ } var = 0; goto RET_LABEL; } else { } { -{ /* Inline typing#AExpr#vararg_decl= (var_arg,1l) on */ +{ /* Inline typing$AExpr$vararg_decl= (var_arg,1l) on */ var_arg->attrs[COLOR_nitc__typing__AExpr___vararg_decl].l = 1l; /* _vararg_decl on */ -RET_LABEL55:(void)0; +RET_LABEL71:(void)0; } } { -var56 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self, var_arg, var_paramtype); +var72 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(self, var_arg, var_paramtype); } } var = 1; @@ -6761,7 +7989,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#error for (self: TypeVisitor, ANode, String) */ +/* method typing$TypeVisitor$error for (self: TypeVisitor, ANode, String) */ void nitc__typing___nitc__typing__TypeVisitor___error(val* self, val* p0, val* p1) { val* var_node /* var node: ANode */; val* var_message /* var message: String */; @@ -6770,9 +7998,12 @@ val* var2 /* : ModelBuilder */; var_node = p0; var_message = p1; { -{ /* Inline typing#TypeVisitor#modelbuilder (self) on */ +{ /* Inline typing$TypeVisitor$modelbuilder (self) on */ var2 = self->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); fatal_exit(1); @@ -6782,11 +8013,11 @@ RET_LABEL1:(void)0; } } { -nitc___nitc__ModelBuilder___error(var, var_node, var_message); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(var, var_node, var_message); /* Direct call modelbuilder_base$ModelBuilder$error on */ } RET_LABEL:; } -/* method typing#TypeVisitor#get_variable for (self: TypeVisitor, AExpr, Variable): nullable MType */ +/* method typing$TypeVisitor$get_variable for (self: TypeVisitor, AExpr, Variable): nullable MType */ val* nitc__typing___nitc__typing__TypeVisitor___get_variable(val* self, val* p0, val* p1) { val* var /* : nullable MType */; val* var_node /* var node: AExpr */; @@ -6834,7 +8065,7 @@ val* var51 /* : nullable MType */; var_node = p0; var_variable = p1; { -{ /* Inline typing#Variable#is_adapted (var_variable) on */ +{ /* Inline typing$Variable$is_adapted (var_variable) on */ var3 = var_variable->attrs[COLOR_nitc__typing__Variable___is_adapted].s; /* _is_adapted on */ var1 = var3; RET_LABEL2:(void)0; @@ -6843,7 +8074,7 @@ RET_LABEL2:(void)0; var4 = !var1; if (var4){ { -{ /* Inline typing#Variable#declared_type (var_variable) on */ +{ /* Inline typing$Variable$declared_type (var_variable) on */ var7 = var_variable->attrs[COLOR_nitc__typing__Variable___declared_type].val; /* _declared_type on */ var5 = var7; RET_LABEL6:(void)0; @@ -6854,7 +8085,7 @@ goto RET_LABEL; } else { } { -{ /* Inline flow#AExpr#after_flow_context (var_node) on */ +{ /* Inline flow$AExpr$after_flow_context (var_node) on */ var10 = var_node->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on */ var8 = var10; RET_LABEL9:(void)0; @@ -6867,10 +8098,10 @@ var11 = 1; /* is null */ var11 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_flow,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_flow,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_flow,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_flow,var_other) on */ var16 = var_flow == var_other; var14 = var16; goto RET_LABEL15; @@ -6889,11 +8120,14 @@ goto RET_LABEL; } else { } { -{ /* Inline typing#FlowContext#vars (var_flow) on */ +{ /* Inline typing$FlowContext$vars (var_flow) on */ var19 = var_flow->attrs[COLOR_nitc__typing__FlowContext___vars].val; /* _vars on */ if (unlikely(var19 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 689); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 697); fatal_exit(1); } var17 = var19; @@ -6905,11 +8139,14 @@ var20 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var17 } if (var20){ { -{ /* Inline typing#FlowContext#vars (var_flow) on */ +{ /* Inline typing$FlowContext$vars (var_flow) on */ var23 = var_flow->attrs[COLOR_nitc__typing__FlowContext___vars].val; /* _vars on */ if (unlikely(var23 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 689); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 697); fatal_exit(1); } var21 = var23; @@ -6927,14 +8164,14 @@ var25 = nitc__typing___FlowContext___collect_types(var_flow, var_variable); } var_mtypes = var25; { -{ /* Inline array#AbstractArrayRead#length (var_mtypes) on */ +{ /* Inline array$AbstractArrayRead$length (var_mtypes) on */ var28 = var_mtypes->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ var26 = var28; RET_LABEL27:(void)0; } } { -{ /* Inline kernel#Int#== (var26,0l) on */ +{ /* Inline kernel$Int$== (var26,0l) on */ var31 = var26 == 0l; var29 = var31; goto RET_LABEL30; @@ -6943,7 +8180,7 @@ RET_LABEL30:(void)0; } if (var29){ { -{ /* Inline typing#Variable#declared_type (var_variable) on */ +{ /* Inline typing$Variable$declared_type (var_variable) on */ var34 = var_variable->attrs[COLOR_nitc__typing__Variable___declared_type].val; /* _declared_type on */ var32 = var34; RET_LABEL33:(void)0; @@ -6953,14 +8190,14 @@ var = var32; goto RET_LABEL; } else { { -{ /* Inline array#AbstractArrayRead#length (var_mtypes) on */ +{ /* Inline array$AbstractArrayRead$length (var_mtypes) on */ var37 = var_mtypes->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ var35 = var37; RET_LABEL36:(void)0; } } { -{ /* Inline kernel#Int#== (var35,1l) on */ +{ /* Inline kernel$Int$== (var35,1l) on */ var40 = var35 == 1l; var38 = var40; goto RET_LABEL39; @@ -6984,10 +8221,10 @@ var43 = 1; /* is null */ var43 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_res,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_res,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_res,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_res,var_other) on */ var48 = var_res == var_other; var46 = var48; goto RET_LABEL47; @@ -7002,7 +8239,7 @@ var43 = var44; } if (var43){ { -{ /* Inline typing#Variable#declared_type (var_variable) on */ +{ /* Inline typing$Variable$declared_type (var_variable) on */ var51 = var_variable->attrs[COLOR_nitc__typing__Variable___declared_type].val; /* _declared_type on */ var49 = var51; RET_LABEL50:(void)0; @@ -7019,7 +8256,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#TypeVisitor#dirty for (self: TypeVisitor): Bool */ +/* method typing$TypeVisitor$dirty for (self: TypeVisitor): Bool */ short int nitc__typing___nitc__typing__TypeVisitor___dirty(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -7028,12 +8265,12 @@ var = var1; RET_LABEL:; return var; } -/* method typing#TypeVisitor#dirty= for (self: TypeVisitor, Bool) */ +/* method typing$TypeVisitor$dirty= for (self: TypeVisitor, Bool) */ void nitc__typing___nitc__typing__TypeVisitor___dirty_61d(val* self, short int p0) { self->attrs[COLOR_nitc__typing__TypeVisitor___dirty].s = p0; /* _dirty on */ RET_LABEL:; } -/* method typing#TypeVisitor#has_loop for (self: TypeVisitor): Bool */ +/* method typing$TypeVisitor$has_loop for (self: TypeVisitor): Bool */ short int nitc__typing___nitc__typing__TypeVisitor___has_loop(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -7042,12 +8279,12 @@ var = var1; RET_LABEL:; return var; } -/* method typing#TypeVisitor#has_loop= for (self: TypeVisitor, Bool) */ +/* method typing$TypeVisitor$has_loop= for (self: TypeVisitor, Bool) */ void nitc__typing___nitc__typing__TypeVisitor___has_loop_61d(val* self, short int p0) { self->attrs[COLOR_nitc__typing__TypeVisitor___has_loop].s = p0; /* _has_loop on */ RET_LABEL:; } -/* method typing#TypeVisitor#set_variable for (self: TypeVisitor, AExpr, Variable, nullable MType) */ +/* method typing$TypeVisitor$set_variable for (self: TypeVisitor, AExpr, Variable, nullable MType) */ void nitc__typing___nitc__typing__TypeVisitor___set_variable(val* self, val* p0, val* p1, val* p2) { val* var_node /* var node: AExpr */; val* var_variable /* var variable: Variable */; @@ -7064,7 +8301,7 @@ var_node = p0; var_variable = p1; var_mtype = p2; { -{ /* Inline flow#AExpr#after_flow_context (var_node) on */ +{ /* Inline flow$AExpr$after_flow_context (var_node) on */ var2 = var_node->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on */ var = var2; RET_LABEL1:(void)0; @@ -7077,7 +8314,7 @@ var3 = 0; /* is null */ var3 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_flow,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_flow,((val*)NULL)) on */ var_other = ((val*)NULL); { var6 = ((short int(*)(val* self, val* p0))(var_flow->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_flow, var_other); /* == on */ @@ -7090,16 +8327,19 @@ RET_LABEL5:(void)0; var3 = var4; } if (unlikely(!var3)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 594); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 598); fatal_exit(1); } { -nitc__typing___FlowContext___set_var(var_flow, self, var_variable, var_mtype); /* Direct call typing#FlowContext#set_var on */ +nitc__typing___FlowContext___set_var(var_flow, self, var_variable, var_mtype); /* Direct call typing$FlowContext$set_var on */ } RET_LABEL:; } -/* method typing#TypeVisitor#merge_types for (self: TypeVisitor, ANode, Array[nullable MType]): nullable MType */ +/* method typing$TypeVisitor$merge_types for (self: TypeVisitor, ANode, Array[nullable MType]): nullable MType */ val* nitc__typing___nitc__typing__TypeVisitor___merge_types(val* self, val* p0, val* p1) { val* var /* : nullable MType */; val* var_node /* var node: ANode */; @@ -7142,14 +8382,14 @@ short int var39 /* : Bool */; var_node = p0; var_col = p1; { -{ /* Inline array#AbstractArrayRead#length (var_col) on */ +{ /* Inline array$AbstractArrayRead$length (var_col) on */ var3 = var_col->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ var1 = var3; RET_LABEL2:(void)0; } } { -{ /* Inline kernel#Int#== (var1,1l) on */ +{ /* Inline kernel$Int$== (var1,1l) on */ var6 = var1 == 1l; var4 = var6; goto RET_LABEL5; @@ -7187,10 +8427,10 @@ var12 = 1; /* is null */ var12 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_t1,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_t1,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_t1,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_t1,var_other) on */ var17 = var_t1 == var_other; var15 = var17; goto RET_LABEL16; @@ -7231,10 +8471,10 @@ var25 = 1; /* is null */ var25 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_t2,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_t2,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_t2,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_t2,var_other) on */ var30 = var_t2 == var_other; var28 = var30; goto RET_LABEL29; @@ -7307,64 +8547,90 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#SignatureMap#map for (self: SignatureMap): ArrayMap[Int, Int] */ +/* method typing$SignatureMap$map for (self: SignatureMap): ArrayMap[Int, Int] */ val* nitc___nitc__SignatureMap___map(val* self) { val* var /* : ArrayMap[Int, Int] */; val* var1 /* : ArrayMap[Int, Int] */; var1 = self->attrs[COLOR_nitc__typing__SignatureMap___map].val; /* _map on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 628); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 632); +fatal_exit(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method typing$CallSite$location for (self: CallSite): Location */ +val* nitc___nitc__CallSite___nitc__model_base__MEntity__location(val* self) { +val* var /* : Location */; +val* var1 /* : Location */; +var1 = self->attrs[COLOR_nitc__typing__CallSite___location].val; /* _location on */ +if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 640); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method typing#CallSite#location= for (self: CallSite, Location) */ +/* method typing$CallSite$location= for (self: CallSite, Location) */ void nitc___nitc__CallSite___location_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__CallSite___location].val = p0; /* _location on */ RET_LABEL:; } -/* method typing#CallSite#recv for (self: CallSite): MType */ +/* method typing$CallSite$recv for (self: CallSite): MType */ val* nitc___nitc__CallSite___recv(val* self) { val* var /* : MType */; val* var1 /* : MType */; var1 = self->attrs[COLOR_nitc__typing__CallSite___recv].val; /* _recv on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 639); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 642); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method typing#CallSite#recv= for (self: CallSite, MType) */ +/* method typing$CallSite$recv= for (self: CallSite, MType) */ void nitc___nitc__CallSite___recv_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__CallSite___recv].val = p0; /* _recv on */ RET_LABEL:; } -/* method typing#CallSite#mmodule for (self: CallSite): MModule */ +/* method typing$CallSite$mmodule for (self: CallSite): MModule */ val* nitc___nitc__CallSite___mmodule(val* self) { val* var /* : MModule */; val* var1 /* : MModule */; var1 = self->attrs[COLOR_nitc__typing__CallSite___mmodule].val; /* _mmodule on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 642); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 645); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method typing#CallSite#mmodule= for (self: CallSite, MModule) */ +/* method typing$CallSite$mmodule= for (self: CallSite, MModule) */ void nitc___nitc__CallSite___mmodule_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__CallSite___mmodule].val = p0; /* _mmodule on */ RET_LABEL:; } -/* method typing#CallSite#anchor for (self: CallSite): nullable MClassType */ +/* method typing$CallSite$anchor for (self: CallSite): nullable MClassType */ val* nitc___nitc__CallSite___anchor(val* self) { val* var /* : nullable MClassType */; val* var1 /* : nullable MClassType */; @@ -7373,74 +8639,83 @@ var = var1; RET_LABEL:; return var; } -/* method typing#CallSite#anchor= for (self: CallSite, nullable MClassType) */ +/* method typing$CallSite$anchor= for (self: CallSite, nullable MClassType) */ void nitc___nitc__CallSite___anchor_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__CallSite___anchor].val = p0; /* _anchor on */ RET_LABEL:; } -/* method typing#CallSite#recv_is_self= for (self: CallSite, Bool) */ +/* method typing$CallSite$recv_is_self= for (self: CallSite, Bool) */ void nitc___nitc__CallSite___recv_is_self_61d(val* self, short int p0) { self->attrs[COLOR_nitc__typing__CallSite___recv_is_self].s = p0; /* _recv_is_self on */ RET_LABEL:; } -/* method typing#CallSite#mproperty for (self: CallSite): MMethod */ +/* method typing$CallSite$mproperty for (self: CallSite): MMethod */ val* nitc___nitc__CallSite___mproperty(val* self) { val* var /* : MMethod */; val* var1 /* : MMethod */; var1 = self->attrs[COLOR_nitc__typing__CallSite___mproperty].val; /* _mproperty on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 653); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 656); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method typing#CallSite#mproperty= for (self: CallSite, MMethod) */ +/* method typing$CallSite$mproperty= for (self: CallSite, MMethod) */ void nitc___nitc__CallSite___mproperty_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__CallSite___mproperty].val = p0; /* _mproperty on */ RET_LABEL:; } -/* method typing#CallSite#mpropdef for (self: CallSite): MMethodDef */ +/* method typing$CallSite$mpropdef for (self: CallSite): MMethodDef */ val* nitc___nitc__CallSite___mpropdef(val* self) { val* var /* : MMethodDef */; val* var1 /* : MMethodDef */; var1 = self->attrs[COLOR_nitc__typing__CallSite___mpropdef].val; /* _mpropdef on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 656); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 659); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method typing#CallSite#mpropdef= for (self: CallSite, MMethodDef) */ +/* method typing$CallSite$mpropdef= for (self: CallSite, MMethodDef) */ void nitc___nitc__CallSite___mpropdef_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__CallSite___mpropdef].val = p0; /* _mpropdef on */ RET_LABEL:; } -/* method typing#CallSite#msignature for (self: CallSite): MSignature */ +/* method typing$CallSite$msignature for (self: CallSite): MSignature */ val* nitc___nitc__CallSite___msignature(val* self) { val* var /* : MSignature */; val* var1 /* : MSignature */; var1 = self->attrs[COLOR_nitc__typing__CallSite___msignature].val; /* _msignature on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 660); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 663); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method typing#CallSite#msignature= for (self: CallSite, MSignature) */ +/* method typing$CallSite$msignature= for (self: CallSite, MSignature) */ void nitc___nitc__CallSite___msignature_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__CallSite___msignature].val = p0; /* _msignature on */ RET_LABEL:; } -/* method typing#CallSite#erasure_cast for (self: CallSite): Bool */ +/* method typing$CallSite$erasure_cast for (self: CallSite): Bool */ short int nitc___nitc__CallSite___erasure_cast(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -7449,12 +8724,12 @@ var = var1; RET_LABEL:; return var; } -/* method typing#CallSite#erasure_cast= for (self: CallSite, Bool) */ +/* method typing$CallSite$erasure_cast= for (self: CallSite, Bool) */ void nitc___nitc__CallSite___erasure_cast_61d(val* self, short int p0) { self->attrs[COLOR_nitc__typing__CallSite___erasure_cast].s = p0; /* _erasure_cast on */ RET_LABEL:; } -/* method typing#CallSite#signaturemap for (self: CallSite): nullable SignatureMap */ +/* method typing$CallSite$signaturemap for (self: CallSite): nullable SignatureMap */ val* nitc___nitc__CallSite___signaturemap(val* self) { val* var /* : nullable SignatureMap */; val* var1 /* : nullable SignatureMap */; @@ -7463,12 +8738,12 @@ var = var1; RET_LABEL:; return var; } -/* method typing#CallSite#signaturemap= for (self: CallSite, nullable SignatureMap) */ +/* method typing$CallSite$signaturemap= for (self: CallSite, nullable SignatureMap) */ void nitc___nitc__CallSite___signaturemap_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__CallSite___signaturemap].val = p0; /* _signaturemap on */ RET_LABEL:; } -/* method typing#CallSite#check_signature for (self: CallSite, TypeVisitor, ANode, Array[AExpr]): Bool */ +/* method typing$CallSite$check_signature for (self: CallSite, TypeVisitor, ANode, Array[AExpr]): Bool */ short int nitc___nitc__CallSite___check_signature(val* self, val* p0, val* p1, val* p2) { short int var /* : Bool */; val* var_v /* var v: TypeVisitor */; @@ -7493,11 +8768,14 @@ var_v = p0; var_node = p1; var_args = p2; { -{ /* Inline typing#CallSite#mproperty (self) on */ +{ /* Inline typing$CallSite$mproperty (self) on */ var3 = self->attrs[COLOR_nitc__typing__CallSite___mproperty].val; /* _mproperty on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 653); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 656); fatal_exit(1); } var1 = var3; @@ -7505,11 +8783,14 @@ RET_LABEL2:(void)0; } } { -{ /* Inline typing#CallSite#msignature (self) on */ +{ /* Inline typing$CallSite$msignature (self) on */ var6 = self->attrs[COLOR_nitc__typing__CallSite___msignature].val; /* _msignature on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 660); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 663); fatal_exit(1); } var4 = var6; @@ -7521,7 +8802,7 @@ var7 = nitc__typing___nitc__typing__TypeVisitor___check_signature(var_v, var_nod } var_map = var7; { -{ /* Inline typing#CallSite#signaturemap= (self,var_map) on */ +{ /* Inline typing$CallSite$signaturemap= (self,var_map) on */ self->attrs[COLOR_nitc__typing__CallSite___signaturemap].val = var_map; /* _signaturemap on */ RET_LABEL8:(void)0; } @@ -7532,10 +8813,10 @@ var9 = 1; /* is null */ var9 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_map,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_map,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_map,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_map,var_other) on */ var14 = var_map == var_other; var12 = var14; goto RET_LABEL13; @@ -7550,7 +8831,7 @@ var9 = var10; } if (var9){ { -{ /* Inline model_base#MEntity#is_broken= (self,1) on */ +{ /* Inline model_base$MEntity$is_broken= (self,1) on */ self->attrs[COLOR_nitc__model_base__MEntity___is_broken].s = 1; /* _is_broken on */ RET_LABEL15:(void)0; } @@ -7563,10 +8844,10 @@ var16 = 1; /* is null */ var16 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_map,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_map,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_map,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_map,var_other) on */ var21 = var_map == var_other; var19 = var21; goto RET_LABEL20; @@ -7584,14 +8865,14 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#CallSite#init for (self: CallSite) */ +/* method typing$CallSite$init for (self: CallSite) */ void nitc___nitc__CallSite___core__kernel__Object__init(val* self) { { ((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__CallSite___core__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } -/* method typing#Variable#declared_type for (self: Variable): nullable MType */ +/* method typing$Variable$declared_type for (self: Variable): nullable MType */ val* nitc__typing___Variable___declared_type(val* self) { val* var /* : nullable MType */; val* var1 /* : nullable MType */; @@ -7600,12 +8881,12 @@ var = var1; RET_LABEL:; return var; } -/* method typing#Variable#declared_type= for (self: Variable, nullable MType) */ +/* method typing$Variable$declared_type= for (self: Variable, nullable MType) */ void nitc__typing___Variable___declared_type_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__Variable___declared_type].val = p0; /* _declared_type on */ RET_LABEL:; } -/* method typing#Variable#is_adapted for (self: Variable): Bool */ +/* method typing$Variable$is_adapted for (self: Variable): Bool */ short int nitc__typing___Variable___is_adapted(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -7614,26 +8895,29 @@ var = var1; RET_LABEL:; return var; } -/* method typing#Variable#is_adapted= for (self: Variable, Bool) */ +/* method typing$Variable$is_adapted= for (self: Variable, Bool) */ void nitc__typing___Variable___is_adapted_61d(val* self, short int p0) { self->attrs[COLOR_nitc__typing__Variable___is_adapted].s = p0; /* _is_adapted on */ RET_LABEL:; } -/* method typing#FlowContext#vars for (self: FlowContext): HashMap[Variable, nullable MType] */ +/* method typing$FlowContext$vars for (self: FlowContext): HashMap[Variable, nullable MType] */ val* nitc__typing___FlowContext___vars(val* self) { val* var /* : HashMap[Variable, nullable MType] */; val* var1 /* : HashMap[Variable, nullable MType] */; var1 = self->attrs[COLOR_nitc__typing__FlowContext___vars].val; /* _vars on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 689); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 697); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method typing#FlowContext#set_var for (self: FlowContext, TypeVisitor, Variable, nullable MType) */ +/* method typing$FlowContext$set_var for (self: FlowContext, TypeVisitor, Variable, nullable MType) */ void nitc__typing___FlowContext___set_var(val* self, val* p0, val* p1, val* p2) { val* var_v /* var v: TypeVisitor */; val* var_variable /* var variable: Variable */; @@ -7668,7 +8952,7 @@ var_v = p0; var_variable = p1; var_mtype = p2; { -{ /* Inline typing#Variable#declared_type (var_variable) on */ +{ /* Inline typing$Variable$declared_type (var_variable) on */ var3 = var_variable->attrs[COLOR_nitc__typing__Variable___declared_type].val; /* _declared_type on */ var1 = var3; RET_LABEL2:(void)0; @@ -7677,10 +8961,10 @@ RET_LABEL2:(void)0; if (var1 == NULL) { var4 = (var_mtype == NULL); } else { -{ /* Inline kernel#Object#== (var1,var_mtype) on */ +{ /* Inline kernel$Object$== (var1,var_mtype) on */ var_other = var_mtype; { -{ /* Inline kernel#Object#is_same_instance (var1,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var1,var_other) on */ var9 = var1 == var_other; var7 = var9; goto RET_LABEL8; @@ -7696,7 +8980,7 @@ var4 = var5; var_ = var4; if (var4){ { -{ /* Inline typing#Variable#is_adapted (var_variable) on */ +{ /* Inline typing$Variable$is_adapted (var_variable) on */ var12 = var_variable->attrs[COLOR_nitc__typing__Variable___is_adapted].s; /* _is_adapted on */ var10 = var12; RET_LABEL11:(void)0; @@ -7712,11 +8996,14 @@ goto RET_LABEL; } else { } { -{ /* Inline typing#FlowContext#vars (self) on */ +{ /* Inline typing$FlowContext$vars (self) on */ var17 = self->attrs[COLOR_nitc__typing__FlowContext___vars].val; /* _vars on */ if (unlikely(var17 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 689); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 697); fatal_exit(1); } var15 = var17; @@ -7729,11 +9016,14 @@ var18 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var15 var_19 = var18; if (var18){ { -{ /* Inline typing#FlowContext#vars (self) on */ +{ /* Inline typing$FlowContext$vars (self) on */ var22 = self->attrs[COLOR_nitc__typing__FlowContext___vars].val; /* _vars on */ if (unlikely(var22 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 689); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 697); fatal_exit(1); } var20 = var22; @@ -7746,10 +9036,10 @@ var23 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var2 if (var23 == NULL) { var24 = (var_mtype == NULL); } else { -{ /* Inline kernel#Object#== (var23,var_mtype) on */ +{ /* Inline kernel$Object$== (var23,var_mtype) on */ var_other = var_mtype; { -{ /* Inline kernel#Object#is_same_instance (var23,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var23,var_other) on */ var29 = var23 == var_other; var27 = var29; goto RET_LABEL28; @@ -7771,11 +9061,14 @@ goto RET_LABEL; } else { } { -{ /* Inline typing#FlowContext#vars (self) on */ +{ /* Inline typing$FlowContext$vars (self) on */ var32 = self->attrs[COLOR_nitc__typing__FlowContext___vars].val; /* _vars on */ if (unlikely(var32 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 689); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 697); fatal_exit(1); } var30 = var32; @@ -7783,23 +9076,23 @@ RET_LABEL31:(void)0; } } { -core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var30, var_variable, var_mtype); /* Direct call hash_collection#HashMap#[]= on */ +core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var30, var_variable, var_mtype); /* Direct call hash_collection$HashMap$[]= on */ } { -{ /* Inline typing#TypeVisitor#dirty= (var_v,1) on */ +{ /* Inline typing$TypeVisitor$dirty= (var_v,1) on */ var_v->attrs[COLOR_nitc__typing__TypeVisitor___dirty].s = 1; /* _dirty on */ RET_LABEL33:(void)0; } } { -{ /* Inline typing#Variable#is_adapted= (var_variable,1) on */ +{ /* Inline typing$Variable$is_adapted= (var_variable,1) on */ var_variable->attrs[COLOR_nitc__typing__Variable___is_adapted].s = 1; /* _is_adapted on */ RET_LABEL34:(void)0; } } RET_LABEL:; } -/* method typing#FlowContext#collect_types for (self: FlowContext, Variable): Array[nullable MType] */ +/* method typing$FlowContext$collect_types for (self: FlowContext, Variable): Array[nullable MType] */ val* nitc__typing___FlowContext___collect_types(val* self, val* p0) { val* var /* : Array[nullable MType] */; val* var_variable /* var variable: Variable */; @@ -7834,21 +9127,21 @@ val* var29 /* : nullable MType */; var_variable = p0; var1 = NEW_core__Array(&type_core__Array__nullable__nitc__MType); { -core___core__Array___core__kernel__Object__init(var1); /* Direct call array#Array#init on */ +core___core__Array___core__kernel__Object__init(var1); /* Direct call array$Array$init on */ } var_res = var1; var2 = NEW_core__Array(&type_core__Array__nitc__FlowContext); { -core___core__Array___with_capacity(var2, 1l); /* Direct call array#Array#with_capacity on */ +core___core__Array___with_capacity(var2, 1l); /* Direct call array$Array$with_capacity on */ } var_ = var2; { -core___core__AbstractArray___core__abstract_collection__Sequence__push(var_, self); /* Direct call array#AbstractArray#push on */ +core___core__AbstractArray___core__abstract_collection__Sequence__push(var_, self); /* Direct call array$AbstractArray$push on */ } var_todo = var_; var3 = NEW_core__HashSet(&type_core__HashSet__nitc__FlowContext); { -core___core__HashSet___core__kernel__Object__init(var3); /* Direct call hash_collection#HashSet#init on */ +core___core__HashSet___core__kernel__Object__init(var3); /* Direct call hash_collection$HashSet$init on */ } var_seen = var3; for(;;) { @@ -7876,14 +9169,17 @@ goto BREAK_label; } else { } { -core___core__HashSet___core__abstract_collection__SimpleCollection__add(var_seen, var_f); /* Direct call hash_collection#HashSet#add on */ +core___core__HashSet___core__abstract_collection__SimpleCollection__add(var_seen, var_f); /* Direct call hash_collection$HashSet$add on */ } { -{ /* Inline typing#FlowContext#vars (var_f) on */ +{ /* Inline typing$FlowContext$vars (var_f) on */ var11 = var_f->attrs[COLOR_nitc__typing__FlowContext___vars].val; /* _vars on */ if (unlikely(var11 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 689); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 697); fatal_exit(1); } var9 = var11; @@ -7895,11 +9191,14 @@ var12 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var9, } if (var12){ { -{ /* Inline typing#FlowContext#vars (var_f) on */ +{ /* Inline typing$FlowContext$vars (var_f) on */ var15 = var_f->attrs[COLOR_nitc__typing__FlowContext___vars].val; /* _vars on */ if (unlikely(var15 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _vars"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 689); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 697); fatal_exit(1); } var13 = var15; @@ -7910,13 +9209,16 @@ RET_LABEL14:(void)0; var16 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var13, var_variable); } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var16); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var16); /* Direct call array$Array$add on */ } } else { { -{ /* Inline flow#FlowContext#previous (var_f) on */ +{ /* Inline flow$FlowContext$previous (var_f) on */ var19 = var_f->attrs[COLOR_nitc__flow__FlowContext___previous].val; /* _previous on */ if (unlikely(var19 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 189); fatal_exit(1); @@ -7926,12 +9228,15 @@ RET_LABEL18:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_todo, var17); /* Direct call array#Array#add_all on */ +core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_todo, var17); /* Direct call array$Array$add_all on */ } { -{ /* Inline flow#FlowContext#loops (var_f) on */ +{ /* Inline flow$FlowContext$loops (var_f) on */ var22 = var_f->attrs[COLOR_nitc__flow__FlowContext___loops].val; /* _loops on */ if (unlikely(var22 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _loops"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 192); fatal_exit(1); @@ -7941,12 +9246,15 @@ RET_LABEL21:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_todo, var20); /* Direct call array#Array#add_all on */ +core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_todo, var20); /* Direct call array$Array$add_all on */ } { -{ /* Inline flow#FlowContext#previous (var_f) on */ +{ /* Inline flow$FlowContext$previous (var_f) on */ var25 = var_f->attrs[COLOR_nitc__flow__FlowContext___previous].val; /* _previous on */ if (unlikely(var25 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__flow, 189); fatal_exit(1); @@ -7960,14 +9268,14 @@ var26 = core___core__AbstractArrayRead___core__abstract_collection__Collection__ } if (var26){ { -{ /* Inline typing#Variable#declared_type (var_variable) on */ +{ /* Inline typing$Variable$declared_type (var_variable) on */ var29 = var_variable->attrs[COLOR_nitc__typing__Variable___declared_type].val; /* _declared_type on */ var27 = var29; RET_LABEL28:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var27); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var27); /* Direct call array$Array$add on */ } } else { } @@ -7983,18 +9291,18 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method typing#APropdef#do_typing for (self: APropdef, ModelBuilder) */ +/* method typing$APropdef$do_typing for (self: APropdef, ModelBuilder) */ void nitc__typing___APropdef___do_typing(val* self, val* p0) { val* var_modelbuilder /* var modelbuilder: ModelBuilder */; var_modelbuilder = p0; RET_LABEL:; } -/* method typing#APropdef#selfvariable= for (self: APropdef, nullable Variable) */ +/* method typing$APropdef$selfvariable= for (self: APropdef, nullable Variable) */ void nitc__typing___APropdef___selfvariable_61d(val* self, val* p0) { self->attrs[COLOR_nitc__typing__APropdef___selfvariable].val = p0; /* _selfvariable on */ RET_LABEL:; } -/* method typing#AMethPropdef#do_typing for (self: AMethPropdef, ModelBuilder) */ +/* method typing$AMethPropdef$do_typing for (self: AMethPropdef, ModelBuilder) */ void nitc__typing___AMethPropdef___APropdef__do_typing(val* self, val* p0) { val* var_modelbuilder /* var modelbuilder: ModelBuilder */; val* var /* : nullable MPropDef */; @@ -8049,67 +9357,75 @@ val* var55 /* : ANodes[AParam] */; val* var56 /* : ANode */; static val* varonce; val* var57 /* : String */; -char* var58 /* : NativeString */; +char* var58 /* : CString */; val* var59 /* : String */; -val* var60 /* : nullable MClass */; +val* var60 /* : nullable Int */; +val* var61 /* : nullable Int */; +val* var62 /* : nullable Bool */; +val* var63 /* : nullable Bool */; +val* var64 /* : nullable MClass */; val* var_arrayclass /* var arrayclass: nullable MClass */; -short int var61 /* : Bool */; -short int var62 /* : Bool */; -short int var64 /* : Bool */; +short int var65 /* : Bool */; short int var66 /* : Bool */; -val* var67 /* : Array[MType] */; -val* var_68 /* var : Array[MType] */; -val* var69 /* : MClassType */; -val* var70 /* : nullable ASignature */; -val* var72 /* : nullable ASignature */; -val* var73 /* : ANodes[AParam] */; -val* var75 /* : ANodes[AParam] */; -val* var76 /* : ANode */; -val* var77 /* : nullable Variable */; -val* var79 /* : nullable Variable */; +short int var68 /* : Bool */; +short int var70 /* : Bool */; +val* var71 /* : Array[MType] */; +val* var_72 /* var : Array[MType] */; +val* var73 /* : MClassType */; +val* var74 /* : nullable ASignature */; +val* var76 /* : nullable ASignature */; +val* var77 /* : ANodes[AParam] */; +val* var79 /* : ANodes[AParam] */; +val* var80 /* : ANode */; +val* var81 /* : nullable Variable */; +val* var83 /* : nullable Variable */; val* var_variable /* var variable: nullable Variable */; -short int var80 /* : Bool */; -short int var81 /* : Bool */; -val* var_other83 /* var other: nullable Object */; short int var84 /* : Bool */; short int var85 /* : Bool */; -long var87 /* : Int */; -val* var88 /* : nullable AExpr */; -val* var90 /* : nullable AExpr */; +val* var_other87 /* var other: nullable Object */; +short int var88 /* : Bool */; +short int var89 /* : Bool */; +long var91 /* : Int */; +val* var92 /* : nullable AExpr */; +val* var94 /* : nullable AExpr */; val* var_nblock /* var nblock: nullable AExpr */; -short int var91 /* : Bool */; -short int var92 /* : Bool */; -short int var94 /* : Bool */; +short int var95 /* : Bool */; short int var96 /* : Bool */; short int var98 /* : Bool */; -short int var99 /* : Bool */; -short int var101 /* : Bool */; +short int var100 /* : Bool */; short int var102 /* : Bool */; -short int var_103 /* var : Bool */; -short int var104 /* : Bool */; +short int var103 /* : Bool */; +short int var105 /* : Bool */; short int var106 /* : Bool */; -short int var107 /* : Bool */; -val* var109 /* : PostTypingVisitor */; -val* var_post_visitor /* var post_visitor: PostTypingVisitor */; +short int var_107 /* var : Bool */; +short int var108 /* : Bool */; short int var110 /* : Bool */; -val* var111 /* : nullable FlowContext */; -val* var113 /* : nullable FlowContext */; +short int var111 /* : Bool */; +val* var113 /* : PostTypingVisitor */; +val* var_post_visitor /* var post_visitor: PostTypingVisitor */; short int var114 /* : Bool */; -short int var115 /* : Bool */; -short int var_116 /* var : Bool */; -val* var117 /* : nullable MType */; -val* var119 /* : nullable MType */; -short int var120 /* : Bool */; -short int var121 /* : Bool */; -short int var123 /* : Bool */; +val* var115 /* : nullable FlowContext */; +val* var117 /* : nullable FlowContext */; +short int var118 /* : Bool */; +short int var119 /* : Bool */; +short int var_120 /* var : Bool */; +val* var121 /* : nullable MType */; +val* var123 /* : nullable MType */; short int var124 /* : Bool */; -static val* varonce125; -val* var126 /* : String */; -char* var127 /* : NativeString */; -val* var128 /* : String */; +short int var125 /* : Bool */; +short int var127 /* : Bool */; +short int var128 /* : Bool */; +static val* varonce129; +val* var130 /* : String */; +char* var131 /* : CString */; +val* var132 /* : String */; +val* var133 /* : nullable Int */; +val* var134 /* : nullable Int */; +val* var135 /* : nullable Bool */; +val* var136 /* : nullable Bool */; var_modelbuilder = p0; { -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +{ /* Inline modelize_property$APropdef$mpropdef (self) on */ var2 = self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ var = var2; RET_LABEL1:(void)0; @@ -8122,10 +9438,10 @@ var3 = 1; /* is null */ var3 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_mpropdef,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_mpropdef,var_other) on */ var8 = var_mpropdef == var_other; var6 = var8; goto RET_LABEL7; @@ -8144,11 +9460,14 @@ goto RET_LABEL; } var9 = NEW_nitc__typing__TypeVisitor(&type_nitc__typing__TypeVisitor); { -{ /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ +{ /* Inline model$MPropDef$mclassdef (var_mpropdef) on */ var12 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mclassdef].val; /* _mclassdef on */ if (unlikely(var12 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2227); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2354); fatal_exit(1); } var10 = var12; @@ -8156,11 +9475,14 @@ RET_LABEL11:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var10) on */ +{ /* Inline model$MClassDef$mmodule (var10) on */ var15 = var10->attrs[COLOR_nitc__model__MClassDef___mmodule].val; /* _mmodule on */ if (unlikely(var15 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 573); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 588); fatal_exit(1); } var13 = var15; @@ -8181,9 +9503,12 @@ RET_LABEL14:(void)0; } var_v = var9; { -{ /* Inline typing#TypeVisitor#selfvariable (var_v) on */ +{ /* Inline typing$TypeVisitor$selfvariable (var_v) on */ var18 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___selfvariable].val; /* _selfvariable on */ if (unlikely(var18 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 51); fatal_exit(1); @@ -8193,26 +9518,29 @@ RET_LABEL17:(void)0; } } { -{ /* Inline typing#APropdef#selfvariable= (self,var16) on */ +{ /* Inline typing$APropdef$selfvariable= (self,var16) on */ self->attrs[COLOR_nitc__typing__APropdef___selfvariable].val = var16; /* _selfvariable on */ RET_LABEL19:(void)0; } } { -{ /* Inline modelize_property#APropdef#mpropdef (self) on */ +{ /* Inline modelize_property$APropdef$mpropdef (self) on */ var22 = self->attrs[COLOR_nitc__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ var20 = var22; RET_LABEL21:(void)0; } } if (unlikely(var20 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 757); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 765); fatal_exit(1); } var_mmethoddef = var20; { -{ /* Inline model#MMethodDef#msignature (var_mmethoddef) on */ +{ /* Inline model$MMethodDef$msignature (var_mmethoddef) on */ var25 = var_mmethoddef->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on */ var23 = var25; RET_LABEL24:(void)0; @@ -8225,10 +9553,10 @@ var26 = 1; /* is null */ var26 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_msignature,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_msignature,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_msignature,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_msignature,var_other) on */ var31 = var_msignature == var_other; var29 = var31; goto RET_LABEL30; @@ -8252,14 +9580,14 @@ var32 = nitc___nitc__MSignature___arity(var_msignature); var_ = var32; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ +{ /* Inline kernel$Int$< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var35 = 1; /* easy isa OTHER*/ if (unlikely(!var35)) { var_class_name = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var36 = var_i < var_; @@ -8273,11 +9601,14 @@ if (var33){ goto BREAK_label; } { -{ /* Inline model#MSignature#mparameters (var_msignature) on */ +{ /* Inline model$MSignature$mparameters (var_msignature) on */ var39 = var_msignature->attrs[COLOR_nitc__model__MSignature___mparameters].val; /* _mparameters on */ if (unlikely(var39 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1783); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1879); fatal_exit(1); } var37 = var39; @@ -8288,11 +9619,14 @@ RET_LABEL38:(void)0; var40 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var37, var_i); } { -{ /* Inline model#MParameter#mtype (var40) on */ +{ /* Inline model$MParameter$mtype (var40) on */ var43 = var40->attrs[COLOR_nitc__model__MParameter___mtype].val; /* _mtype on */ if (unlikely(var43 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1900); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1996); fatal_exit(1); } var41 = var43; @@ -8301,14 +9635,14 @@ RET_LABEL42:(void)0; } var_mtype = var41; { -{ /* Inline model#MSignature#vararg_rank (var_msignature) on */ +{ /* Inline model$MSignature$vararg_rank (var_msignature) on */ var46 = var_msignature->attrs[COLOR_nitc__model__MSignature___vararg_rank].l; /* _vararg_rank on */ var44 = var46; RET_LABEL45:(void)0; } } { -{ /* Inline kernel#Int#== (var44,var_i) on */ +{ /* Inline kernel$Int$== (var44,var_i) on */ var49 = var44 == var_i; var47 = var49; goto RET_LABEL48; @@ -8317,27 +9651,36 @@ RET_LABEL48:(void)0; } if (var47){ { -{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ +{ /* Inline parser_nodes$AMethPropdef$n_signature (self) on */ var52 = self->attrs[COLOR_nitc__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ var50 = var52; RET_LABEL51:(void)0; } } if (var50 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 763); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 771); fatal_exit(1); } else { -{ /* Inline parser_nodes#ASignature#n_params (var50) on */ +{ /* Inline parser_nodes$ASignature$n_params (var50) on */ if (unlikely(var50 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1679); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1746); fatal_exit(1); } var55 = var50->attrs[COLOR_nitc__parser_nodes__ASignature___n_params].val; /* _n_params on */ if (unlikely(var55 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1679); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1746); fatal_exit(1); } var53 = var55; @@ -8351,1570 +9694,293 @@ if (likely(varonce!=NULL)) { var57 = varonce; } else { var58 = "Array"; -var59 = core__flat___NativeString___to_s_full(var58, 5l, 5l); +var60 = (val*)(5l<<2|1); +var61 = (val*)(5l<<2|1); +var62 = (val*)((long)(0)<<2|3); +var63 = (val*)((long)(0)<<2|3); +var59 = core__flat___CString___to_s_unsafe(var58, var60, var61, var62, var63); var57 = var59; varonce = var57; } { -var60 = nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v, var56, var57); +var64 = nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v, var56, var57); } -var_arrayclass = var60; +var_arrayclass = var64; if (var_arrayclass == NULL) { -var61 = 1; /* is null */ +var65 = 1; /* is null */ } else { -var61 = 0; /* arg is null but recv is not */ +var65 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_arrayclass,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_arrayclass,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_arrayclass,var_other) on */ -var66 = var_arrayclass == var_other; -var64 = var66; -goto RET_LABEL65; -RET_LABEL65:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_arrayclass,var_other) on */ +var70 = var_arrayclass == var_other; +var68 = var70; +goto RET_LABEL69; +RET_LABEL69:(void)0; } } -var62 = var64; -goto RET_LABEL63; -RET_LABEL63:(void)0; +var66 = var68; +goto RET_LABEL67; +RET_LABEL67:(void)0; } -var61 = var62; +var65 = var66; } -if (var61){ +if (var65){ goto RET_LABEL; } else { } -var67 = NEW_core__Array(&type_core__Array__nitc__MType); +var71 = NEW_core__Array(&type_core__Array__nitc__MType); { -core___core__Array___with_capacity(var67, 1l); /* Direct call array#Array#with_capacity on */ +core___core__Array___with_capacity(var71, 1l); /* Direct call array$Array$with_capacity on */ } -var_68 = var67; +var_72 = var71; { -core___core__AbstractArray___core__abstract_collection__Sequence__push(var_68, var_mtype); /* Direct call array#AbstractArray#push on */ +core___core__AbstractArray___core__abstract_collection__Sequence__push(var_72, var_mtype); /* Direct call array$AbstractArray$push on */ } { -var69 = nitc___nitc__MClass___get_mtype(var_arrayclass, var_68); +var73 = nitc___nitc__MClass___get_mtype(var_arrayclass, var_72); } -var_mtype = var69; +var_mtype = var73; } else { } { -{ /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ -var72 = self->attrs[COLOR_nitc__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -var70 = var72; -RET_LABEL71:(void)0; +{ /* Inline parser_nodes$AMethPropdef$n_signature (self) on */ +var76 = self->attrs[COLOR_nitc__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var74 = var76; +RET_LABEL75:(void)0; +} } +if (var74 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -if (var70 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 767); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 775); fatal_exit(1); } else { -{ /* Inline parser_nodes#ASignature#n_params (var70) on */ -if (unlikely(var70 == NULL)) { +{ /* Inline parser_nodes$ASignature$n_params (var74) on */ +if (unlikely(var74 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1679); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1746); fatal_exit(1); } -var75 = var70->attrs[COLOR_nitc__parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (unlikely(var75 == NULL)) { +var79 = var74->attrs[COLOR_nitc__parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var79 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1679); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1746); fatal_exit(1); } -var73 = var75; -RET_LABEL74:(void)0; +var77 = var79; +RET_LABEL78:(void)0; } } { -var76 = nitc___nitc__ANodes___core__abstract_collection__SequenceRead___91d_93d(var73, var_i); +var80 = nitc___nitc__ANodes___core__abstract_collection__SequenceRead___91d_93d(var77, var_i); } { -{ /* Inline scope#AParam#variable (var76) on */ -var79 = var76->attrs[COLOR_nitc__scope__AParam___variable].val; /* _variable on */ -var77 = var79; -RET_LABEL78:(void)0; +{ /* Inline scope$AParam$variable (var80) on */ +var83 = var80->attrs[COLOR_nitc__scope__AParam___variable].val; /* _variable on */ +var81 = var83; +RET_LABEL82:(void)0; } } -var_variable = var77; +var_variable = var81; if (var_variable == NULL) { -var80 = 0; /* is null */ +var84 = 0; /* is null */ } else { -var80 = 1; /* arg is null and recv is not */ +var84 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_variable,((val*)NULL)) on */ -var_other83 = ((val*)NULL); +{ /* Inline kernel$Object$!= (var_variable,((val*)NULL)) on */ +var_other87 = ((val*)NULL); { -var84 = ((short int(*)(val* self, val* p0))(var_variable->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_variable, var_other83); /* == on */ +var88 = ((short int(*)(val* self, val* p0))(var_variable->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_variable, var_other87); /* == on */ } -var85 = !var84; -var81 = var85; -goto RET_LABEL82; -RET_LABEL82:(void)0; +var89 = !var88; +var85 = var89; +goto RET_LABEL86; +RET_LABEL86:(void)0; } -var80 = var81; +var84 = var85; +} +if (unlikely(!var84)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -if (unlikely(!var80)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 768); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 776); fatal_exit(1); } { -{ /* Inline typing#Variable#declared_type= (var_variable,var_mtype) on */ +{ /* Inline typing$Variable$declared_type= (var_variable,var_mtype) on */ var_variable->attrs[COLOR_nitc__typing__Variable___declared_type].val = var_mtype; /* _declared_type on */ -RET_LABEL86:(void)0; +RET_LABEL90:(void)0; } } { -var87 = core___core__Int___Discrete__successor(var_i, 1l); +var91 = core___core__Int___Discrete__successor(var_i, 1l); } -var_i = var87; +var_i = var91; } BREAK_label: (void)0; { -{ /* Inline parser_nodes#AMethPropdef#n_block (self) on */ -var90 = self->attrs[COLOR_nitc__parser_nodes__AMethPropdef___n_block].val; /* _n_block on */ -var88 = var90; -RET_LABEL89:(void)0; +{ /* Inline parser_nodes$AMethPropdef$n_block (self) on */ +var94 = self->attrs[COLOR_nitc__parser_nodes__AMethPropdef___n_block].val; /* _n_block on */ +var92 = var94; +RET_LABEL93:(void)0; } } -var_nblock = var88; +var_nblock = var92; if (var_nblock == NULL) { -var91 = 1; /* is null */ +var95 = 1; /* is null */ } else { -var91 = 0; /* arg is null but recv is not */ +var95 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_nblock,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_nblock,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_nblock,var_other) on */ -var96 = var_nblock == var_other; -var94 = var96; -goto RET_LABEL95; -RET_LABEL95:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_nblock,var_other) on */ +var100 = var_nblock == var_other; +var98 = var100; +goto RET_LABEL99; +RET_LABEL99:(void)0; } } -var92 = var94; -goto RET_LABEL93; -RET_LABEL93:(void)0; +var96 = var98; +goto RET_LABEL97; +RET_LABEL97:(void)0; } -var91 = var92; +var95 = var96; } -if (var91){ +if (var95){ goto RET_LABEL; } else { } for(;;) { { -{ /* Inline typing#TypeVisitor#dirty= (var_v,0) on */ +{ /* Inline typing$TypeVisitor$dirty= (var_v,0) on */ var_v->attrs[COLOR_nitc__typing__TypeVisitor___dirty].s = 0; /* _dirty on */ -RET_LABEL97:(void)0; +RET_LABEL101:(void)0; } } { -nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v, var_nblock); /* Direct call typing#TypeVisitor#visit_stmt on */ +nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v, var_nblock); /* Direct call typing$TypeVisitor$visit_stmt on */ } { -{ /* Inline typing#TypeVisitor#has_loop (var_v) on */ -var101 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___has_loop].s; /* _has_loop on */ -var99 = var101; -RET_LABEL100:(void)0; +{ /* Inline typing$TypeVisitor$has_loop (var_v) on */ +var105 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___has_loop].s; /* _has_loop on */ +var103 = var105; +RET_LABEL104:(void)0; } } -var102 = !var99; -var_103 = var102; -if (var102){ -var98 = var_103; +var106 = !var103; +var_107 = var106; +if (var106){ +var102 = var_107; } else { { -{ /* Inline typing#TypeVisitor#dirty (var_v) on */ -var106 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___dirty].s; /* _dirty on */ -var104 = var106; -RET_LABEL105:(void)0; +{ /* Inline typing$TypeVisitor$dirty (var_v) on */ +var110 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___dirty].s; /* _dirty on */ +var108 = var110; +RET_LABEL109:(void)0; } } -var107 = !var104; -var98 = var107; +var111 = !var108; +var102 = var111; } -if (var98){ -goto BREAK_label108; +if (var102){ +goto BREAK_label112; } else { } } -BREAK_label108: (void)0; -var109 = NEW_nitc__typing__PostTypingVisitor(&type_nitc__typing__PostTypingVisitor); +BREAK_label112: (void)0; +var113 = NEW_nitc__typing__PostTypingVisitor(&type_nitc__typing__PostTypingVisitor); { -((void(*)(val* self, val* p0))(var109->class->vft[COLOR_nitc__typing__PostTypingVisitor__type_visitor_61d]))(var109, var_v); /* type_visitor= on */ +((void(*)(val* self, val* p0))(var113->class->vft[COLOR_nitc__typing__PostTypingVisitor__type_visitor_61d]))(var113, var_v); /* type_visitor= on */ } { -((void(*)(val* self))(var109->class->vft[COLOR_core__kernel__Object__init]))(var109); /* init on */ +((void(*)(val* self))(var113->class->vft[COLOR_core__kernel__Object__init]))(var113); /* init on */ } -var_post_visitor = var109; +var_post_visitor = var113; { -nitc___nitc__Visitor___enter_visit(var_post_visitor, self); /* Direct call parser_nodes#Visitor#enter_visit on */ +nitc___nitc__Visitor___enter_visit(var_post_visitor, self); /* Direct call parser_nodes$Visitor$enter_visit on */ } { -{ /* Inline flow#AExpr#after_flow_context (var_nblock) on */ -var113 = var_nblock->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on */ -var111 = var113; -RET_LABEL112:(void)0; +{ /* Inline flow$AExpr$after_flow_context (var_nblock) on */ +var117 = var_nblock->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on */ +var115 = var117; +RET_LABEL116:(void)0; +} } +if (var115 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -if (var111 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 784); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 792); fatal_exit(1); } else { -var114 = nitc___nitc__FlowContext___is_unreachable(var111); +var118 = nitc___nitc__FlowContext___is_unreachable(var115); } -var115 = !var114; -var_116 = var115; -if (var115){ +var119 = !var118; +var_120 = var119; +if (var119){ { -{ /* Inline model#MSignature#return_mtype (var_msignature) on */ -var119 = var_msignature->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on */ -var117 = var119; -RET_LABEL118:(void)0; +{ /* Inline model$MSignature$return_mtype (var_msignature) on */ +var123 = var_msignature->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on */ +var121 = var123; +RET_LABEL122:(void)0; } } -if (var117 == NULL) { -var120 = 0; /* is null */ +if (var121 == NULL) { +var124 = 0; /* is null */ } else { -var120 = 1; /* arg is null and recv is not */ +var124 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var117,((val*)NULL)) on */ -var_other83 = ((val*)NULL); +{ /* Inline kernel$Object$!= (var121,((val*)NULL)) on */ +var_other87 = ((val*)NULL); { -var123 = ((short int(*)(val* self, val* p0))(var117->class->vft[COLOR_core__kernel__Object___61d_61d]))(var117, var_other83); /* == on */ -} -var124 = !var123; -var121 = var124; -goto RET_LABEL122; -RET_LABEL122:(void)0; -} -var120 = var121; +var127 = ((short int(*)(val* self, val* p0))(var121->class->vft[COLOR_core__kernel__Object___61d_61d]))(var121, var_other87); /* == on */ } -var110 = var120; -} else { -var110 = var_116; -} -if (var110){ -if (likely(varonce125!=NULL)) { -var126 = varonce125; -} else { -var127 = "Error: reached end of function; expected `return` with a value."; -var128 = core__flat___NativeString___to_s_full(var127, 63l, 63l); -var126 = var128; -varonce125 = var126; +var128 = !var127; +var125 = var128; +goto RET_LABEL126; +RET_LABEL126:(void)0; } -{ -nitc__typing___nitc__typing__TypeVisitor___error(var_v, self, var126); /* Direct call typing#TypeVisitor#error on */ +var124 = var125; } +var114 = var124; } else { +var114 = var_120; } -RET_LABEL:; -} -/* method typing#PostTypingVisitor#type_visitor for (self: PostTypingVisitor): TypeVisitor */ -val* nitc__typing___nitc__typing__PostTypingVisitor___type_visitor(val* self) { -val* var /* : TypeVisitor */; -val* var1 /* : TypeVisitor */; -var1 = self->attrs[COLOR_nitc__typing__PostTypingVisitor___type_visitor].val; /* _type_visitor on */ -if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_visitor"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 793); -fatal_exit(1); -} -var = var1; -RET_LABEL:; -return var; -} -/* method typing#PostTypingVisitor#type_visitor= for (self: PostTypingVisitor, TypeVisitor) */ -void nitc__typing___nitc__typing__PostTypingVisitor___type_visitor_61d(val* self, val* p0) { -self->attrs[COLOR_nitc__typing__PostTypingVisitor___type_visitor].val = p0; /* _type_visitor on */ -RET_LABEL:; -} -/* method typing#PostTypingVisitor#visit for (self: PostTypingVisitor, ANode) */ -void nitc__typing___nitc__typing__PostTypingVisitor___nitc__parser_nodes__Visitor__visit(val* self, val* p0) { -val* var_n /* var n: ANode */; -val* var /* : TypeVisitor */; -val* var2 /* : TypeVisitor */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -int cltype; -int idtype; -short int var_ /* var : Bool */; -val* var6 /* : nullable MType */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var10 /* : Bool */; -short int var12 /* : Bool */; -short int var_13 /* var : Bool */; -short int var14 /* : Bool */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; -var_n = p0; -{ -((void(*)(val* self, val* p0))(var_n->class->vft[COLOR_nitc__parser_nodes__ANode__visit_all]))(var_n, self); /* visit_all on */ -} -{ -{ /* Inline typing#PostTypingVisitor#type_visitor (self) on */ -var2 = self->attrs[COLOR_nitc__typing__PostTypingVisitor___type_visitor].val; /* _type_visitor on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_visitor"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 793); -fatal_exit(1); -} -var = var2; -RET_LABEL1:(void)0; -} -} -{ -((void(*)(val* self, val* p0))(var_n->class->vft[COLOR_nitc__typing__ANode__accept_post_typing]))(var_n, var); /* accept_post_typing on */ -} -/* isa AExpr */ -cltype = type_nitc__AExpr.color; -idtype = type_nitc__AExpr.id; -if(cltype >= var_n->type->table_size) { -var5 = 0; +if (var114){ +if (likely(varonce129!=NULL)) { +var130 = varonce129; } else { -var5 = var_n->type->type_table[cltype] == idtype; +var131 = "Error: reached end of function; expected `return` with a value."; +var133 = (val*)(63l<<2|1); +var134 = (val*)(63l<<2|1); +var135 = (val*)((long)(0)<<2|3); +var136 = (val*)((long)(0)<<2|3); +var132 = core__flat___CString___to_s_unsafe(var131, var133, var134, var135, var136); +var130 = var132; +varonce129 = var130; } -var_ = var5; -if (var5){ { -var6 = ((val*(*)(val* self))(var_n->class->vft[COLOR_nitc__typing__AExpr__mtype]))(var_n); /* mtype on */ +nitc__typing___nitc__typing__TypeVisitor___error(var_v, self, var130); /* Direct call typing$TypeVisitor$error on */ } -if (var6 == NULL) { -var7 = 1; /* is null */ } else { -var7 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var6,((val*)NULL)) on */ -var_other = ((val*)NULL); -{ -{ /* Inline kernel#Object#is_same_instance (var6,var_other) on */ -var12 = var6 == var_other; -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; -} -} -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; -} -var7 = var8; -} -var4 = var7; -} else { -var4 = var_; -} -var_13 = var4; -if (var4){ -{ -{ /* Inline typing#AExpr#is_typed (var_n) on */ -var16 = var_n->attrs[COLOR_nitc__typing__AExpr___is_typed].s; /* _is_typed on */ -var14 = var16; -RET_LABEL15:(void)0; -} -} -var17 = !var14; -var3 = var17; -} else { -var3 = var_13; -} -if (var3){ -{ -{ /* Inline modelbuilder_base#ANode#is_broken= (var_n,1) on */ -var_n->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = 1; /* _is_broken on */ -RET_LABEL18:(void)0; -} -} -} else { -} -RET_LABEL:; -} -/* method typing#PostTypingVisitor#init for (self: PostTypingVisitor) */ -void nitc__typing___nitc__typing__PostTypingVisitor___core__kernel__Object__init(val* self) { -{ -((void(*)(val* self))(self->class->vft[COLOR_nitc__typing___nitc__typing__PostTypingVisitor___core__kernel__Object__init]))(self); /* init on */ -} -RET_LABEL:; -} -/* method typing#ANode#accept_post_typing for (self: ANode, TypeVisitor) */ -void nitc__typing___ANode___accept_post_typing(val* self, val* p0) { -val* var_v /* var v: TypeVisitor */; -var_v = p0; -RET_LABEL:; -} -/* method typing#AAttrPropdef#do_typing for (self: AAttrPropdef, ModelBuilder) */ -void nitc__typing___AAttrPropdef___APropdef__do_typing(val* self, val* p0) { -val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -short int var /* : Bool */; -short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var4 /* : nullable MMethodDef */; -val* var6 /* : nullable MMethodDef */; -val* var_mpropdef /* var mpropdef: nullable MMethodDef */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var11 /* : Bool */; -short int var13 /* : Bool */; -short int var_ /* var : Bool */; -val* var14 /* : nullable MSignature */; -val* var16 /* : nullable MSignature */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -short int var20 /* : Bool */; -short int var22 /* : Bool */; -val* var23 /* : TypeVisitor */; -val* var24 /* : MClassDef */; -val* var26 /* : MClassDef */; -val* var27 /* : MModule */; -val* var29 /* : MModule */; -val* var_v /* var v: TypeVisitor */; -val* var30 /* : Variable */; -val* var32 /* : Variable */; -val* var34 /* : nullable AExpr */; -val* var36 /* : nullable AExpr */; -val* var_nexpr /* var nexpr: nullable AExpr */; -short int var37 /* : Bool */; -short int var38 /* : Bool */; -val* var_other40 /* var other: nullable Object */; -short int var41 /* : Bool */; -short int var42 /* : Bool */; -val* var43 /* : nullable MType */; -val* var45 /* : nullable MType */; -val* var_mtype /* var mtype: nullable MType */; -val* var46 /* : nullable MType */; -val* var47 /* : nullable AExpr */; -val* var49 /* : nullable AExpr */; -val* var_nblock /* var nblock: nullable AExpr */; -short int var50 /* : Bool */; -short int var51 /* : Bool */; -short int var53 /* : Bool */; -short int var54 /* : Bool */; -val* var55 /* : nullable FlowContext */; -val* var57 /* : nullable FlowContext */; -short int var58 /* : Bool */; -short int var59 /* : Bool */; -static val* varonce; -val* var60 /* : String */; -char* var61 /* : NativeString */; -val* var62 /* : String */; -var_modelbuilder = p0; -{ -{ /* Inline modelize_property#AAttrPropdef#has_value (self) on */ -var2 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___has_value].s; /* _has_value on */ -var = var2; -RET_LABEL1:(void)0; -} -} -var3 = !var; -if (var3){ -goto RET_LABEL; -} else { -} -{ -{ /* Inline modelize_property#AAttrPropdef#mreadpropdef (self) on */ -var6 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mreadpropdef].val; /* _mreadpropdef on */ -var4 = var6; -RET_LABEL5:(void)0; -} -} -var_mpropdef = var4; -if (var_mpropdef == NULL) { -var8 = 1; /* is null */ -} else { -var8 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on */ -var_other = ((val*)NULL); -{ -{ /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on */ -var13 = var_mpropdef == var_other; -var11 = var13; -goto RET_LABEL12; -RET_LABEL12:(void)0; -} -} -var9 = var11; -goto RET_LABEL10; -RET_LABEL10:(void)0; -} -var8 = var9; -} -var_ = var8; -if (var8){ -var7 = var_; -} else { -{ -{ /* Inline model#MMethodDef#msignature (var_mpropdef) on */ -var16 = var_mpropdef->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on */ -var14 = var16; -RET_LABEL15:(void)0; -} -} -if (var14 == NULL) { -var17 = 1; /* is null */ -} else { -var17 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var14,((val*)NULL)) on */ -var_other = ((val*)NULL); -{ -{ /* Inline kernel#Object#is_same_instance (var14,var_other) on */ -var22 = var14 == var_other; -var20 = var22; -goto RET_LABEL21; -RET_LABEL21:(void)0; -} -} -var18 = var20; -goto RET_LABEL19; -RET_LABEL19:(void)0; -} -var17 = var18; -} -var7 = var17; -} -if (var7){ -goto RET_LABEL; -} else { -} -var23 = NEW_nitc__typing__TypeVisitor(&type_nitc__typing__TypeVisitor); -{ -{ /* Inline model#MPropDef#mclassdef (var_mpropdef) on */ -var26 = var_mpropdef->attrs[COLOR_nitc__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var26 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2227); -fatal_exit(1); -} -var24 = var26; -RET_LABEL25:(void)0; -} -} -{ -{ /* Inline model#MClassDef#mmodule (var24) on */ -var29 = var24->attrs[COLOR_nitc__model__MClassDef___mmodule].val; /* _mmodule on */ -if (unlikely(var29 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 573); -fatal_exit(1); -} -var27 = var29; -RET_LABEL28:(void)0; -} -} -{ -((void(*)(val* self, val* p0))(var23->class->vft[COLOR_nitc__typing__TypeVisitor__modelbuilder_61d]))(var23, var_modelbuilder); /* modelbuilder= on */ -} -{ -((void(*)(val* self, val* p0))(var23->class->vft[COLOR_nitc__typing__TypeVisitor__mmodule_61d]))(var23, var27); /* mmodule= on */ -} -{ -((void(*)(val* self, val* p0))(var23->class->vft[COLOR_nitc__typing__TypeVisitor__mpropdef_61d]))(var23, var_mpropdef); /* mpropdef= on */ -} -{ -((void(*)(val* self))(var23->class->vft[COLOR_core__kernel__Object__init]))(var23); /* init on */ -} -var_v = var23; -{ -{ /* Inline typing#TypeVisitor#selfvariable (var_v) on */ -var32 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___selfvariable].val; /* _selfvariable on */ -if (unlikely(var32 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 51); -fatal_exit(1); -} -var30 = var32; -RET_LABEL31:(void)0; -} -} -{ -{ /* Inline typing#APropdef#selfvariable= (self,var30) on */ -self->attrs[COLOR_nitc__typing__APropdef___selfvariable].val = var30; /* _selfvariable on */ -RET_LABEL33:(void)0; -} -} -{ -{ /* Inline parser_nodes#AAttrPropdef#n_expr (self) on */ -var36 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on */ -var34 = var36; -RET_LABEL35:(void)0; -} -} -var_nexpr = var34; -if (var_nexpr == NULL) { -var37 = 0; /* is null */ -} else { -var37 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_nexpr,((val*)NULL)) on */ -var_other40 = ((val*)NULL); -{ -var41 = ((short int(*)(val* self, val* p0))(var_nexpr->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nexpr, var_other40); /* == on */ -} -var42 = !var41; -var38 = var42; -goto RET_LABEL39; -RET_LABEL39:(void)0; -} -var37 = var38; -} -if (var37){ -{ -{ /* Inline modelize_property#AAttrPropdef#mtype (self) on */ -var45 = self->attrs[COLOR_nitc__modelize_property__AAttrPropdef___mtype].val; /* _mtype on */ -var43 = var45; -RET_LABEL44:(void)0; -} -} -var_mtype = var43; -{ -var46 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(var_v, var_nexpr, var_mtype); -} -} else { -} -{ -{ /* Inline parser_nodes#AAttrPropdef#n_block (self) on */ -var49 = self->attrs[COLOR_nitc__parser_nodes__AAttrPropdef___n_block].val; /* _n_block on */ -var47 = var49; -RET_LABEL48:(void)0; -} -} -var_nblock = var47; -if (var_nblock == NULL) { -var50 = 0; /* is null */ -} else { -var50 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_nblock,((val*)NULL)) on */ -var_other40 = ((val*)NULL); -{ -var53 = ((short int(*)(val* self, val* p0))(var_nblock->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nblock, var_other40); /* == on */ -} -var54 = !var53; -var51 = var54; -goto RET_LABEL52; -RET_LABEL52:(void)0; -} -var50 = var51; -} -if (var50){ -{ -nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v, var_nblock); /* Direct call typing#TypeVisitor#visit_stmt on */ -} -{ -{ /* Inline flow#AExpr#after_flow_context (var_nblock) on */ -var57 = var_nblock->attrs[COLOR_nitc__flow__AExpr___after_flow_context].val; /* _after_flow_context on */ -var55 = var57; -RET_LABEL56:(void)0; -} -} -if (var55 == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 826); -fatal_exit(1); -} else { -var58 = nitc___nitc__FlowContext___is_unreachable(var55); -} -var59 = !var58; -if (var59){ -if (likely(varonce!=NULL)) { -var60 = varonce; -} else { -var61 = "Error: reached end of block; expected `return`."; -var62 = core__flat___NativeString___to_s_full(var61, 47l, 47l); -var60 = var62; -varonce = var60; -} -{ -nitc__typing___nitc__typing__TypeVisitor___error(var_v, self, var60); /* Direct call typing#TypeVisitor#error on */ -} -} else { -} -} else { -} -RET_LABEL:; -} -/* method typing#AExpr#mtype for (self: AExpr): nullable MType */ -val* nitc__typing___AExpr___mtype(val* self) { -val* var /* : nullable MType */; -val* var1 /* : nullable MType */; -var1 = self->attrs[COLOR_nitc__typing__AExpr___mtype].val; /* _mtype on */ -var = var1; -RET_LABEL:; -return var; -} -/* method typing#AExpr#mtype= for (self: AExpr, nullable MType) */ -void nitc__typing___AExpr___mtype_61d(val* self, val* p0) { -self->attrs[COLOR_nitc__typing__AExpr___mtype].val = p0; /* _mtype on */ -RET_LABEL:; -} -/* method typing#AExpr#is_typed for (self: AExpr): Bool */ -short int nitc__typing___AExpr___is_typed(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_nitc__typing__AExpr___is_typed].s; /* _is_typed on */ -var = var1; -RET_LABEL:; -return var; -} -/* method typing#AExpr#is_typed= for (self: AExpr, Bool) */ -void nitc__typing___AExpr___is_typed_61d(val* self, short int p0) { -self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = p0; /* _is_typed on */ -RET_LABEL:; -} -/* method typing#AExpr#implicit_cast_to for (self: AExpr): nullable MType */ -val* nitc__typing___AExpr___implicit_cast_to(val* self) { -val* var /* : nullable MType */; -val* var1 /* : nullable MType */; -var1 = self->attrs[COLOR_nitc__typing__AExpr___implicit_cast_to].val; /* _implicit_cast_to on */ -var = var1; -RET_LABEL:; -return var; -} -/* method typing#AExpr#implicit_cast_to= for (self: AExpr, nullable MType) */ -void nitc__typing___AExpr___implicit_cast_to_61d(val* self, val* p0) { -self->attrs[COLOR_nitc__typing__AExpr___implicit_cast_to].val = p0; /* _implicit_cast_to on */ -RET_LABEL:; -} -/* method typing#AExpr#its_variable for (self: AExpr): nullable Variable */ -val* nitc__typing___AExpr___its_variable(val* self) { -val* var /* : nullable Variable */; -var = ((val*)NULL); -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method typing#AExpr#accept_typing for (self: AExpr, TypeVisitor) */ -void nitc__typing___AExpr___accept_typing(val* self, val* p0) { -val* var_v /* var v: TypeVisitor */; -val* var /* : NativeArray[String] */; -static val* varonce; -static val* varonce1; -val* var2 /* : String */; -char* var3 /* : NativeString */; -val* var4 /* : String */; -val* var5 /* : String */; -val* var6 /* : String */; -var_v = p0; -if (unlikely(varonce==NULL)) { -var = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String); -if (likely(varonce1!=NULL)) { -var2 = varonce1; -} else { -var3 = "no implemented accept_typing for "; -var4 = core__flat___NativeString___to_s_full(var3, 33l, 33l); -var2 = var4; -varonce1 = var2; -} -((struct instance_core__NativeArray*)var)->values[0]=var2; -} else { -var = varonce; -varonce = NULL; -} -{ -var5 = core__abstract_text___Object___class_name(self); -} -((struct instance_core__NativeArray*)var)->values[1]=var5; -{ -var6 = ((val*(*)(val* self))(var->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var); /* native_to_s on */ -} -varonce = var; -{ -nitc__typing___nitc__typing__TypeVisitor___error(var_v, self, var6); /* Direct call typing#TypeVisitor#error on */ -} -RET_LABEL:; -} -/* method typing#AExpr#comprehension for (self: AExpr): nullable AArrayExpr */ -val* nitc__typing___AExpr___comprehension(val* self) { -val* var /* : nullable AArrayExpr */; -val* var1 /* : nullable AArrayExpr */; -var1 = self->attrs[COLOR_nitc__typing__AExpr___comprehension].val; /* _comprehension on */ -var = var1; -RET_LABEL:; -return var; -} -/* method typing#AExpr#comprehension= for (self: AExpr, nullable AArrayExpr) */ -void nitc__typing___AExpr___comprehension_61d(val* self, val* p0) { -self->attrs[COLOR_nitc__typing__AExpr___comprehension].val = p0; /* _comprehension on */ -RET_LABEL:; -} -/* method typing#AExpr#vararg_decl for (self: AExpr): Int */ -long nitc__typing___AExpr___vararg_decl(val* self) { -long var /* : Int */; -long var1 /* : Int */; -var1 = self->attrs[COLOR_nitc__typing__AExpr___vararg_decl].l; /* _vararg_decl on */ -var = var1; -RET_LABEL:; -return var; -} -/* method typing#AExpr#vararg_decl= for (self: AExpr, Int) */ -void nitc__typing___AExpr___vararg_decl_61d(val* self, long p0) { -self->attrs[COLOR_nitc__typing__AExpr___vararg_decl].l = p0; /* _vararg_decl on */ -RET_LABEL:; -} -/* method typing#ABlockExpr#accept_typing for (self: ABlockExpr, TypeVisitor) */ -void nitc__typing___ABlockExpr___AExpr__accept_typing(val* self, val* p0) { -val* var_v /* var v: TypeVisitor */; -val* var /* : ANodes[AExpr] */; -val* var2 /* : ANodes[AExpr] */; -val* var_ /* var : ANodes[AExpr] */; -val* var3 /* : Iterator[ANode] */; -val* var_4 /* var : Iterator[AExpr] */; -short int var5 /* : Bool */; -val* var6 /* : nullable Object */; -val* var_e /* var e: AExpr */; -var_v = p0; -{ -{ /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ -var2 = self->attrs[COLOR_nitc__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", FILE_nitc__parser_nodes, 1744); -fatal_exit(1); -} -var = var2; -RET_LABEL1:(void)0; -} -} -var_ = var; -{ -var3 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_); -} -var_4 = var3; -for(;;) { -{ -var5 = ((short int(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_4); /* is_ok on */ -} -if (var5){ -} else { -goto BREAK_label; -} -{ -var6 = ((val*(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_4); /* item on */ -} -var_e = var6; -{ -nitc__typing___nitc__typing__TypeVisitor___visit_stmt(var_v, var_e); /* Direct call typing#TypeVisitor#visit_stmt on */ -} -{ -((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_4); /* next on */ -} -} -BREAK_label: (void)0; -{ -((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_4); /* finish on */ -} -{ -{ /* Inline typing#AExpr#is_typed= (self,1) on */ -self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on */ -RET_LABEL7:(void)0; -} -} -RET_LABEL:; -} -/* method typing#ABlockExpr#mtype for (self: ABlockExpr): nullable MType */ -val* nitc__typing___ABlockExpr___AExpr__mtype(val* self) { -val* var /* : nullable MType */; -val* var1 /* : ANodes[AExpr] */; -val* var3 /* : ANodes[AExpr] */; -short int var4 /* : Bool */; -val* var5 /* : ANodes[AExpr] */; -val* var7 /* : ANodes[AExpr] */; -val* var8 /* : nullable Object */; -val* var9 /* : nullable MType */; -{ -{ /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ -var3 = self->attrs[COLOR_nitc__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1744); -fatal_exit(1); -} -var1 = var3; -RET_LABEL2:(void)0; -} -} -{ -var4 = nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var1); -} -if (var4){ -var = ((val*)NULL); -goto RET_LABEL; -} else { -} -{ -{ /* Inline parser_nodes#ABlockExpr#n_expr (self) on */ -var7 = self->attrs[COLOR_nitc__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var7 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1744); -fatal_exit(1); -} -var5 = var7; -RET_LABEL6:(void)0; -} -} -{ -var8 = core___core__SequenceRead___last(var5); -} -{ -var9 = ((val*(*)(val* self))(var8->class->vft[COLOR_nitc__typing__AExpr__mtype]))(var8); /* mtype on */ -} -var = var9; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method typing#AVardeclExpr#accept_typing for (self: AVardeclExpr, TypeVisitor) */ -void nitc__typing___AVardeclExpr___AExpr__accept_typing(val* self, val* p0) { -val* var_v /* var v: TypeVisitor */; -val* var /* : nullable Variable */; -val* var2 /* : nullable Variable */; -val* var_variable /* var variable: nullable Variable */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; -val* var9 /* : nullable AType */; -val* var11 /* : nullable AType */; -val* var_ntype /* var ntype: nullable AType */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; -short int var15 /* : Bool */; -short int var17 /* : Bool */; -val* var_mtype /* var mtype: nullable MType */; -val* var18 /* : nullable MType */; -short int var19 /* : Bool */; -short int var20 /* : Bool */; -short int var22 /* : Bool */; -short int var24 /* : Bool */; -val* var25 /* : nullable AExpr */; -val* var27 /* : nullable AExpr */; -val* var_nexpr /* var nexpr: nullable AExpr */; -short int var28 /* : Bool */; -short int var29 /* : Bool */; -val* var_other31 /* var other: nullable Object */; -short int var32 /* : Bool */; -short int var33 /* : Bool */; -short int var34 /* : Bool */; -short int var35 /* : Bool */; -short int var37 /* : Bool */; -short int var38 /* : Bool */; -val* var39 /* : nullable MType */; -val* var_etype /* var etype: nullable MType */; -short int var40 /* : Bool */; -short int var41 /* : Bool */; -short int var43 /* : Bool */; -short int var45 /* : Bool */; -short int var46 /* : Bool */; -short int var47 /* : Bool */; -short int var49 /* : Bool */; -short int var50 /* : Bool */; -val* var51 /* : ModelBuilder */; -val* var53 /* : ModelBuilder */; -static val* varonce; -val* var54 /* : String */; -char* var55 /* : NativeString */; -val* var56 /* : String */; -val* var58 /* : NativeArray[String] */; -static val* varonce57; -static val* varonce59; -val* var60 /* : String */; -char* var61 /* : NativeString */; -val* var62 /* : String */; -static val* varonce63; -val* var64 /* : String */; -char* var65 /* : NativeString */; -val* var66 /* : String */; -val* var67 /* : String */; -val* var69 /* : String */; -val* var70 /* : String */; -val* var71 /* : nullable MType */; -short int var72 /* : Bool */; -short int var73 /* : Bool */; -short int var75 /* : Bool */; -short int var77 /* : Bool */; -val* var_decltype /* var decltype: nullable MType */; -short int var78 /* : Bool */; -short int var79 /* : Bool */; -short int var80 /* : Bool */; -short int var82 /* : Bool */; -short int var84 /* : Bool */; -short int var_ /* var : Bool */; -short int var85 /* : Bool */; -int cltype; -int idtype; -static val* varonce86; -val* var87 /* : String */; -char* var88 /* : NativeString */; -val* var89 /* : String */; -val* var90 /* : nullable MClass */; -val* var_objclass /* var objclass: nullable MClass */; -short int var91 /* : Bool */; -short int var92 /* : Bool */; -short int var94 /* : Bool */; -short int var96 /* : Bool */; -val* var97 /* : MClassType */; -val* var99 /* : MClassType */; -val* var100 /* : MType */; -short int var101 /* : Bool */; -short int var102 /* : Bool */; -short int var104 /* : Bool */; -short int var106 /* : Bool */; -var_v = p0; -{ -{ /* Inline scope#AVardeclExpr#variable (self) on */ -var2 = self->attrs[COLOR_nitc__scope__AVardeclExpr___variable].val; /* _variable on */ -var = var2; -RET_LABEL1:(void)0; -} -} -var_variable = var; -if (var_variable == NULL) { -var3 = 1; /* is null */ -} else { -var3 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_variable,((val*)NULL)) on */ -var_other = ((val*)NULL); -{ -{ /* Inline kernel#Object#is_same_instance (var_variable,var_other) on */ -var8 = var_variable == var_other; -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; -} -} -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; -} -var3 = var4; -} -if (var3){ -goto RET_LABEL; -} else { -} -{ -{ /* Inline parser_nodes#AVardeclExpr#n_type (self) on */ -var11 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_type].val; /* _n_type on */ -var9 = var11; -RET_LABEL10:(void)0; -} -} -var_ntype = var9; -if (var_ntype == NULL) { -var12 = 1; /* is null */ -} else { -var12 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_ntype,((val*)NULL)) on */ -var_other = ((val*)NULL); -{ -{ /* Inline kernel#Object#is_same_instance (var_ntype,var_other) on */ -var17 = var_ntype == var_other; -var15 = var17; -goto RET_LABEL16; -RET_LABEL16:(void)0; -} -} -var13 = var15; -goto RET_LABEL14; -RET_LABEL14:(void)0; -} -var12 = var13; -} -if (var12){ -var_mtype = ((val*)NULL); -} else { -{ -var18 = nitc__typing___nitc__typing__TypeVisitor___resolve_mtype(var_v, var_ntype); -} -var_mtype = var18; -if (var_mtype == NULL) { -var19 = 1; /* is null */ -} else { -var19 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ -var_other = ((val*)NULL); -{ -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var24 = var_mtype == var_other; -var22 = var24; -goto RET_LABEL23; -RET_LABEL23:(void)0; -} -} -var20 = var22; -goto RET_LABEL21; -RET_LABEL21:(void)0; -} -var19 = var20; -} -if (var19){ -goto RET_LABEL; -} else { -} -} -{ -{ /* Inline parser_nodes#AVardeclExpr#n_expr (self) on */ -var27 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on */ -var25 = var27; -RET_LABEL26:(void)0; -} -} -var_nexpr = var25; -if (var_nexpr == NULL) { -var28 = 0; /* is null */ -} else { -var28 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_nexpr,((val*)NULL)) on */ -var_other31 = ((val*)NULL); -{ -var32 = ((short int(*)(val* self, val* p0))(var_nexpr->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nexpr, var_other31); /* == on */ -} -var33 = !var32; -var29 = var33; -goto RET_LABEL30; -RET_LABEL30:(void)0; -} -var28 = var29; -} -if (var28){ -if (var_mtype == NULL) { -var34 = 0; /* is null */ -} else { -var34 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_mtype,((val*)NULL)) on */ -var_other31 = ((val*)NULL); -{ -var37 = ((short int(*)(val* self, val* p0))(var_mtype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mtype, var_other31); /* == on */ -} -var38 = !var37; -var35 = var38; -goto RET_LABEL36; -RET_LABEL36:(void)0; -} -var34 = var35; -} -if (var34){ -{ -var39 = nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(var_v, var_nexpr, var_mtype); -} -var_etype = var39; -if (var_etype == NULL) { -var40 = 0; /* cannot be null */ -} else { -{ /* Inline kernel#Object#== (var_etype,var_mtype) on */ -var_other = var_mtype; -{ -{ /* Inline kernel#Object#is_same_instance (var_etype,var_other) on */ -var45 = var_etype == var_other; -var43 = var45; -goto RET_LABEL44; -RET_LABEL44:(void)0; -} -} -var41 = var43; -goto RET_LABEL42; -RET_LABEL42:(void)0; -} -var40 = var41; -} -if (var40){ -if (var_ntype == NULL) { -var46 = 0; /* is null */ -} else { -var46 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_ntype,((val*)NULL)) on */ -var_other31 = ((val*)NULL); -{ -var49 = ((short int(*)(val* self, val* p0))(var_ntype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ntype, var_other31); /* == on */ -} -var50 = !var49; -var47 = var50; -goto RET_LABEL48; -RET_LABEL48:(void)0; -} -var46 = var47; -} -if (unlikely(!var46)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 911); -fatal_exit(1); -} -{ -{ /* Inline typing#TypeVisitor#modelbuilder (var_v) on */ -var53 = var_v->attrs[COLOR_nitc__typing__TypeVisitor___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var53 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 35); -fatal_exit(1); -} -var51 = var53; -RET_LABEL52:(void)0; -} -} -if (likely(varonce!=NULL)) { -var54 = varonce; -} else { -var55 = "useless-type"; -var56 = core__flat___NativeString___to_s_full(var55, 12l, 12l); -var54 = var56; -varonce = var54; -} -if (unlikely(varonce57==NULL)) { -var58 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce59!=NULL)) { -var60 = varonce59; -} else { -var61 = "Warning: useless type definition for variable `"; -var62 = core__flat___NativeString___to_s_full(var61, 47l, 47l); -var60 = var62; -varonce59 = var60; -} -((struct instance_core__NativeArray*)var58)->values[0]=var60; -if (likely(varonce63!=NULL)) { -var64 = varonce63; -} else { -var65 = "`"; -var66 = core__flat___NativeString___to_s_full(var65, 1l, 1l); -var64 = var66; -varonce63 = var64; -} -((struct instance_core__NativeArray*)var58)->values[2]=var64; -} else { -var58 = varonce57; -varonce57 = NULL; -} -{ -{ /* Inline scope#Variable#name (var_variable) on */ -var69 = var_variable->attrs[COLOR_nitc__scope__Variable___name].val; /* _name on */ -if (unlikely(var69 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 36); -fatal_exit(1); -} -var67 = var69; -RET_LABEL68:(void)0; -} -} -((struct instance_core__NativeArray*)var58)->values[1]=var67; -{ -var70 = ((val*(*)(val* self))(var58->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var58); /* native_to_s on */ -} -varonce57 = var58; -{ -nitc___nitc__ModelBuilder___advice(var51, var_ntype, var54, var70); /* Direct call modelbuilder_base#ModelBuilder#advice on */ -} -} else { -} -} else { -{ -var71 = nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v, var_nexpr); -} -var_mtype = var71; -if (var_mtype == NULL) { -var72 = 1; /* is null */ -} else { -var72 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ -var_other = ((val*)NULL); -{ -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var77 = var_mtype == var_other; -var75 = var77; -goto RET_LABEL76; -RET_LABEL76:(void)0; -} -} -var73 = var75; -goto RET_LABEL74; -RET_LABEL74:(void)0; -} -var72 = var73; -} -if (var72){ -goto RET_LABEL; -} else { -} -} -} else { -} -var_decltype = var_mtype; -if (var_mtype == NULL) { -var79 = 1; /* is null */ -} else { -var79 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ -var_other = ((val*)NULL); -{ -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var84 = var_mtype == var_other; -var82 = var84; -goto RET_LABEL83; -RET_LABEL83:(void)0; -} -} -var80 = var82; -goto RET_LABEL81; -RET_LABEL81:(void)0; -} -var79 = var80; -} -var_ = var79; -if (var79){ -var78 = var_; -} else { -/* isa MNullType */ -cltype = type_nitc__MNullType.color; -idtype = type_nitc__MNullType.id; -if(cltype >= var_mtype->type->table_size) { -var85 = 0; -} else { -var85 = var_mtype->type->type_table[cltype] == idtype; -} -var78 = var85; -} -if (var78){ -if (likely(varonce86!=NULL)) { -var87 = varonce86; -} else { -var88 = "Object"; -var89 = core__flat___NativeString___to_s_full(var88, 6l, 6l); -var87 = var89; -varonce86 = var87; -} -{ -var90 = nitc__typing___nitc__typing__TypeVisitor___get_mclass(var_v, self, var87); -} -var_objclass = var90; -if (var_objclass == NULL) { -var91 = 1; /* is null */ -} else { -var91 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_objclass,((val*)NULL)) on */ -var_other = ((val*)NULL); -{ -{ /* Inline kernel#Object#is_same_instance (var_objclass,var_other) on */ -var96 = var_objclass == var_other; -var94 = var96; -goto RET_LABEL95; -RET_LABEL95:(void)0; -} -} -var92 = var94; -goto RET_LABEL93; -RET_LABEL93:(void)0; -} -var91 = var92; -} -if (var91){ -goto RET_LABEL; -} else { -} -{ -{ /* Inline model#MClass#mclass_type (var_objclass) on */ -var99 = var_objclass->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var99 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 507); -fatal_exit(1); -} -var97 = var99; -RET_LABEL98:(void)0; -} -} -{ -var100 = nitc___nitc__MType___as_nullable(var97); -} -var_decltype = var100; -if (var_mtype == NULL) { -var101 = 1; /* is null */ -} else { -var101 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ -var_other = ((val*)NULL); -{ -{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ -var106 = var_mtype == var_other; -var104 = var106; -goto RET_LABEL105; -RET_LABEL105:(void)0; -} -} -var102 = var104; -goto RET_LABEL103; -RET_LABEL103:(void)0; -} -var101 = var102; -} -if (var101){ -var_mtype = var_decltype; -} else { -} -} else { -} -{ -{ /* Inline typing#Variable#declared_type= (var_variable,var_decltype) on */ -var_variable->attrs[COLOR_nitc__typing__Variable___declared_type].val = var_decltype; /* _declared_type on */ -RET_LABEL107:(void)0; -} -} -{ -nitc__typing___nitc__typing__TypeVisitor___set_variable(var_v, self, var_variable, var_mtype); /* Direct call typing#TypeVisitor#set_variable on */ -} -{ -{ /* Inline typing#AExpr#mtype= (self,var_mtype) on */ -self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var_mtype; /* _mtype on */ -RET_LABEL108:(void)0; -} -} -{ -{ /* Inline typing#AExpr#is_typed= (self,1) on */ -self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on */ -RET_LABEL109:(void)0; -} -} -RET_LABEL:; -} -/* method typing#AVarExpr#its_variable for (self: AVarExpr): nullable Variable */ -val* nitc__typing___AVarExpr___AExpr__its_variable(val* self) { -val* var /* : nullable Variable */; -val* var1 /* : nullable Variable */; -val* var3 /* : nullable Variable */; -{ -{ /* Inline scope#AVarFormExpr#variable (self) on */ -var3 = self->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val; /* _variable on */ -var1 = var3; -RET_LABEL2:(void)0; -} -} -var = var1; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method typing#AVarExpr#accept_typing for (self: AVarExpr, TypeVisitor) */ -void nitc__typing___AVarExpr___AExpr__accept_typing(val* self, val* p0) { -val* var_v /* var v: TypeVisitor */; -val* var /* : nullable Variable */; -val* var2 /* : nullable Variable */; -val* var_variable /* var variable: nullable Variable */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; -val* var9 /* : nullable MType */; -val* var_mtype /* var mtype: nullable MType */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; -val* var_other13 /* var other: nullable Object */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -var_v = p0; -{ -{ /* Inline scope#AVarFormExpr#variable (self) on */ -var2 = self->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val; /* _variable on */ -var = var2; -RET_LABEL1:(void)0; -} -} -var_variable = var; -if (var_variable == NULL) { -var3 = 1; /* is null */ -} else { -var3 = 0; /* arg is null but recv is not */ -} -if (0) { -{ /* Inline kernel#Object#== (var_variable,((val*)NULL)) on */ -var_other = ((val*)NULL); -{ -{ /* Inline kernel#Object#is_same_instance (var_variable,var_other) on */ -var8 = var_variable == var_other; -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; -} -} -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; -} -var3 = var4; -} -if (var3){ -goto RET_LABEL; -} else { -} -{ -var9 = nitc__typing___nitc__typing__TypeVisitor___get_variable(var_v, self, var_variable); -} -var_mtype = var9; -if (var_mtype == NULL) { -var10 = 0; /* is null */ -} else { -var10 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_mtype,((val*)NULL)) on */ -var_other13 = ((val*)NULL); -{ -var14 = ((short int(*)(val* self, val* p0))(var_mtype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mtype, var_other13); /* == on */ -} -var15 = !var14; -var11 = var15; -goto RET_LABEL12; -RET_LABEL12:(void)0; -} -var10 = var11; -} -if (var10){ -} else { -} -{ -{ /* Inline typing#AExpr#mtype= (self,var_mtype) on */ -self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var_mtype; /* _mtype on */ -RET_LABEL16:(void)0; -} } RET_LABEL:; }